The right tool for the right job – filtering through programing languages

In today’s world, learning to code can be the key to a very lucrative career. People can learn a language – either by teaching themselves  and find themselves building the future in no time. Why should you learn how to program? These guys do a pretty good idea of explaining why:

So now you know why it’s important to learn how to program, but with so many language choices out there, how do you know which language will be the most useful to learn to do the kind of work you want to do?

Firstly – let’s look at what languages are out there and how popular they are using this handy chart providing data from February 2014 by the ranking project – provided by Redmonk.

Language Rank
(Source – http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/)

 

In the original analysis beginning in 2010, Drew Conway and John Myles White of Dataists, sourced their Data from Github and StackOverFlow – meaning the number of projects that are created on Github in those languages and the size of the community asking questions on Stackoverflow. Conway himself wrote a blog post on how the data is flawed, but for our purposes, it provides a guide we can follow to see what tools most developers are using, and what they’re using it for. Redmonk has since taken over the data analysis project from Dataist.

 

In this article, we’ll take a look at the top 10 languages according to the above chart:

 

1. JavaScript

2. Java

3. PHP

4. C#

5. Python

6. C++

7. Ruby

8. C

9. Objective – C

10. CSS

 

  1. Javascript

This allows you to do some pretty neat stuff. It’s extremely versatile which may be why it’s so popular with programmers. It can be used to communicate with web browsers, making remarkable and dynamic sites, but it can also be used server side, to work in PDF documents, desktop widgets etc. In it’s purest form, it adds a level of maneuverability to websites, not possible in plain HTML. If you’d like a complete list of all the usage and examples, head on over to Wikipedia for a comprehensive list.

 

  1. Java

Java is different from JavaScript in that Java is used to create applets and stand alone applications. Where Javascript is written as an OOP programming language, JavaScript is a scripting language. This makes the applications completely different. The code is compiled, instead of text based, so it can just be moved over from system to system. The primary use is in web applets, for games, audio/visual elements, and is the primary programing source for Android platforms. As such, Google is a proponent of this language.

 

 

  1. PHP

This is a server-side scripting language. It’s best for dynamic web apps and sites and its used to develop such major websites as Facebook and WordPress. As such, it’s a key development tool to possess – and has features similar to C. It’s also open source, so it’s ever evolving and growing. It can also be used on many different OS’, from Linux, to Windows, to Mac. You can even integrate it with other languages – like Java – so you’re not locked in to one thing you can do.

 

 

  1. C#

Evolving from the C++ language, this language was designed to work with .NET, while still maintaining the syntax and efficiency of any other C language.

 

 

  1. Python

The emphasis of Python is code readability and being concise in your script. It’s server side programming allows programmers to develop code using fewer lines than is possible in C. As such, it’s used for scripting and web apps. It can also be used for stand alone executable files, which makes it versatile. It powers sites like Pinterest, Instagram and Rdio.

 

  1. C++

Used for OS programming, native GUI apps, and games, C++ is ideal for large projects that are being used by a team. This language facilitates a process to split up the code, have multiple people work on it individually, and then reassemble it at the end. Codes can also be reused over and over – making it extremely efficient.

 

  1. Ruby

Considered a fairly simple language for beginners. This language is best for scripting and web and mobile apps.  It’s used to power such sites as Shopify, Groupon and even GitHub. Ruby was designed to make websites engaging and dynamic, and with it’s pairing on the rails system, it became even simpler to make new and exciting websites that look slick and run cleanly.

 

  1. C

C is the granddaddy of modern languages and as such, is an excellent gateway to learning all other languages, especially the other C languages – note that Ruby and JavaScript have syntaxes that are fairly different. C is considered the base language to learn, and then build upon to work with more modern languages.

 

  1. Objective – C

This is the main programing language used by Apple for the OS X and iOS and their API’s. Like C, it’s an object-oriented programming language, with the added bonus of having SmallTalk (Another language) style messaging included. It’s best if you’re making things for the iPhone, iPad, or any other Mac system.

  1.  CSS

Standing for Cascading Style Sheets, CSS is an add on to HTML and an important aspect of HTML5, which we discussed last week. This is a work saving language where HTML formatting is saved into style sheets so that information can be freed up for more important things – like formatting fonts, colors, etc. Note that this can only be used with the web.

As a bonus, here’s another language you won’t find on a lot of mainstream lists:

IBM RPG
This is a language with a long history. Originally developed by IBM for their punch card systems, it’s gone through a number of upgrades and it’s current iteration, called RPG IV or, ILE RPG.  As a high level language, or HLL, it can be seen as similar to COBOL in it’s application. This means that it’s an ideal language for security and air tight programming.
Unlike many of the languages on this list, IBM RPG, is proprietary, meaning it’s development is tightly controlled. This makes it ideal for secure use on IBM products, like IBMi’s. It’s More than just a security language that can be used in accounting software, corporate HR departments, and banking, it’s an extremely powerful data processor that can be applied for CGI development, and iPhone Apps. It can be integrated with Java.  As proprietary software, It doesn’t have as many community resources as the languages listed above nor does it contain syntax checkers or add-ons to facilitate learning, so it’s not a language for beginners.

Don’t want to learn how to program yourself? Here at Panda Rose, we can program in most of these languages. Contact us today to find out how we can help you

If you are interested in learning, here’s some Toronto resources for you to further your knowledge in person:

Bitmaker Labs – For people who are looking for a hardcore path to a career

Ladies Learning Code – A little more casual entry for women and girls looking to get their feet wet and engage in a supportive community.

Hacklab.to – A hackerspace that occasionally offers classes on everything from Arduino to individual language programming. Check out their calendar of events for more details.

If you want some strong resources for learning on your own on-line check out:

Cprograming.com – All in one resource on  programing in the C languages. All of them.

Mashable – Has an awesome resource for a number of the languages here, offering brief descriptions of each and learning sites for all.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s