If you didn’t get a chance to see the projects this cohort, take a look at some of our favorite projects.
If you’re looking to get into the tech space, and more specifically development or engineering, you will have to learn a programming language. In fact, you’ll have to learn at least one language very well, and be expected to know multiple languages and systems, and to transition between them regularly.
Taking a step back, you will fundamentally need to have an understanding of how computers work, and learning a programming language is the most immediate way to develop a strong grasp of computing environments.
With a dizzying array of programming languages, though, getting started can seem a bit overwhelming. Here are some tips on how to choose your first programming language.
What is a Programming Language?
A programming language is a system of symbols and words with syntactical rules that can be used to control the resources of a computer – namely the CPU, memory, and inputs/outputs such as a keyboard, mouse, and monitor. Computers are electrical devices that are controlled by electrical signals in the form of low/high voltages, which are known as 0 and 1. A computer, therefore, understands a series of signals made up of 0s and 1s, or binary.
For humans, writing in binary is very difficult, so having human-like languages that can be translated down to these 0’s and 1’s makes controlling computers much easier. However, there is no one universal programming language and all programming languages are eventually translated down to 0s and 1s.
Similarly, in the human world, there is not one human language. There are many families of human languages – some with obvious relationships and evolutions, while others are completely separate and unrelated. All humans have similar experiences in life and numerous languages have all evolved different ways of expressing those experiences.
Many computer languages share fundamental concepts, just like human languages do, even though syntactically, they can look different. Some programming languages are very domain specific – for example, some can be used to control a specific electrical device – while others are so general that they can be used on virtually any computer or device and can solve any problem.
Programming languages that are closer to a problem domain, and more human-like and abstract, are called “high-level” programming languages. Languages that are more computer-like in their syntax and terminology are considered “low-level” programming languages.
High-Level vs Low-Level Programming Languages
All programming languages are based around some fundamental paradigm or a set of paradigms, that form the conceptual approach to using that programming language – and there are numerous programming paradigms. This affects the expressiveness of a language, and how easy it is to solve various problems. Some common programming paradigms include:
- Functional: Conceives of a problem as solved through a series of “functions” that, given the input, return a result. By putting together these functions, you can achieve the result you want.
- Object Oriented: Conceives of a problem as a system of objects that interact with each other, like in the real world. Objects have properties and actions that they can take, and can manage their own state.
- Imperative: A more literal, computer-like paradigm that conceives of a problem as a series of instructions for the computer, such as accessing computer memory, creating branches of instructions, and using indices to control repeating code.
- Event-Driven: Conceives of a problem as a series of events that can happen at any time, in any order. This is important because events are unreliable – anything can happen. So, a Programmer defines what they want to happen when an event occurs, without worrying about when exactly that event will happen.
Your First Programming Language
For your first, you will often be learning a general programming language that incorporates some or all of these paradigms. These are mainstream languages that have numerous resources available to learn from.
Learning any of these languages will give you a strong understanding of what computers are about, and allow you to develop your programming skills. So while choosing your first language can seem like a daunting task, getting started is far more critical, no matter what language you choose. In fact, most programmers today probably do not program professionally in the language they first learned, and have since learned additional languages.
Practical Considerations When Choosing a Programming Language to Learn
Most people who are looking to learn a programming language are approaching it pragmatically, as in “Which programming language is most likely to help me get a job the fastest?”
From a practical perspective, the choice of a programming language depends on two main factors: Industry and Domain.
Different industries might favor certain programming languages. For example, many enterprise web applications, such as banks, use Java or C# for much of their infrastructure. The age of an industry or company can also affect the tech stack used – many SaaS companies started in the early 2000s were developed using PHP and may continue to use it.
If your goal is to get a job, getting to know your ideal workplace and industry can help decide what language you should focus on. Job postings are a good place to start; if companies you’re interested in seem to be asking for a particular language, that’s something to consider.
Some languages are more widespread than others, and you might find learning those languages easier and more broadly useful. There are also more niche programming languages, which can be useful, but which might limit your job opportunities.
When choosing a first language, it’s important to remember that languages increase or decrease in popularity and evolve over time, with new languages emerging that are more powerful and effective than previous languages or versions.
Programming is a way to express ideas through a language, and, like all languages, this language will evolve over time. There is, therefore, always more to be learned, with new ways to express solutions to problems.
At the end of the day, if you are aiming for a career in the tech space, your goal should be to understand how computers work and to focus on adding to that understanding, every day of your career.
Many programmers don’t even use their first programming language on the job, but the understanding of programming and computing they gained has served as the foundation for an entire career. So, if you’re thinking about learning a programming language, don’t be intimidated. Whichever language you choose, it probably won’t be your last!
Get started with BrainStation’s Web Development certificate course.