Hacker News new | ask | show | jobs
by SpookyAction 5537 days ago
I agree with the generalities of the response but disagree with some of the particulars. Learning programming should be language agnostic. The "best" language is the one that works for you. Everyone is different and every language is different, some work for some but not others. I'm primarily a Perl person, not that Python is bad, but it's not my language of choice. I advise experimenting with different languages and finding the one that best suits your mindset and needs. For me, Perl is the one that "clicked" with me. I like using it and am productive in it. I've experimented with many other languages (Python included), but Perl just fit me the best. I see the power of other languages and am constantly impressed by what I see others doing in different languages, but ultimately the "best" language is the one that works for you. Even when it comes down to development tools, I'm a vi person. Emacs has it's benefits, but I prefer vi. Pick what works for you. For web development the LAMP stack (Linux, Apache, MySQL, PHP) is arguably the most popular. Most of the open-source CMS platforms such as Drupal and Joomla use it. Facebook is built in PHP on Apache and Linux. I respect PHP as a web programming language, it's accessible, has many of the conveniences of Perl (without many of the idiosyncrasies) and is web-centric. There's a reason it's popular on the web. Experiment and pick what seems to work best for you. There's no single solution. As we say in the Perl world, TMTOWTDI, There's More Than One Way To do It.
1 comments

> I advise experimenting with different languages and finding the one that best suits your mindset and needs.

The problem is, someone who is just starting doesn't even know what to look for. They don't know their mindset or needs, yet.

The OP advice should be taken as "these are good defaults, when you grow older you'll be able to tell what to change and, more importantly, why to change".

But at the same token, just saying "use this language" presents the same problem. What if Python doesn't work for the OP but picks it because he/she was "told" too. Maybe the OP is a math-centric person and would excel at a functional language, but didn't know anything about them because they were never informed. I think the better answer would be to recommend a few languages and let the OP decide what works for them. There's plenty of good information about all the major languages on the web, including tutorials. After you go through a few tutorials you'll know if that language works for you or not.