Learn how to code and to create things with it (pt.2) - Languages

Words
699
Reading
4 min
Listen
Play
9y

Below is a list of 11 languages useful to know a little bit more about. You don't have to use many of these, but they are good to know about. This list is geared towards making video games, if you are looking to do crazy number crunching, "big data" stuff, or whatever, this list might be incomplete.  

C

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-practical-programming-in-c-january-iap-2010

Used for: operating systems, drivers, security tools, compilers, low-level services, robotics

C is the godfather of all languages. It is very bare-bones, so you often spend a lot of time doing things like managing your own memory. It doesn't have classes, it doesn't have strings, and if you screw up with memory management you can crash your computer. It is the closest thing to binary that most programmers will touch. And while it is difficult to master, you can use it to do almost anything your computer is capable of. If you can master it, you will be employable forever.

C++

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-096-introduction-to-c-january-iap-2011

Used for: games, desktop applications, low-level services, robotics

C++ is literally C, upgraded ("++" is shorthand for "add one to it"). C++ adds things like classes and generics to C, while still allowing you to manage your own memory and do other fun tricks with your computer. A lot of applications are written with C++, as well as most console games.

C#

https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-8295

Used for: desktop applications, games

C# has gotten very popular in recent years with the release of the Unity game engine, but it is also used to make desktop apps. It is very similar to Java, both in terms of language structure, and the fact that it requires a special framework to run. C# applications developed with the Mono runtime can be run on most operating systems.

HTML

http://www.w3schools.com/html/default.asp

Used for: building webpages

HTML is technically a "markup language", which means you cannot do any actual computation with it. Browsers and other programs interpret HTML files and display their contents. Vanilla HTML is actually pretty bare-bones. Most of the nice styling you see on the web is thanks to CSS, which browsers use to "decorate" HTML layouts.

Java

http://www.wideskills.com/java-tutorial

Used for: Android apps, web servers and applications, desktop apps, education

A lot of people who go to school for programming end up learning Java at some point. It is an excellent language to learn on because it contains a lot of features of other languages (like typed variables, abstract classes, generics, anonymous functions, etc). Java applications developed on the Java Virtual Machine are also inherently multi-platform, which is great for games and other desktop applications.

Javascript

https://developer.mozilla.org/en-US/Learn/JavaScript (Browser)

http://nodeschool.io (Node)

Used for: almost everything nowadays

Traditionally programmers used JS exclusively in the browser to make webpages do interesting things. However, with the advent of NodeJS, Javascript is used fairly often to run web servers, and sometimes even desktop applications.

Objective-C

http://rypress.com/tutorials/objective-c/index

Used for: iOS applications

If you want to make iPhone apps, you should learn Obj-C. 

PHP

http://www.hackingwithphp.com

Used for: web applications

Facebook's language of choice. Still a very popular language because so many pieces of the Internet were built with it.

Python

https://docs.python.org/3/tutorial

Used for: scripting, web applications, robotics

Python is also a great language to learn on. It is a little harder to transition from Python to other languages, but it is a very useful language by itself. It is very easy to read, which makes it a great language for making developer tools or just for writing your own automation scripts. There are also many web application frameworks written in Python, including the popular Django. Python has become the go-to language for organizations like NASA and iRobot for running higher-level logic on robots.

Ruby

https://rubymonk.com

Used for: scripting, web applications

One of the neat things about Ruby is that it easily supports metaprogramming: writing programs that use other programs' code as input. That makes it really easy to re-use chunks of Ruby you have already written. Ruby is also the language you use to write applications for Ruby-on-Rails, which is an extremely popular web app framework.

SQL

http://sql.learncodethehardway.org/book

Used for: working with databases   Some of the most popular databases (namely MySQL and pgSQL) use SQL to store and retrieve data. It is a very useful language to know if you are making websites.