
How To Choose The Right Programming Language For A Project
Share

Published
7 Sep 2016
Segment
coding starters
Duration
5 minute read
Jesse Farmer says “Motivation, frustration tolerance, social support, and access to expertise are all more important than the raw language when you’re trying to become a programmer.”. However, what about when you’re past that stage? Say you want to build your portfolio on the way to getting your first job or you want to change specialties for your fourth. Maybe you have a startup, or you just want to build cool stuff.
However, some languages (and frameworks!) are a better fit for projects than others.
Why? There are several types of programming paradigms. The major four are Dynamic, Static, Interpretive and Compiled. Statically compiled and strongly typed on the one hand or dynamic and interpretive on the other. Older, traditional enterprise languages usually fit into the former group. Statically compiled languages provide developers with compile-time errors rather than run time errors, ensuring safer, well-documented code with clean interfaces. Swift is an attempt to combine both capabilities, and it is rapidly increasing in popularity.
It’s also well worth learning languages from new paradigms for the intellectual challenge, plus it’s a great way to show how well rounded your skills are.
If you’re doing that, Steven Grimm recommends:
-
Assembly language so you know what the other languages are doing under the covers.
-
C since it is the common ancestor of many subsequent languages and is the language that many of those languages' interpreters and compilers are written in.
-
Java (or alternately, Smalltalk) to get exposed to object oriented programming and managed runtime environments.
-
Haskell (or alternately, Scala or F# or Ruby) to learn to think functionally; functional programming is highly likely to be the next mainstream paradigm.
-
Python to expose yourself to dynamically-typed languages.
-
SQL to expose yourself to relational algebra.
Other factors you might like to consider are
-
How well versed are you in the programming language? (This becomes more important as the deadlines get closer)
-
Is it a new language? Has it been tested and proven in the current domain?
-
How many people actually code in it? This is Important if you need help.
-
Their job prospects and salary expectations
Without further ado...
I want fast prototyping
Ruby on Rails
Python Django
I want to make data visualisations
Javascript -> D3.js
ChartJS
Chartkick
I want to do automation & scripting
Python
Ruby
Bash
Powershell
AutoHotKey
Perl
I want to write large desktop applications
Java
C/C++
C#
I want my static site to be a little animated
JavaScript & jQuery
CSS
I want to make animations
Processing
I want to make music
Chuck
I want to store a bit of changing data and i’m the only user. It’s an app for me (for now).
SQLite
I want to store a large amount of changing data In a high-load environment and i’m going to make lots of queries
SQL
NoSQL
I want to capture a lot of data but i’m not sure exactly what i’m going to do with it yet but i want to store the data
NoSQL
I want to store non-changing data
JSON
YAML
XML
I want to do maths
R
Python
Haskell
OCAML
Lisp
I want to do science
Erlang
I wantreal-time, client-side interaction
React
Angular
sockets.io
I want to create a static website
HTML & CSS
I want to develop games for websites
JavaScript
I want to be able to code for anything
JavaScript
Python
C++
I want to develop games for consoles and desktop applications
C++
C#
I want to make mobile apps
C++/Objective C/C#
Apple: Swift
Android: Java
I want to develop on top of an IoT device
JavaScript
Python
Java
C/C++/C#
Have fun and keep on learning!
Want to become a junior developer? At Coder Academy we have Australia's first and only accredited fast-track coding bootcamp that will set you up for a new career in tech. Our immersive course helps students acquire in-demand skills through hands on, project-based training by industry experts over six months.
Now enrolling domestic & international students in Sydney, Melbourne & Brisbane! Study now, pay later with FEE-HELP!
Are you a woman interested in coding? Check out our Women in Tech Scholarship!
BECOME A FULL STACK DEVELOPER IN 25 WEEKS OF STUDY
Seriously considering a coding bootcamp? Learn more about Australia's first accredited coding bootcamp.