Hacker News new | ask | show | jobs
Ask HN: Most practical programming language to learn?
11 points by jckund 5369 days ago
I want to learn programming... where should I start? I already have a basic understanding of CSS, what else is used most frequently by start ups these days? Python/ruby?
9 comments

For python vs ruby:

Why Python over ruby: http://news.ycombinator.com/item?id=682101

Django vs Ruby on Rails: http://news.ycombinator.com/item?id=195423

Python vs ruby in depth: http://news.ycombinator.com/item?id=741257

I use Python, Some resources for learning Python in no particular order:

The Official Python Tutorial - docs.python.org/tutorial/ "Dive Into Python", by Mark Pilgrim - http://diveintopython.org/toc/index.html

"A Byte of Python" - swaroopch.com/notes/Python Google's Intro to Python Class (online) - http://code.google.com/edu/languages/google-python-class/

"The New Boston" Programming Python Tutorials - http://youtube.com/user/thenewboston#g/c/EA1FEF17E1E5C0DA

"Building Skills in Python", by Steven F. Lott - http://homepage.mac.com/s_lott/books/python/html/index.html

"Think Python: How to Think Like a Computer Scientist" - http://greenteapress.com/thinkpython/thinkpython.html

"Code Like a Pythonista: Idiomatic Python" - http://python.net/~goodger/projects/pycon/2007/idiomatic/han...

OpenCourseWare: MIT 6.00 Introduction to Computer Science and Programming - http://ocw.mit.edu/courses/electrical-engineering-and-comput...

"Learn Python the Hard Way" by Zed Shaw - http://learnpythonthehardway.com

Practice Questions at PySchools - http://pyschools.com

Begin Python - http://beginpython.com

More Tutorials - http://awaretek.com/tutorials.html

source: http://www.quora.com/How-can-I-learn-to-program-in-Python

11 hours in and no one suggested JavaScript...I think you guys are all biased.

The rapid growth of MVC client-side frameworks (backbone), the push on the backend (node.js) and its inclusion in a growing number of technologies (MongoDB, CouchDB, ...) would seem to make it, at the very least, worth mentioning.

Repped. Same situation here, our entire backend is setup with this setup (backbone, node, d3, mongoDB). We are looking for developers in these areas, since I'm not a programmer - do you have any good ideas that I can check?
You learn one, you can mess around in all. Go with either Ruby or Python, and you will be fine. I'd go with Ruby, because if you decide to do anything for the web then Rails (Ruby's web framework) is more beginner friendly than Django (Python's web framework).
Just as an anecdote, I found Django much easier to get started with than Rails.
What is your background, if you don't mind me asking.
PHP mostly, I'm a Drupal developer by day. I had no prior experience in Python or Ruby when I tried looking at Django and Rails.
Start with C. When you understand why it is portable across different hardware you can move on to C++. It isn't important to become highly proficient in C++ but it will give you a basic understanding of Object Oriented programming. From there choose JavaScript,python or Ruby to get an understanding of more dynamic languages.

Too many programmers start out with high level languages and never learn what a CPU actually does. If you can't understand basic computer architecture, you will never be competent at optimizing and scaling applications.

I'd recommend "How to Think Like a Computer Scientist: Learning with Python" - http://www.greenteapress.com/thinkpython/thinkCSpy/thinkCSpy...

MIT introductory course that uses this book: http://ocw.mit.edu/courses/electrical-engineering-and-comput...

Don't confuse programming languages with programming. You probably will want to learn a number of different programming languages: Python, C, Lisp, Haskell, and a few Assembly languages. Programming is the art of using one or more languages to do something useful. It's about algorithms, the way problems are approached, and how solutions are decomposed and represented.
Strange that my comment would be down-voted. Language wars are fun and grist for many a comment, but there is more to programming than languages.
Most practical? Python.
I have never met a programmer who couldn't write C++. Python is definitely a good place to start as you can quickly code up something cool.
being able to write hello world in c++ and knowing c++ like a master are two different things.

I wrote a nodejs c-lucene extension in c++ and i still feel like a little baby in c++

go for ruby and pick it up in 10 mins.