Learn Swift. Mobile is the future.
Swift will not teach you the fundamentals of programming
Ask HN: What language should I learn first?
41–50 of 77 posts
Re: Ask HN: What language should I learn first?
#42It'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?
#43It'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?
#441) 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?
#45I 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.
Re: Ask HN: What language should I learn first?
#46Most 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?
#47Extremely 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?
#48You'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:
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?
#49Call 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'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].
Re: Ask HN: What language should I learn first?
#50The 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.