Live data from Hacker News

What programming language should I start with?

news.ycombinator.com

51–60 of 117 posts

Re: What programming language should I start with?

#51
post #6

Personally I think Python is easier to learn than Ruby; it takes a while to wrap one's newbish head around blocks, which are fundamental in Ruby.

I found the opposite to be true. Objects in Python are uncomfortable for newbies, while they are very intuitive in Ruby. Both are fine learning languages, however.

Re: What programming language should I start with?

#52
post #22

If you want to learn to program then C. That's right learn C. C is the language that the operating system you're using is written in, not to mention several of these other programming languages (the main implementation of Python or Ruby, for example). Is this language easy? No. Is it right for newbies? Maybe, maybe not. If you want the least amount of abstraction and don't want a bunch of stuff in your way, learn C.…

Don't listen to him!

C is a valuable language for a large class of problems. But don't learn it unless you want to be a real serious systems-level software engineer. If you just want to write software for the web (even large-scale apps), don't waste months on the intricacies of pointer arithmetic and memory management.

That said, I learned C, and it didn't hurt me any. But I doubt it really helped much either.

Re: What programming language should I start with?

#53
post #17

Here are the languages that have big communities: Perl, Python, Ruby, PHP, Javascript, C#/VB.NET and Java. Subscribe to lots of blogs from each community. (Many of them have planet aggregators like "Planet Python" and "Planet Ruby".) Also visit local user groups, wherever your are. Read/visit them for a while -- say a month or two. Whichever community makes you go, "wow, that's cool" -- join that community and learn…

Excellent advice. Non-religious, informative, and true.

Re: What programming language should I start with?

#54
post #31
post #3

Earlier quoted context omitted.

Ruby or Python? I'm getting mixed signals!

Try both and see which one feels better. For what it's worth, Ruby programmers are more in demand than python programmers.

"For what it's worth, Ruby programmers are more in demand than python programmers."

Only in one small segment of the industry (the one that hangs out here). Python jobs in almost every other area are more common. And, of course, Perl is still more popular than both. And PHP and Java and C# dwarf all of the interesting languages.

Re: What programming language should I start with?

#55
post #19

If you want to do things right, read SICP and learn Scheme. That's probably the fastest route for going from knowing nothing about programming to being a very good programmer. It's somewhat akin to learning to swim by jumping off the 10m platform, though, so don't get discouraged.

OTOH, he doesn't say he wants to be a very good programmer. He wants to be able to communicate better with other programmers. SICP helps if he wants to talk with the right programmers. :) Otherwise, it may not be the most cost-effective investment.

Re: What programming language should I start with?

#56
post #6

Personally I think Python is easier to learn than Ruby; it takes a while to wrap one's newbish head around blocks, which are fundamental in Ruby.

I found the opposite to be true. Objects in Python are uncomfortable for newbies, while they are very intuitive in Ruby. Both are fine learning languages, however.

What is uncomfortable about Python objects? If it's the explicit self in methods, that will only bother you if you come from a language that implicitly pollutes the local method namespace with that of the object.

Re: What programming language should I start with?

#57
Which ever language you pick, try and pick up a book which shows you how to do functional programming in it. Try and do this before you start writing imperative programs.

It's easier to go from functional to imperative than to go from imperative to functional.

Do you have a friend who is a programmer who will be able to help you setup an environment so that you can write hello world? Then choose the language that she knows.

Like learning anything new, I want to pick a safe first choice where you can spend time building confidence. As soon as you have a bit of a foundation then explore other choices.

Personally I would recommend scheme. The little schemer is an exceptional book for a newbie and I think it's not hard to get scheme setup.

Re: What programming language should I start with?

#58
post #18

The language doesn't matter that much. But read a good theory book on programming. I like "Code Complete" 2nd edition. You'll get all the info on how to be a good programmer. Mainly, concentrate on learning the technology and not a programming language. Programming languages are just tools for a specific job. By technology I mean, web programming, server/client, application, embedded, etc. Each industry has it's own…

Code Complete is not a theory book, and of course no book has all the info on how to be a good programmer.

That book doesn't teach you to program. It is a survey of 'best practices' that may help someone who already has some proficiency.

Re: What programming language should I start with?

#59

I'm learning on Lisp, and it's kind of weird. I'm using Practical Common Lisp ( http://www.gigamonkeys.com/book/ ) and I have to reread chapters a few times to really understand them. I downloaded Lisp in a Box for it, and that is weird because it's rickety. The tutorial isn't there, and it will keep kicking me out of the SLIME. I'm in the middle of a four-month vacation, but progress is pathetic. Lisp in a box and P…

You really need to have a problem in your mind that you want to solve. That makes the task a lot easier. As you can see progress.

Test out that understanding. I bet you know more than you think you know. The purpose of a book like PCL is to be a reference. Scan it properly and go back to it when you need to find something. Intially it will take sometime, then your brain will learn and you won't be looking up so often.

Re: What programming language should I start with?

#60

The question is moot. The concrete language isn't important. What's important are the thought processes and techniques behind program construction. Unfortunately only a few beginner books put the language in the background. My recommendation: Get the book "How to Design Programs". You can check it out at www.htdp.org first.

The concrete language is important because there are languages that are more/less suited to be put in the background.
Post reply on HN