Programming Languages

While it's important to allow for flexibility in languages used, it's also important to stick to a relatively small set of established languages within an organization, since it encourages proficiency within the selected languages while limiting potential for skill isolation, which can occur when too many different languages/frameworks are used across a small user base.

By the way, if you end up doing a decent amount of coding, you'll almost certainly need to learn multiple languages. This can sound intimidating, but don't worry, the difficult part is learning the fundamental concepts and to think like a programmer—once you've got those down and learned one language, other languages will be relatively easy to pick up.

This section includes descriptions of several languages recommended for programming at Steer.

TIP

Most programming languages are not limited to their core features, but also allow third-party extensions, called packages, libraries, or by other names, depending on the language.

Python

Python is one of the most popular programming languages, and its advantages include relatively simple syntax and versatility. Python can be used for everything from machine learning to server-side web application development. It is also easy to learn and has a very strong ecosystem. If you're just starting to code, and you're not planning to focus on web development, Python is a great first language to learn.

Official Python Websiteopen in new window

Python packages are available at the Python Package Indexopen in new window.

R

R is a programming language focused on statistical computing, and is mostly used by statisticians and data analysts/scientists. R is an open-source alternative to SAS, SPSS, and Stata. In addition to being great for working with data, R has strong visualization capabilities, and can be used for literate programming (where code and outputs are interspersed with text), and simple web applications. While R is widely used, its ecosystem is much smaller than that of Python and JavaScript, due to its greater level of specialization.

Official R Websiteopen in new window

R packages are available at the Comprehensive R Archive Networkopen in new window.

TIP

Some R packages need to be compiled from source code (don't worry if that doesn't mean anything to you). If you need to use any of these packages, you'll want to install Rtools, which is available from the Steer Software Center.

Stata

Stata is a general-purpose statistical software package that is largely code-driven although it also has a graphical user interface. It has two languages, the main “Stata” language and also an advanced programming language called Mata. Stata is semi-open software: the core is closed source and requires a license, but users can program their own Stata packages and share these with other Stata users. Stata was initially designed to focus on one primary data object at a time. The benefit of this approach is that Stata syntax is simple and intuitive. Stata could be a good choice if you are familiar with the requirements and need to get results quickly.

Official Stata Websiteopen in new window

Stata packages are available from various sources including the Statistical Software Componentsopen in new window library hosted by the Boston College Department of Economics.

JavaScript

JavaScript is the most popular programming language today. It is the dominant language used in web browsers to execute client-side code and has also become extremely popular for server-side web application development with Node.jsopen in new window. If you're planning to do any web development, you'll need to learn some JavaScript, along with HTML and CSS, which are described below. JavaScript has an enormous ecosystem.

JavaScript at MDNopen in new window

JavaScript packages are available at npmopen in new window.

TIP

Don't confuse JavaScript with Java. They are two completely different languages!

SQL

Structured Query Language (SQL) is a domain-specific language used to access and manage data in relational databases. At least basic SQL knowledge is essential for anyone who plans to work extensively with data.

SQL syntax at Wikipediaopen in new window

More about SQL in the Databases section below.

HTML

HyperText Markup Language (HTML) is the markup language used to define the content of websites. It's quick and easy to learn the basics, and HTML knowledge is a must for anyone developing for the web.

HTML at MDNopen in new window

CSS

Cascading Style Sheets (CSS) is the language that defines the styles used to present documents written in markup languages like HTML. Learning the basics of CSS is a core skill for anyone developing for the web.

CSS at MDNopen in new window

Last Updated:
Contributors: Andrew Desautels, Alex Mitrani