Live data from Hacker News

How should I get started with programming? Which language should I learn first?

marco.org

31–35 of 35 posts

Re: How should I get started with programming? Which language should I learn first?

#31
post #26

Earlier quoted context omitted.

On the flip side, it really makes little sense to learn a language that is useless for what you want to do. If what you really want to do is program a microcontroller, it is my opinion that PHP or Python would be a very poor choice in first languages.

I agree that programming a micro-controller would make python a poor choice. That aside, I think its a great language. I don't use it for months at a time. I proceed to forget everything. Shortly after, a need arises so I pick it back up. A week later, I'm a pro again. The error output is what make it so amazing.

That is also why I prefer Python - I'm not a computer scientist, I am a business owner who uses programming as a tool to achieve my goals. Sometimes it's 2 weeks or more between writing code and Python is by far the best language that fits into my workflow.

Re: How should I get started with programming? Which language should I learn first?

#32
post #27

Probably some people would kill me for that answer but i would say you should learn PHP. PHP is simple, good documentation and great community. Facebook is built on top of PHP so as Drupal and Wordpress. But the main point about my recommendation is that PHP is installed everywhere, you don't have to spend much time configuring and doing sysadmin stuff to make it work.

So is Python! I don't feel that a newbie should be learning a web language as his first. It just seems like an unintuitive learning process to me.

Ruby/Python don't have that same "click and drag into FTP client then load up in browser" ease, though.

I'd definitely recommend PHP to anyone who wants to jump into web development.

Re: How should I get started with programming? Which language should I learn first?

#34

I completely agree that the most important thing is to have a concrete objective that you really want to achieve that you are moving towards. However, I disagree that every language is equally hard. There are three challenges in learning programming: syntax, logic, and resource management. Those can be optimized for beginners: Syntax: A syntax that is more natural and less symbolic will be easier to learn. There is a…

On the flip side, it really makes little sense to learn a language that is useless for what you want to do. If what you really want to do is program a microcontroller, it is my opinion that PHP or Python would be a very poor choice in first languages.

Having never done embedded work, I don't have an opinion either way. There are people successfully doing embedded work with Python, though (http://stackoverflow.com/questions/240996/anyone-using-pytho...), though I would probably choose Lua over Python in most cases.

If I were teaching somebody who wanted to do embedded work (and Python/Lua/ really wasn't a deployment option, which is very feasible), I would start them with Python to get them to the point of understanding how programming works, then switch them to a more appropriate language for the project. Teaching the algorithms in Python, then converting them to C is a great way to learn the difference between the languages and to introduce the resource management that occurs.

Re: How should I get started with programming? Which language should I learn first?

#35
post #23

I'm going to break the rules here and answer two languages. First, you should learn one of the easy dynamic languages. This means Perl, PHP, Python, Ruby, Lua, Clojure. I think Ruby is a good choice because it has a lot of cool concepts built in to the core language that the others lack, and so it can be a foundation for learning many different styles of programming -- it does this, in my opinion, better than Python,…

Learning some assembly should be required for anybody who wants to make a career writing software and is very valuable for hobbyists. I don't know that I would start there, but at some point along the way, understanding what that nice, high level language is really doing down at the metal makes for much better engineers.
Post reply on HN