3 ms·
> I don't want to teach OO concepts Does python really force this? I can see this being the with java -- a language often used in intro to CS courses.
by pthread_t 5y ago
> I don't want to teach OO concepts
Does python really force this? I can see this being the with java -- a language often used in intro to CS courses.
- Jtsummers 5y agoIt doesn't. Python is actually a pretty good language for teaching algorithms, you never need to type "defclass" unless you want to. You do, kind of, have to use methods, but that's not a huge burden for a learner compared to the other things they have to learn. Also, if you're using a language-agnostic algorithms textbook (in a course, solo, or as a mentor) then Python is very close to the pseudocode in most of those.
- anonporridge 5y agoPython's closeness to pseudocode is one reason why it makes a fantastic choice for whiteboard coding interviews. I've personally had interviewers frustrated that I solve problems correctly so much faster than they expected. And not only correctly, but to the point where I could type what I wrote verbatim into the interpreter and prove that it actually works.
- bitwize 5y agoPython is pretty much zoomer BASIC. I think it's a pretty good choice for those early painful bits of learning how to program, when you have to understand that a program is sequenced instructions to a computer, that the effect of an instruction depends on what happened before, etc. You can write a complete Python program without defining a class or invoking an object. These concepts can be introduced after the learner has the basics down pat.
- RodgerTheGreat 5y agoPython the language itself, perhaps not. The standard library, on the other hand, is a random hodgepodge of imperative, OOP, and functional styles, and the greater library ecosystem is no different.