Article

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

101-Programming-Lang

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!

Ben Spencer

Ben Spencer

Digital Content Strategist

Ben is a Digital Content Strategist with a passion for blending design and writing into a cohesive product narrative. An advocate for research, strategy, and discovery at the front end of any project, Ben excels in high-level thinking about how to most effectively tell a brand’s story in an authentic and relevant way.

Ben received Bachelor’s degrees in Film Studies and Religion from Whitman College, as well as a Master’s in Education from Lipscomb University. He studied UX Design and Content Strategy at General Assembly before joining Fresh’s team in January 2016.

Outside of work, Ben enjoys reading voraciously, watching horror movies, playing video games, and building his skill as an aspiring novelist. He spends every second he can with his wife and his two beloved Boxer dogs, California and Tennessee.