4 ms·
While there are clearly differences between languages, I think it is rather deterministic to put that much weight on the first language? My first language was G
by kristiandupont 17y ago
While there are clearly differences between languages, I think it is rather deterministic to put that much weight on the first language? My first language was GW Basic. By your logic, there wouldn't be much hope for me I guess..
- jimbokun 17y agoI think it's much more important what you choose as a second language. If it is significantly different from the first language in adding new concepts and ways thinking about programming, there is a good chance that between the two of them learning any other new programming language as needed won't seem as daunting. And you will have a wide range of techniques at your disposal regardless of which language you happening to be using in a given project.
- andreyf 17y agoMy first language was C, my second was C++, my third Java. I lost all love for them the moment I learned Scheme, and the all practical use the moment I learned Python. I don't think it really matters what language is first/second/etc, just that you keep searching and finding new ways of thinking.
- loup-vaillant 17y agoYou are among the rare people which are willing to learn, again and again. You'd be surprised how much people (outside HN :-) just won't learn. They are Blub programmers. They will be stuck with whatever Blub language you give to them, even C++. I'm glad you didn't, because I'm not sure I wouldn't. EDIT: Maybe there no such thing as a Blub language (right tool for the job etc). However, Blub programmers do exist: half of my co-workers and maybe even myself (to some extent).
- jimbokun 17y agoMy point is simply that you could have reached your current stage of proficiency as a developer quicker if Scheme immediately followed C. C++, Java, and Python would just seem like relatively minor differences in syntax for concepts with which you are already familiar, assuming you learned C and Scheme well. Of course, the danger is that it can quickly become frustrating to program in the likes of Java once you realize all the things that are simple and straight forward in, say, Scheme but require ridiculous amounts of circumlocution in Java.
- loup-vaillant 17y agoThere is a danger when your first and second language are too different: you may dismiss the second language as being cryptic, especially if it is more concise than the first.
- asnyder 17y ago"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." - Edsger Wybe Dijkstra
- nocman 17y agoIt is always amazing to me how much of a mix Dijkstra was. Many of the hand-written articles of his I read are filled with valuable insights, and are absolutely worth the read. And then there's those other sets of comments (like this one) that make me want to pay no attention to anything he had to say. Of course, this is the guy who said "Computer Science is no more about computers than astronomy is about telescopes." And while I believe I understand his point he was trying to make, I have much higher respect for a person who still likes to get their hands dirty (still actually spends significant time programming computers) rather than just dealing with abstract theory, algorithms, analysis, etc. Yes, I know that Dijkstra knew how to program (and did so, extensively, especially earlier in his career). But this is the guy who never owned his own computer -- even after personal computers became commonplace. That, coupled with the above comment about BASIC (and other comments I've read from him like it) make him come across as kind of an elitist -- like programming is beneath him or something. Perhaps my take is wrong, and it very well could be. But I will say this. If Dijkstra was still alive and well, and you put him, Guy Steele, and Don Knuth in a room and asked me to pick two of the three to spend the day with, Dijkstra would be the one left out in the cold.
- andreyf 17y agoIf Dijkstra was still alive and well, and you put him... No harm, Dijkstra never struck me as the kind of person that would want to spend a day in a room with anyone, either. Computer Science is about studying the computation which can be done in hardware - not just Python, not just on one chipset, not just on a von Neuman machine, but in general. "Programming" as I think you mean it is a very small subset of that.
- nocman 17y ago