3 ms·
I would personally de-recommend Python. It essentially has no unique paradigm or even one that it does really well. I'd replace the Python suggestion with an ML
by bmitc 5y ago
I would personally de-recommend Python. It essentially has no unique paradigm or even one that it does really well. I'd replace the Python suggestion with an ML-dialect such as F# or Ocaml. I agree with you though. I think everyone needs a bit of experience with a Lisp/Scheme, an ML dialect, a Smalltalk, Elixir/Erlang, Prolog, and Forth.
And I think it's better to think in paradigms rather than languages in that you choose a new language to learn a new paradigm.
- lcuff 5y agoThe main thing I was thinking (I don't use Python myself) was that it's super-popular right now, and fits in the realm of 'a scripting language'. I'm loathe to recommend bash for what I hope are obvious reasons, and I have worked in and detested Perl. I prefer Ruby for small bits of scripting this and that, but chose Python because of it's popularity.
- kazinator 5y agoPython contains CS clusterfumbles like calling evaluated expressions "literals", failing to distinguish between variable initialization and assignment, and evaluating the default expressions of optional arguments at function definition time, rather than call time. Someone learning CS who already knows Python has to unlearn and relearn material in the area of programming language semantics. Python is fine for introducing complete beginners to algorithmic thinking. Almost anything is.