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

UX Researcher & Writer

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.

Adventures in Optimizing Performance

Even if a programmer is very comfortable with their codebase and their technology, they won’t always be correct in determining what portions of the program are running slow. To that end, the first step for optimization with an existing system is profiling or measuring the code base. This ensures that the critical parts slowing down … Continued

25

Apr.

How to Create a Fuzzy Search-as-You-Type Feature with Elasticsearch and Django

Tutorial: How to Create a Fuzzy Search-as-you-type Feature with Elasticsearch and Django Recently, I had to figure out how to implement a fuzzy search-as-you-type feature for one of our Django web APIs. I couldn’t find any comprehensive tutorial on how to build this specific feature, so I decided to combine multiple sources and document the … Continued

12

Apr.

6 Things to Look For in a Web Hosting Provider

People often ask us who we recommend for web hosting. Different needs dictate different solutions but there are some universal requirements which almost always need to be met. We have client sites running on many different hosting providers but rather than discuss specific companies let’s go over what we recommend looking for in a web … Continued

Pacific Science Center

application maintenance and development

Pacific Science Center

Cisco

mobile development

Cisco

Deloitte

web design, microsite development

Deloitte

Seattle Public Library

ui/ux design, microsite development

Seattle Public Library