I started with C and it took me 3 good years fooling around with other languages too to get a "good" understanding of C. Better learn with higher level languages indeed...
How common is it for people to get better understanding by travelling in other programming cultures ? My personal experience goes this way but I rarely hear it.
I'm not the parent poster but in my opinion, any language that doesn't frustrate the beginner is fine. The most important thing for learning is practice and if that is not fun people will end up quiting to do something else.
I hesitated to say that, but to me the most important part is paradigm and structures/patterns. lisp will teach you untyped tree recursion and metalevel perspective. ml/haskell will teach you typed composition. prolog goal based space exploration. forth stacks. APL arrays. C/Pascal etc are supposed to teach you 'imperative' but I believe imperative is mostly a conflation of lots of things, mutable state.. at best you'll learn state machines.
What I like the most in python is, until you peek too much below, the curated features that make it small yet expressive:
- tiny set of builtins: list, dict, set
- literal
- slices
- small syntax, and canonical indentation
- simple mapping between some operators and class methods
you have enough to abstract a bit but not too much without drowning in details.
Yeah and another good thing I like about Python, it doesn't force you to do object oriented. A beginner doesn't really need this. Its like if you begin with C, you'll have to deal with pointers early, and that means understanding things like memory, stack and heap allocations, safety, etc... Way too much for a new coder.
How common is it for people to get better understanding by travelling in other programming cultures ? My personal experience goes this way but I rarely hear it.