Hacker News new | past | comments | ask | show | jobs | submit login

I think the first language people cut their teeth with will be the language they use to reason about new problems. So it helps for it to be close to the language they will eventually end up using, unless you want to waste a lot of time translating the solution you have in your mind to the language you are required to program in

There's no way this is true. I cut my teeth on Microsoft QuickBasic, and I promise you that QuickBasic has been far from my mind for many years. At this point, I've written programs in about 50 different languages (not all of them professionally): procedural, object-oriented, applicative, concatenative, relational; different paradigms require different "modes of reasoning" to properly wield.

To extend your translation analogy, it's rather like learning a natural language in that at first you might think in your native tongue and translate on-the-fly, but to become fluent you must really internalize the new language and learn to "switch" your thoughts into it. I feel like the linguistic concepts of "registers" and "code switching" apply well to formal languages as well as natural ones.

Really? My first was Fortran IV; my second, after a lapse of a dozen years doing other stuff, was a minicomputer assembly language.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact