What programming language should I learn?

I want to get back into programming and so what language would you recommend for 2013. Assume I have a working knowledge of ANSI-C, Pascal and JavaScript. I’m looking to do is just get acclimated with something not 15 years out of date.

Java, then you can get rich writing Android apps.

Stick with C:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Speaking as someone who hires programmers…

It depends on what kind of work you want to do. If you want to do enterprise back-end work, then Java is the thing. If you’re interested in working on web applications, then Java or Ruby (or maybe Python - depends on the market).

In the Twin Cities, I know we’re hiring a lot of Java developers.

Check out the meetups where you live, and the job market.

And consider this: http://langpop.corger.nl/

Based on the resumes I get, very few people learn Ruby in school, so that would be a differentiater. But there are more jobs for Java.
You could always learn COBOL and take over when the old people die. :slight_smile:

Is there actually any job market any more these days for COBOL programmers?

What Braniac4 says, except that I think you’ll find PHP dwarfs Ruby, Python and Java for general web applications (outside the enterprise world at least).

Some places there are. I have a friend who is a COBOL programmer, and she can still find work in the finance industry. But it’s very regional - in Australia frinstance there is barely any work in Melbourne, it’s all in Sydney. She’s ended up telecommuting to Ireland…

Might I suggest brushing up on your brainfuck? (Or b****fuck for more sensitive readers) It would certainly differentiate you!

Hello World in brainfuck:


>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]
<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.

There’s a serious demand. However, a lot of those jobs are for positions maintaining software that is in the process of migrating to other languages. Not that big of a problem though, I know of a company where that migration effort has been going on for over 20 years, and hasn’t seemed to progress at all.

Saint Cad, you need to get some OO experience, and some multi-lingual experience. What language you use doesn’t matter so much anymore as your familiarity with OO, and the huge number of ways in which different systems now connect. In any language now you’ll be expected to be familar with client-server interactions, usually between unrelated systems, database access through SQL hosted in many different systems, custom TCP protocols between anything that exists, and embedded use of other languages within the one you are using. The programmer of the today, and the future is expected to program in every language, within the same application.

Do you care what type of programming you get into? As mentioned above, different jobs use different languages. I make a living writing really low level device drivers and associated code for a major cell phone manufacturer. I work almost exclusively in C, with a little C++.

If you’re more of an applications person, then things like Java start to make sense.
So if you have a preference, you should pick based on that.

Eventually I hope to transition to IT security. Does that indicate one language over another?

At the bottom level your old regular C experience gets you closest to the level a machine is operating at, needed for some aspects of security. Otherwise, it doesn’t matter. Get used to programming in a virtual world. C is a necessary remnant of a past time where the machine interface layer was more important. Now that represents a minimal amount of functionality.

For IT security in general knowledge of communication protocols and existing security methodology is more important than any particular language.

Yeah, I’m kind of enterprise-oriented. My experience with smaller operations is largely with the San Francisco/Bay Area startup community, which has lots of Ruby, Python and Go.

Saint Cad, security is a largish field - are you thinking of application and web security, which would have the most connection to programming languages such as the ones I’ve listed.

And getting familiar with OWASP Foundation, the Open Source Foundation for Application Security | OWASP Foundation would be a good idea.

As noted previously, becoming familiar with OO development is a Very Good Thing, and I recommend learning about agile development as well. It’s increasingly the way things get done, even at big companies.

Although it’s not the most current technology, consider learning PHP and MySQL, along with enough HTML and CSS to get Web pages working. Download XAMP or WAMP or get a live web hosting site.

From there, take your JavaScript skills and PHP and learn as much as you can about AJAX (Asynchronous JavaScript and XML). Make some really interactive data-driven web sites. Learn about XML and Web services, and how to extract data in XML to make useful Web pages.

Finally study up on how to do user authentication, the issues with code interjection, and encryption issues. Also learn about search engine optimization and e-commerce.

All of this might take a year or two. Then at the end of that, decide it’s very risky and scary, then learn Drupal or Joomla and all of the plug-ins available. At least it’s all fun!

So I was going to write a “I want to learn a programming language” thread, and the board recommended this thread. So I’d like to revive it and see what people say now, 11 years later. I was OK at Basic on my old C64, but that’s all I’ve ever done.

This is to play with as a hobby, so part of the issue is I don’t even know what I want to do with it.

I’ll just go ahead and make the obvious “What language do Zombies use?” joke.

Python.

I would also say Python. I’m a dabbler, and I love Python after trying out like eight different languages or so. My wife is a Ph. D. in Computer Science and works in machine learning, growing up a C and Java adherent and Python scoffer, now does almost everything in Python. That’s good enough for me.

If it’s just to play around with as a hobby, Python is probably a good choice.

Depending on what you want to do with the code you write, Javascript might also be a good choice because it’s very portable: you can (with some rare exceptions) run the same code in any browser, such as on your desktop, laptop, phone, tablet, etc. When I want to write something to run on my phone, I usually develop it in Javascript on my computer and then when it’s debugged, upload it to my server so I can run it on the phone.

Doesn’t python crush zombies?