Live data from Hacker News

Ask HN: If I learn one programming language, what should it be?

news.ycombinator.com

21–30 of 48 posts

Re: Ask HN: If I learn one programming language, what should it be?

#21

Java. Despite what you may hear about it, this remains the number one or two (depending on who you ask) language in use. It has a HUGE amount of libraries available and the standard library (SE and EE) cover a lot of ground.

nada, too much overhead... get something lightweight... you can run python in the terminal.

Re: Ask HN: If I learn one programming language, what should it be?

#22

Earlier quoted context omitted.

I agree. A lot of people have adopted it and there's a large community. Perfect for someone starting out. You will be googling/stack overflowing a lot so its good to know there are a lot of resources behind it. Plus you know th e language is growing not dying.

I really appreciate the feedback. JavaScript is supposed to be complicated. Let's say I study 20 hours a week for three months. Can I get off the ground with it?

Having taught javascript to coworkers who were proficient in other languages (c++, c#, ect), javascript was confusing to them since many things act differently in javascript from other languages. That said, with the availability of online help and tutorials, you could definitely get off the ground with it, but it will give you a very different experience than something like python. Depends if you are more interested in programming fundamentals or in web programmings. If you are looking for fundamentals, I would learn Python or Java.

Re: Ask HN: If I learn one programming language, what should it be?

#23

While I hate actually using it for production tasks, I have to admit that Python is the best language ever to learn. Its syntax doesn't really get in the way at all and it is extremely understandable. It's also widespread.

Why do you hate using Python for production tasks?

In my experience/opinion: get over a certain number of lines of code and the type system starts getting in the way rather than getting out of the way. This number is not obvious and is very easy to pass without realizing it until it's too late.

Re: Ask HN: If I learn one programming language, what should it be?

#24
post #22

Earlier quoted context omitted.

I really appreciate the feedback. JavaScript is supposed to be complicated. Let's say I study 20 hours a week for three months. Can I get off the ground with it?

Having taught javascript to coworkers who were proficient in other languages (c++, c#, ect), javascript was confusing to them since many things act differently in javascript from other languages. That said, with the availability of online help and tutorials, you could definitely get off the ground with it, but it will give you a very different experience than something like python. Depends if you are more interested…

Sounds good.

Re: Ask HN: If I learn one programming language, what should it be?

#25
post #20

Earlier quoted context omitted.

I really appreciate the feedback. JavaScript is supposed to be complicated. Let's say I study 20 hours a week for three months. Can I get off the ground with it?

JavaScript is kind of ugly in some ways, but not really complicated. You could easily pick up the basics in that time frame. I've heard people say good things about this book: http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfor... But I've never read it myself.

That's encouraging. Thanks for the reference.

Re: Ask HN: If I learn one programming language, what should it be?

#26

Python 3. It is fairly simple to learn. It is cross-platform. It is suitable for server-side programming. It has an extensive standard library and an active ecosystem for additional libraries. It has IPython. It uses, and therefore helps you learn, but does not force object-oriented programming. It has enough functional programming to let you explore that concept. It is widespread and easy to find support for. It has…

Thank you for the detailed reply! A number of comments here favor Python for ease of entry and utility. Do I understand correctly that Java is important, but with a much steeper learning curve?

Java is widespread. Whether it's important or not depends on the project. It's not so much that Java has a steep learning curve, it's that Java has the Java way of doing things (namely, object-oriented programming taken to the extreme) and you are required to do things that way. It's less flexible than Python in the way you can write your code. You have to have a firm grasp of object-oriented programming to do anything in Java. There's a lot of theory you have to learn just to get started, which in Python can just be brushed aside until you're ready to tackle it.

And with Java, you're probably going to need a heavyweight IDE instead of just being able to use a plain text editor or a REPL or other interactive environment (which Java doesn't have).

Re: Ask HN: If I learn one programming language, what should it be?

#27
post #11

There's no point in only learning one language. If you can only program in one language, you literally can't program.

I've had the same thought myself. However, I'm willing to take the risk. Besides, one thing leads to another.

This is not to say that learning one language is a waste of time when you then proceed to another language. But, learning one language isn't learning how to code, any moreso than learning how to punch is the same as learning karate -- you haven't begun learning karate until you have the basics of a wide variety of punches, kicks, and blocks; in the same way, you haven't begun to learn programming until you know the basics of a wide variety of languages and techniques.

At best, stopping at your first language will give you a false sense of competence that will lead you into making poor decisions.

By all means, learn a first programming language. But, which you choose doesn't much matter, because you'll need to learn a second and a third before you start to understand what it's all about.

Re: Ask HN: If I learn one programming language, what should it be?

#28
There are a number of good answers here on general programming. If you want your knowledge to be relevant to your startup, it might depend on what kind of startup you're doing. Will it be mobile focused or Web, for example?

If web, you might go after JavaScript and some back end language (you already have some PHP background), plus HTML and CSS. Build a simple Web site.

If mobile, pick your poison. Many mobile startups start with iOS. Now is a great time to learn iOS since Swift lowers the barrier to entry significantly. If you're going after the larger Android ecosystem, then Java. Android also has the advantage that you can develop on other OS'es like Windows.

I would also recommend getting a great book and working though the examples. Then supplement with what you can find on the Web.

Good luck learning and with your startup!

Re: Ask HN: If I learn one programming language, what should it be?

#30

Earlier quoted context omitted.

I agree. A lot of people have adopted it and there's a large community. Perfect for someone starting out. You will be googling/stack overflowing a lot so its good to know there are a lot of resources behind it. Plus you know th e language is growing not dying.

I really appreciate the feedback. JavaScript is supposed to be complicated. Let's say I study 20 hours a week for three months. Can I get off the ground with it?

in response to qzcx's reply, it's true. If you want fundamentals then something like Java, Python, or C, C++.

JavaScript really is the way to go to get your feet wet just because it'll give you the experience to build a wide range of platforms such as: Mobile (Cordova, Appcelerator, React Native), Desktop (AngularJS, RequireJS, Dojo, jQuery, Vanilla JavaScript/ECMAScript 6), and Server Side (NodeJS - basically you don't need to learn a front end and back end language).

But still, you should definitely learn one of the more traditional languages at some point in time, especially if you're doing this for a living.

And I would recommend just figuring out something you want to build and just build it. Focus on building and everything will start coming together. You should definitely study, but studying alone will not get you anywhere unless you apply it. And if you're planning on doing this for a living, nothing beats being able to show potential employers your previous projects.

As for your plan, that's definitely enough time. You will definitely get somewhere with it!

Post reply on HN