Live data from Hacker News

Ask HN: What programming language do you recommend starting with?

news.ycombinator.com

1–10 of 28 posts

Re: Ask HN: What programming language do you recommend starting with?

#2
If I were some alien coming to Earth and asked myself what language to learn, I'd start with English, not Latin. English seems like a pretty obvious start when trying to communicate the earthling's way. Then, once I've mastered English, I'd drill a bit and find out about its roots and cousins: French, German, Latin, ancient Greek, etc. Then I would learn Chinese.

So my first question would be: What's English equivalent in programming languages? PHP? Java? C? Then, because programming languages have entered in a very fast paced evolution period recently, with new languages popping out every given month, what programming language the most prominent programmer elites are using right now? Go? Any other C variant? JS? Ruby? Etc.?

Re: Ask HN: What programming language do you recommend starting with?

#3
If you are serious about thinking that Latin would be a good precursor to learning other languages, then I would recommend that you learn Scheme. Scheme is a dialect of Lisp, which was one of the first programming languages. Scheme was designed to be used to teach the fundamentals of programming, and was used for quite a while at MIT in their introductory programming course. The textbook that was used for the course (Structure and Interpretation of Computer Programs) is freely available online, as are quite a few video lectures that teach from the book.

There is another dialect of Scheme called Racket, that has an entire development environment intended to make it easy to learn Scheme. Racket uses another book titled "How to Design Programs", that is also freely available online.

Learning Scheme will give you a solid foundation in the fundamental concepts of programming.

If you would rather start to learn programming with a more mainstream language, Python is the programming language that MIT is now using in their introductory programming course.

For more information use your favorite search engine to look up "mit ocw gentle introduction programming" or "sicp" or "htdp".

Re: Ask HN: What programming language do you recommend starting with?

#4
Pulling on the parallel to human languages I'd say c is the latin equivalent (except that c is still actively in usage). Basically, c was there first, you could and still can build anything in c and though its easier than x86 its full of pendantic features much like the latin case system. Also because c has been so successful its had a huge influence on just about every succeeding language - again much like latin. So I'd say learn c meets your requirements. Nonetheless, just learning c won't get you acquainted with many usefull features, just like knowing only english won't let you realize that common words like collegue or friend can carry gender connotations that automatically tell you if its a male or female friend/collegue (or that word order isn't important when your language has cases).

In that respect I think Java plays a role similar to say 18th and 19th century French - the post latin lingua franca. Java took a lot from c, but implemented many new concepts and design philosphies to programming and brought them to a wide audience. Although Java is kind of on the decline, and many other newer languages like Go push the envelope further, Java and java philosophies have still had a large influence on PHP, Ruby, Go, etc.

As far as what the english equivalent would be in this contrived metaphor... I'm unsure maybe we'll just have to wait, but in the meantime with c and java you shouldn't have a problem understanding just about any programming language currently in use.

Re: Ask HN: What programming language do you recommend starting with?

#5
There is assembly language, which is the root to all higher level languages... but I would not recommend anyone start there unless they are using a micro-controller or other tiny platform.

If you aren't too savvy on computer concepts I would suggest python - probably the easiest to get into and whatever platform you are on (Mac, Windows, Linux) python exists for it, has libraries for just about anything you want to explore, sound graphics, etc.

Second choice would be C - lower level than python but more understandable to the neophyte than assembly would be. C runs a lot of system functions on popular computers.

Re: Ask HN: What programming language do you recommend starting with?

#6
post #4

Pulling on the parallel to human languages I'd say c is the latin equivalent (except that c is still actively in usage). Basically, c was there first, you could and still can build anything in c and though its easier than x86 its full of pendantic features much like the latin case system. Also because c has been so successful its had a huge influence on just about every succeeding language - again much like latin. So…

I'd say the English equivalent is PHP: a mongrel language that succeeded because it absorbed everything, where you can say things 10 different ways. Most developers know enough of the language to be conversant, making it a kind of lingua franca.

From a historical viewpoint, English is just as much a weird mishmash of everything as PHP is.

Re: Ask HN: What programming language do you recommend starting with?

#7
I tell the majority of people who want to dabble with programming to start with javascript, because the environment setup to make something run is so trivial, and they get positive reinforcement from making something that relates to other sites they actually use, not command line output.

If you're really looking for a latin equivalent, I agree with the previous posters (a lisp, python, and c all have merit and are worth getting to eventually).

My own early learning path was basic -> dos shell -> c -> c++

I'm glad I learned c, wouldn't really mind having missed C++.

Re: Ask HN: What programming language do you recommend starting with?

#8
post #4

Pulling on the parallel to human languages I'd say c is the latin equivalent (except that c is still actively in usage). Basically, c was there first, you could and still can build anything in c and though its easier than x86 its full of pendantic features much like the latin case system. Also because c has been so successful its had a huge influence on just about every succeeding language - again much like latin. So…

I'd say the English equivalent is PHP: a mongrel language that succeeded because it absorbed everything, where you can say things 10 different ways. Most developers know enough of the language to be conversant, making it a kind of lingua franca. From a historical viewpoint, English is just as much a weird mishmash of everything as PHP is.

I think you got it :), also PHP is kind of like the "fluent in english" requirement on every job post. While we're at it, what would the Lisp equivalent be?

Re: Ask HN: What programming language do you recommend starting with?

#9
Just learn BASIC, which will give you the least frustration and the most enjoyment. Head over to basic.mindteq.com and choose a compiler (yes, compiler - they exist) and integrated development environment. You might be interested in Freebasic, which will enable you to create games or other software without having a whole lot of dependencies to download. There are versions for Windows and Linux and you can easily interface C code to create slick GUIs on both. Head to zetcode.com to find out how to mix GTK to freebasic. Head over to petesqbsite.com to find a great community and lots of tutorials.

Other nice BASICs are AutoIt (Win), FnxBasic (Win), Envelop (Win), Microsoft VB Express edition (win), Gambas (Linux), Xbasic (Linux and Windows), GFA32 (win)

After learning that language you'll be able to move on to others, even to C which has pointers because freebasic uses pointers too.You'll find a lot of tutorials on the web and a great community for almost all of those.

Lots of people are going to say BASIC is inadequate for serious computing but if you go their way you'll find that the desire to learn has left you by the time you finish reading even one text. Ultimately it's your decision, not theirs.

TL;DR: You can learn BASIC in a weekend. Great community, easy to learn, will accomplish great things, will help you understand other languages.

Re: Ask HN: What programming language do you recommend starting with?

#10
The programming language isn't really the important thing to learn. The important thing is learning how to think and how to break large problems into smaller ones.

I really recommend against starting with C or assembly because they are hard and can discourage you. Even trying to start by making something with Ruby on Rails can be very discouraging.

The best way to start is to work from the beginning and learn the fundamentals of programming and how to think rather than focusing on a language.

I'm making CodeHS (http://codehs.com) to help teach beginners in the most user friendly way possible by stressing the way of thinking rather than the programming syntax.

We're providing help to beginners because we know that people can get stuck.

We're about to change our pricing, but for now, you should check out the free trial. We'd love to hear what you think.

Post reply on HN