Live data from Hacker News

Ask HN: What language should I learn first?

news.ycombinator.com

41–50 of 77 posts

Re: Ask HN: What language should I learn first?

#41

Learn Swift. Mobile is the future.

Swift will not teach you the fundamentals of programming

I think Swift is a better ground for the fundamentals of programming than many others... but there are many other reasons to not choose such a young language.

http://tel.github.io/2014/07/26/types_of_data_in_swift/

Re: Ask HN: What language should I learn first?

#42
Why do you want to learn to code is a detail you left out, that's very important.

It's like saying, I want to learn to drive: If you are going to be a trucker, that's going to mean something different from being a biker.

I'd recommend Python as a first language. It wasn't my first language, but it's general purpose enough that you can do a lot with it, and popular enough that you can interview/get work/meet other people who use it. Oh and it runs from the command line straight off, and you are going to want to learn a bit about the command line.

Re: Ask HN: What language should I learn first?

#43
C. It's low enough that you don't get to skip out on core concepts. I notice a lot of younger programmers who have only used high level languages use inappropriate data types because they do not understand the implications of their choices.

It's also high level enough that you won't waste time in minutia of just making something work.

Re: Ask HN: What language should I learn first?

#44
javascript because

1) you can program anywhere, 2) it has incredible libraries for multimedia and interaction which makes it fun, 3) you can share the results with one click to anyone 4) it is a highly marketable skill

a lot of other people are recommending python which is fine if you are into the command line and file IO. if you prefer the web, then JS is the way to go.

Re: Ask HN: What language should I learn first?

#45
post #4

I believe that you can't go really wrong with any of the languages offered at Codecademy. If you have to pick one I would suggest JavaScript. It's not uncommon for projects to involve another language + JavaScript, so the syntax knowledge should be useful for years.

I would actually recommend against using JS as your first, since it's so atypical.

Agreed. JavaScript is super useful. But it straddles a couple of paradigms in a way that makes it hard for me to recommend as a first language.

Re: Ask HN: What language should I learn first?

#46
Python + Django, Ruby + Rails, Javascript + Nodejs..

Most people are in love with Python, Not everyone. You may or may not love it, So try experimenting and choose the one.

Codecademy is good place to learn syntax and language basics, but books are the best choice to improve your skills.

Never stop learning, Try some Open Source Project, You'll learn much more..

Have Fun, Good Luck

Re: Ask HN: What language should I learn first?

#47
JavaScript. Why?

Extremely low barrier to entry: you already have everything you need.

Results are immediate: you don't have to wait around for an app approval process to share your stuff.

It sucks: teaching a healthy respect for learning a language well and finding all of the pitfalls. Every language has them. Best not to start out assuming they don't.

Re: Ask HN: What language should I learn first?

#48
How about learning BASIC first?

You'll hear people say that exposure to BASIC will rot your mind... But most of today's best programmers started out with BASIC simply because that's what you got when you started up a 1976-86 vintage microcomputer or played with MS-DOS. Clearly they were not permanently damaged by it.

The good thing about learning BASIC is that you won't be accidentally comparing your work to that of professional programmers. If you start with JavaScript, you'll be exposed to amazing JS tricks anywhere you look. Any Google search or "View Source" will show you stuff that you'll be struggling to understand. That can be very discouraging.

Here's a totally retro web-based BASIC environment:

http://www.quitebasic.com/

There are of course much better modern BASICs around, e.g. Microsoft's Small Basic (http://en.wikipedia.org/wiki/Microsoft_Small_Basic).

Re: Ask HN: What language should I learn first?

#49
post #40

Call me old fashioned, but I'm going to suggest learning C. It's one of the smaller languages around so you'll be quickly able to get past the "learning the language syntax" stage and into the "learning to program" stage. It's also still one of the most widely used and supported languages out there. It's also closer to how computers actually work so you'll learn more of what is actually happening when the computer ru…

I disagree. The C syntax is small and pretty easy to learn but the a learner will be stumped when it comes to installing the compiler, dealing with cryptic compiler errors, pointers and weak typing.

I'd recommend Python as it's easy to setup on any platform, has a clean easy to read syntax (newbies don't need to worry about generators or decorators early on), has a REPL and has a ton of good free learning references [1].

[1] - http://learnpythonthehardway.org/book/

Re: Ask HN: What language should I learn first?

#50
There will be a thousand opinions. Ignore them.

The problem is that you're asking the wrong question. If you want to "get into" programming you need to do roughly two things to start.

    1. Find a reason to care. This can be a pet project, 
       a particular question, an application domain, a 
       partner or team you'd like to work with, the desire
       to understand someone's work you admire, etc.

    2. Learn how to think formally as a programmer. This
       is sort of like learning how to code, but it's 
       different from learning any one language.
The point is that as you discover greater passion for something in (1) you'll discover greater need for (2). Simultaneously, as you improve (2) you'll become more sensitive to (1).

The other point is that languages are dumb. There are lots of reasons to learn one or another, but by and large becoming an "X programmer" is a non-goal unless it is somehow required for (1). For instance, joining a team of Ruby programmers may require becoming a Ruby programmer yourself.

So, discarding the philosophy, what do I recommend?

Learn whatever language you can the most quickly. Then learn another. Python may already be installed on your computer, so you can get started quickly. The story is probably the same for C, Ruby, Java, and Perl. If you know how to launch web pages online then PHP is probably available.

Recognize that programming has a large comparative linguistics component. No single language will teach you (2) above, but solving many diverse problems in a single language might get you a lot of it. Studying many languages expands your familiarity with how to represent things and that can be a big boon to (2). Later on in your career, it's often very valuable to explore languages with vastly different background models and assumptions. Early on, I'm not convinced it's such a huge deal... so long as you don't get stuck with a single choice for too long.

And above all, have fun. CS/Programming/Software is a fascinating world for all kinds of reasons.

Post reply on HN