Development

Technology

Web Development

Dev Terminology 101: Common Programming Languages (and their key frameworks)

January 29, 2018

Language enables human communication – spoken or written – with words and phrases structured in a conventional way. Just like we need different languages to communicate with one another, we also need different languages to communicate with computers.

In an article on Stack Overflow, Matt Sherman writes that at a foundational level, all programming languages turn “human thoughts into the 1’s and 0’s that the computer understands.”

There are hundreds of programming languages – why not make it simple and use one language for everything?

Matt Sherman explains why, writing that while most programming languages are similar, there are a few reasons why you’d choose one language over another:

  1. Different tools for different jobs – “Ruby and JavaScript are great for building websites; Java and C++ are often used for financial trading; Python and R are the tools of choice for analyzing statistics.”
  2. Developers have tastes“Some developers like Ruby’s flexibility, while others prefer Java’s strictness. Where some languages feel like math, others look like prose.”
  3. Technologies are supported by ecosystems – “Communities and organizations provide tools and assistance that every developer needs. A good ecosystem can make the individual developer more successful.”

If a programming language can be defined generally as “a set of vocabulary and rules that allow humans to give instructions to computers,” then how do you choose which one is right for your project? Read the quick guide below to learn more about different programming languages and their unique applications and benefits.

Common Languages & Terminology

JavaScript:

JavaScript is a high-level programming language that provides flexibility, fast scripting, and a strong library of tools for both front-end and back-end work.

PHP:

PHP is the most commonly known programming language worldwide. It has been seen as more vulnerable to “bad” code and security loopholes, but this has been dramatically improved with the PHP7 release as well as the Symfony/Laravel frameworks gaining significant traction. 

C#:

A combination of two other languages (C and C++) that was designed to ease web development on the .NET framework. 

.NET:

A framework (often supporting C#), .NET is most often used for enterprise level applications, but it is more expensive because of the licensing for Microsoft software and tools. That said, it’s becoming more accessible now as Microsoft opens up much of the .NET platform and tools. 

ASP.NET:

ASP.NET is an extension of the .NET framework that helps with creating websites.

Ruby/Ruby on Rails:

Ruby is a high-level programming language that is usually used with the framework Rails. Ruby/Rails was one of the first MVC frameworks and has been a popular choice for web applications since 2005, but it is generally more difficult to work with because of a steeper learning curve, and there is less of a market of available developers. It’s very popular for SaaS development.

Python:

Python is the most popular programming language in science, engineering, and math-intensive industries. It’s often used for back-end work involving high volume calculations and complex math, although it is sometimes seen as being too immature to be used as a full-fledged, mainstream web development language. 

High-Level & Low-Level:

High-Level & Low-Level simply refers to the level of abstraction from a computer. For example, high-level programming languages are most accessible to humans – less abstract – due to having syntax that resembles a natural language. Low-level programming languages are ones that allow for closer communication at the base level of how machines work, and they require greater specificity and tighter control of logic (but are often slower to work with due to these additional constraints).

Want to Learn More about Development?

The definitions above are helpful, but really are just the tip of the iceberg. If you’re uncertain about what programming language would be right for your project, give us a call to start having a more detailed conversation!

Also, if you’re interested in learning more about development terminology, follow this link to one of our newest white papers: Your Guide to Development Terminology.

Ben Spencer

Digital Content Strategist

Professional UX Researcher & Writer. Amateur Crossfitter, video gamer, and Planeswalker. I make sense of the world through storytelling and by observing the infinite wisdom of my two beloved Boxer dogs.

You might also like...

25

May.

Using Containers to Automate Your Development Environment

Beginning to work on an existing codebase can be daunting, but it can be even more time-consuming if the team hasn’t taken time to automate the creation of their development environment. When you start working on an existing project, you’ll likely follow similar steps to the ones below to run the code on your machine: … Continued

19

Mar.

The 10-Phase Product Development Process: A Framework

The product development process is often unknown to the end-consumer. When walking into a store or shopping online, we might take for granted how all of the products came to fill the shelves. Since we simply see a finished product in front of us, we don’t often stop to think about how it got there. … Continued

30

Jan.

Machine Learning UI Starts with Trust

With the increasing amount of data, the ability to detect patterns and surface them in a trustworthy and actionable manner is key to remaining competitive. Let’s start by defining a couple things first: UI (User Interface) is the means by which the user and a computer system interact. For the purpose of this article we … Continued