Hacker News new | ask | show | jobs
I want to learn programming, which language would you recommend?
3 points by rachnaspace 5721 days ago
I'm non-technical, and I've never done any coding.

I'm thinking of learning a bit of programming, mainly because - if I have some idea, (after validation) I can build a prototype and test it out with real users.

- Which programming language would you recommend and why? - And is there any good source where I can learn it from? Preferably a language that would help if I need to do some social network API integration.

Thank you!

4 comments

Python

Its easy to learn because it has a simple and clear syntax, yet is a powerful language. It allows you to learn various programming concepts one at a time (while other more complex languages may force a bunch of concepts on you before you can do anything useful) and anything you learn will translate to other languages, should you wish to learn others in the future.

Python comes packaged with a large library of pre-written modules and is supported by a lot of third party API's.

Python also has a very active and friendly community of users, so help will be easy to find, should you need it.

Learning Python: http://wiki.python.org/moin/BeginnersGuide

(PS, the same can probably be said for languages like Ruby, but I learned Python first, so have no real experience with Ruby)

Thanks dkersten! I'll check out Python.

What do you think of PHP? Some folks were suggesting that, but I haven't yet checked it out.

If the ideas you hope to prototype live on the web, this is a reasonable choice. However, I don't recommend using PHP as a general programming language.

Python kind of works for everything, if you want to do web dev you can pick up Django, plenty of GUI libraries and it works on all platforms easily.

This is pretty much what I would have said if I'd checked the comments sooner. PHP works well enough for a web language, but if you want to do anything else, its not so great. Python works, IMHO, equally well for web, desktop GUI, shell scripts etc.
thanks!
You need to pick a few languages, research them and find which one interests you the most. Take into account your and the languages philosophies, your end goal or even something as shallow as how the language looks to you.

Note: ruby has tryruby.org and python has trypython.org

Both are good candidates for a first language, and have excellent books available online.

Thanks jeebusroxors! Python seems a good choice from the comments here.

What do you mean by 'language philosophies'? can you pls explain a bit?

The example I had in mind was Perls There's more than one way to do it (TMTOWTDI).

Python is the opposite. They strive for one clear way to do things.

http://en.wikipedia.org/wiki/Theres_more_than_one_way_to_do_...

This may be above your head but just remember, the first language you learn will not be your last. If you end up picking lisp and hate it you can always learn c. _Programming_ is (for the most part) universal between all languages. Once you get the basics you only need to learn the syntax.

Thanks everybody! I'm going to start with Python. Will post my progress on HN after a while :)
This is a little like going to IKEA and saying "I need to furnish my house, what should I buy"? Without knowing more about the intended use of the language, it's hard to give a good answer.

However, if pressed, I would say Javascript. It starts simple (but is not a simple language), you can build slick web pages with it, and you can even build native mobile apps for Android and iPhone (e.g. with using PhoneGap).

I don't have a specific app idea in mind for which I want to learn programming. Mostly, I like consumer web apps, and which may require integration with facebook, twitter APIs.

I'm not looking to build a full blown app myself - rather a quick prototype to test it out with users and if there's traction, then it would make sense for me to team up with engineers and build it out.

Regarding Javascript - as you say, I too have heard that it's not that simple. Some folks were suggesting to start with PHP. I though of checking with HN community on what they recommend.

PHP is also good, but if you want to do some heavy integration with service API I stand by my Javascript suggestion. It's not pedagogical, but then neither is PHP.

If you are a little more serious in your desire to learn programming, than you can learn Java. That way, you can go the GWT route when you need Javascript functionality.

Nobody walks into an IKEA and says "Hey guys, I've never used furniture before, what should I buy?" and unlike furniture, some languages are easier to use than others and are more likely to fit with what you discover later you'd like to do.

I also can't imagine ever recommending anyone learns to program in Javascript.