Heddibdxkgkjfkw4krlw

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.

Join our newsletter to find out about upcoming courses and events!