

I want to learn programming, which language would you recommend? - rachnaspace

I'm non-technical, and I've never done any coding.<p>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.<p>- 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.<p>Thank you!
======
dkersten
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)

~~~
rachnaspace
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.

~~~
twymer
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.

~~~
dkersten
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.

------
jeebusroxors
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.

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

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

~~~
jeebusroxors
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_...](http://en.wikipedia.org/wiki/Theres_more_than_one_way_to_do_it)

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.

------
rachnaspace
Thanks everybody! I'm going to start with Python. Will post my progress on HN
after a while :)

------
Jun8
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).

~~~
rachnaspace
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.

~~~
Jun8
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.

