Hacker News new | past | comments | ask | show | jobs | submit login
Which programming language would you suggest?
4 points by mogg on Jan 22, 2015 | hide | past | favorite | 12 comments
I have been trying pretty much every language from Java & Python to Delphi and VB6. I don't really have a particular interest in what sort of technology, be it web or desktop, etc.

I can't seem to stick to one language - Can you suggest me a language and why it is used? Many thanks.




Any answer to this questions is dependent on your goals and current knowledge level.

Are you trying to program something specific? If so, does that platform (iOS, Android) have a specific language you need to use or can you choose the stack (web)?

Are you trying to learn how to program? You mention you don't have any specific platform interests so are you just looking for a good starter language to learn?

Here are my opinions:

Python: A really strong language to learn as your first. Powerful, good external packages. Strict syntax means you learn how to do things the right way

Java: Used everywhere and can be applied to almost any project. Verbose but has solid performance and ability to segregate tasks and concerns.

Ruby: Rails (about the only reason I can think to really use Ruby).

Javascript: Easy to pick up but also easy to falter because the language gives you so much freedom you can easily do things wrong and not realize until much later. That being said, for the initiated, JS is having a renaissance for frontend (angular,et al) and backend stacks (node, et al).

C++/C#: The father of modern OO programming languages and his sexier grandson that took the best parts of everything before and placed a Microsoft sticker on it.

PHP: Wordpress and Facebook still run on this aging server side language.

And then from this list you have a ton of variations on each like Scala and Clojure falling out of Java. Go is out there as well. Objective C became Apple's Swift.

I think the best way to start is really C++ or Java. Learn the fundamentals, data types, algorithms, performance tradeoffs, OO design and fundamentals. Take those skills and carry them over to any other language or application you want to work on. Even the ones that aren't strictly OO like JS.


I was taking a look at JS on CodeAcademy and it looks pretty interesting. I do like the idea of Java as well. I think I will stick to JS as I am more interested in web, I think.


Ruby: Rails (about the only reason I can think to really use Ruby).

Honestly you really can and should use Ruby in any situation where you would have used Perl. Ruby is a better Perl.


| Ruby: Rails (about the only reason I can think to really use Ruby).

Devops is another good reason. Quick to write powerful expressive scripts.


Don't choose one language!

Why constrain yourself? One thing I always try to instil into my teams, "learn to program, do not learn a language". If you focus on becoming a good engineer/architect, you'll be able to pick up any language and use it easily.


That is good advice if you already know a couple of languages well. It is terrible advice for a beginner because they end up spending most of their time on configuration/syntax/build process etc rather than learning the fundamentals of programming (it sounds like the OP is a beginner).


I think rather than a language, you need a project. Decide what you want to build, pick a language that has a suitable library or framework for what you want to build, and then just start building it.

I learned programming because I wanted to make a simple web app for running some reports from a database at work, and there was no one else in my office who could code. I bought a Web Programming book and used HTML/CSS, JavaScript, PHP, and SQL. At the time that was the best way for me to learn all of those languages/tools. Later I picked up Java, Python, Ruby, Clojure, etc. from working on other types of projects. But it all started from the need to make something to solve an unmet need at work.


It very much depends upon your own interest if you are looking career in web development then i will suggest you to start learning frameworks instead just language for web there are plenty of frameworks my suggestion would be

- Rails for Ruby - Laravel for PHP - Angular for Front End

this is all from me according to my understanding of stuff Thanks


C# seems useful in many different ways (web, mobile, desktop) and it's a very complete language, so perhaps that would be a nice start.


I'd say Python, it's a good multi-platform, lower learning-curve, general purpose language that works on desktop or web.


Javascript

Pretty much a lot of stuff (front and backend) can be written in JS.


backend as in node.js?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: