Hacker News new | past | comments | ask | show | jobs | submit login
Asked to choose a programming language for a beginner (rachelbythebay.com)
2 points by AllenShi on Nov 25, 2012 | hide | past | favorite | 3 comments



At the end of the post, the advice is "Just pick something and see how far you can get with it."

I have to disagree. I wouldn't point anyone who is non technical towards a language that is not memory managed, nor would I point them to a non mainstream language.

Why point them to a language where they have to worry about memory allocation. While it is important to understand eventually, for most beginners it is a needless complication and chance to shoot yourself in the foot.

Why point them to a non mainstream language whe the number of tutorials, forums and ore resources for help are plentiful with a more popular language. There is tremendous value in learning languages that are wildly different, but for starters, one with lots of support is the best option. Here's a nice post about programming language popularity: http://redmonk.com/sogrady/2012/09/12/language-rankings-9-12.... The languages I would recommend would be in the upper right corner of the graph.

Finally, and most important, what did the beginner want to do? If they wanted to write an excel plugin, steering them to objective C would be a disservice, and if they wanted to build a webpage, choosing something like vb would be a bad idea as well.


The proposed solution already exists, rather the question is being debated is: which language is someone supposed to start with? Everyone is ever shifting from language to language in order to make applications. One programming language has never been enough. The language a person is supposed to start with must provide a guideline to good programming practices and it is supposed to enable one to have the knowledge they need in order to fully explore other languages.


Something short, hard and brutal. C and Haskell or LISP. Then Python.

They both require relatively little time to learn, but are with a very steep learning curve. And the moment you have groked pointers, recursion and monads you are capable of translating whatever is needed into code. Also chances are they are not heavily used in a modern startup. Because when a non technical person decides to become technical - we add a junior developer to the team that just happen to inhabit the body of the designer. And that could be a strain on the already limited resources of the technical cofounders. So you don't need a person that have a habit of "fixing" your stuff to the best of his lack of experience.




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

Search: