5 Programming Languages You Should Learn in 2015

There comes a point in some people’s lives when they think about trying to tackle the desire to develop their own software code. Programming is a very versatile and exciting form of self-expression that results in working applications. One of the first questions aspiring coders ask themselves is, “Where do I start?” With the vast quantity of application programming languages out there, it’s very difficult to answer this question. But in terms of the year 2015 with all the technology that hit the mainstream in the preceding years, there are a couple of languages that I think even the most veteran programmers should have a look at.

2015languages-javaswift

At this point, Java has become the end-all programming language for most mobile applications on the marketplace. Android’s apps are almost exclusively programmed with it. I am not a very big fan of it because it offers less control over low-level (direct-to-hardware) communication, but without learning this language, you are missing out on a vast amount of opportunities. If you don’t plan to develop anything in Java, I would still suggest you dabble in it a little bit since so many desktop and mobile applications are written in it.

Then there’s Swift, a language created by Apple based on many different concepts, including Objective-C, Ruby, and Python. If you want to make anything in iOS or OS X (unless you’re developing a native app, which uses Xcode Objective-C), you’re going to have to learn this language. Some may say it’s not as easy as Java, but you may find that the syntax is very understandable, albeit very different from what you would be used to if you’re used to programming in conventional C/C++ or Python.

Should you become a very serious app developer, you will soon realize that you cannot create an app for one system without doing so for the other. You will need to learn both languages if you plan to venture deep into the mobile marketplace.

2015languages-python

While other scripting languages such as LUA might be a bit less fidgety about things like white space, Python serves a very strong purpose in the marketplace. There are hundreds of frameworks scattered all over the Internet that allow you to do some impressive things with the language. In addition to that, the logical engine of many games (including The Sims 4) use Python due to its ability to move through large troves of data very quickly. It’s an easy language that just about anyone can master in a short period of time. If you’re impatient and want to make quick scripts that deliver results (and you don’t mind very rudimentary debugging), then you should definitely explore it!

2015languages-cpp

Yes, I know. It’s 2015 and I’m talking about a language that was invented back before dial-up Internet was ever an idea in someone’s head. But C++ is still a very relevant programming language in this day. Don’t doubt it for a second!

It takes a lot longer to accomplish your goals with this language. The amount of patience you need with it is probably more than most people can handle, but the rewards are immense. First of all, almost everything you code in C/C++ is going to run (at least to some degree) faster than whatever you may code in a higher-level (Java, Python, C#, etc.) language. Here’s the thing, though: you don’t have to write entire applications with it. You can write modules that you can share among multiple applications, recycling your highly-efficient code everywhere!

After all that has been said, it’s time for some full disclosure: I have a strong bias for this language. It’s my favorite, and I feel no shame in admitting it. You can tap directly into the Windows API and work magic with it. You can program with objects and classes or abandon them altogether and make a C-style structured program. Listing is very versatile (you can allocate “Next” and “Previous” pointers to data in a chain), and nothing else lets you work with input/output completion ports (IOCP, a very efficient multi-threaded completion method in Windows) more easily than C++.

Basically, if you want the world to be at your fingertips, you have the patience to work for hours on one procedure, and you want to create programs that use very little system resources, C++ is definitely the language for you!

2015languages-r

Described by the letter “R”, this programming language is specifically designed for people who want to create applications that can mine through enormous amounts of data and statistics. In the enterprise, R is useful for Big Data analytics that drive corporate decision-making in platforms designed for enterprise resource planning (ERP). Even though it was created 22 years ago, it’s still being extended.

If you’re a techie inside a large corporation, learn R right now. You won’t regret it.

2015languages-ziron

If you’re familiar with Assembly (ASM), you’ll absolutely love Ziron. It combines its own flavor of ASM with C-style syntax to provide a powerful platform for making applications. If you’re a C programmer who wants to get into ASM without having to pour thousands of lines of code into a compiler, Ziron gives you a way to do this quickly and efficiently.

Should you desire to get into Ziron, you can find its primary resource over here.

What do you choose to learn as the middle of the year approaches? Let us know in a comment!

16 comments

  1. I’m partial to C\C++ myself, but I still see tons of work in C# throughout the field. If you’re just starting out and aren’t enthralled with the thought of websites or mobile apps, C# is probably the best way to go at the moment. For veterans, it is a good way to stay relevant if you work with basically dead languages that see little to no new development (e.g. VB6, COBOL, ADA).

    • Ah, I remember VB6. I still have nightmares about trying to access the Windows API through it.

      But yes, I agree that C# is very relevant. Although…. C++ is a good way to start if you want to get down to the gritty part of programming right away. Best to hit the ground running then slow down a little (I.e. bash your head against the table learning C++ to later dive into easier languages) than to start slow then realize there is a ton out there you’ll have to grind through before you can write that driver.

      • Completely agree. As much as we’re discussing all of this though, it sometimes really depends on your market and where you are willing/capable of moving. Here in Birmingham you might as well go with web and/or C# due to the job market mostly being consumer banking and medical (non-device level). NYC or Chicago though? I would go with C/C++ in the Unix environment for the financial companies even though you have far more options there.

        By the way, I did enjoy your article and will be looking into R and Ziron as I’ve never heard of them. This is just further conversation.

        • Ziron is a very elegant blend of mid-level code (what I call C/C++) and very low-level nitty-gritty ASM. You may find it a little familiar to the MASM style of syntax, although it will have a more complex code structure that allows you to do more abstract things with it without having to do all the legwork yourself. It’s truly uplifting to write with it (and it tickles the sense of adventure quite nicely!).

    • For the record ADA is not a dead language. Its most recent standard is ADA-2012 and there has been a more formally provable language SPARK-2014 developed also. Ada is used extensively today by many DOD and civilian applications and its developers can earn big $.

  2. Anyone considering learning Java to write desktop applications might want to pause and consider for a moment. No, not because there’s anything wrong with Java from a programmers point of view (there isn’t) but because of how potential users feel about it. Java has, unfortunately, been painted with an incorrectly-wide brush of vulnerability and insecurity due to incidents with browser plug-ins. There is, or at least was, even a website that aggresively encourages people to not install the JRE, to uninstall it if it is already installed, and to disable both the plug-in *and* JavaScript in browsers. This is, of course, FUD at its finest…there never has been, as far as I know, any problem with JavaScript and the JRE is no more or less vulnerable/insecure that *any* runtime libraries, such as C/C++, Visual Basic or .NET. But due to the coverage of the Java browser plug-in problems, and idiotic recommendations of websites like the one I mentioned, the vast majority of people adamantly refuse to install the JRE on their machines, even though it means they miss out on some good software. This means that any applications requiring the JRE will have a very limited amount of people willing to try/buy them…which means learning Java with the intent of writing desktop applications is essentially a waste of time.

  3. “If you want to make anything in iOS or OS X (unless you’re developing a native app, which uses Xcode)”

    Xcode isn’t a programming language, it’s Apple’s IDE (Integrated Development Environment), which is used to write programs in various languages.

    “Should you become a very serious app developer, you will soon realize that you cannot create an app for one system without doing so for the other”

    Not true. While there are numerous people that write programs for both platforms, I know there are a vast number that make their living writing only for Apple devices. I’m sure the same holds true for Android devices. While it’s certainly advantageous to have versions of a program that run on both platforms, it’s not a necessity to do so.

    • Indeed! I apologize for the discrepancy. At the time, I mistakenly placed the name of the IDE instead of Objective-C. Thank you for pointing this out.

      Yes, one could definitely enjoy a good userbase and good revenue developing an app exclusively for one operating system. The problem is that it is not a good business practice for organizations that have user bases in the order of millions (Zoom Video Communications is a good example of this, with over 40 million users). They will often release a version of their app that is compatible with the “other” OS once their user base hits this mark, because they do not want to lose potential customers on the possibility that they’re banking on the company having an application for their own personal mobile platforms.

      In fact, there’s been a recent uptick in companies developing Windows Phone versions of their apps because of the tiny, but significant market share of Windows OS on mobile devices.

      That said, I do not find it entirely necessary for one individual who doesn’t have a company with over 100 employees to develop and maintain three different apps.

  4. I think most programmers with a few years experience have picked up some Java, Python and C++. Not necessarily programmed extensively in them, but everyone should know a little bit. Most companies test for at least one of those, like the coding tests from TestDome do: http://www.testdome.com/

    • Thanks for your input! Let’s not forget that Objective C, which is still used largely for Apple-centric companies.

Comments are closed.

Sponsored Stories