Do you think the programming language you start with makes that much of a difference?
Yes (and you'll find a lot of advice from experienced hackers emphasizing this point).
If not exactly the first language you start using -- at some point one should definitely start making a serious investment in a language with what we might call "solid bones" (that is, strong CS fundamentals). Or at least wit a high "fundamentals-to-fluff" ratio (and most especially a high "fundamentals-to-cruft" ratio).
Which isn't to say that "fluffy" languages (like Python or Ruby) are always bad. Or that crufty languages (like JS) cannot in some contexts be "good enough" (and certainly good enough to pay the bills).
But the point is, one should at least know (and know through grit and experience; not through second-hand opinion) when one is in a fluffy or crufty environment (and how it is that one got there -- hopefully by being consciously aware of the tradeoffs involved).
A key trait of inexperienced programmers is not that the use or don't use certain languages (or databases, or other tools). It's that they don't recognize situations when they're using an (inordinately) crufty one. For the simple reason that they have... insufficient basis for comparison.
Yes (and you'll find a lot of advice from experienced hackers emphasizing this point).
If not exactly the first language you start using -- at some point one should definitely start making a serious investment in a language with what we might call "solid bones" (that is, strong CS fundamentals). Or at least wit a high "fundamentals-to-fluff" ratio (and most especially a high "fundamentals-to-cruft" ratio).
Which isn't to say that "fluffy" languages (like Python or Ruby) are always bad. Or that crufty languages (like JS) cannot in some contexts be "good enough" (and certainly good enough to pay the bills).
But the point is, one should at least know (and know through grit and experience; not through second-hand opinion) when one is in a fluffy or crufty environment (and how it is that one got there -- hopefully by being consciously aware of the tradeoffs involved).
A key trait of inexperienced programmers is not that the use or don't use certain languages (or databases, or other tools). It's that they don't recognize situations when they're using an (inordinately) crufty one. For the simple reason that they have... insufficient basis for comparison.