Watch the video on YouTube

Five-minute Fundamentals: Understanding the Types and Uses of Programming Languages

In today’s episode of Five-minute Fundamentals, we delve into the fascinating landscape of programming languages - unraveling their core definition, various types, selection processes, and a whole lot more. The world of programming languages is complex yet fascinating, and this post aims to illuminate this landscape for budding programmers and seasoned developers who seek a quick refresher.

Terminology: What is a programming language?

A programming language, in the simplest understanding, is a set of instructions given to a computer to perform different tasks. They are analogous to spoken languages that enable communication between people, except that programming languages let you communicate with a computer.

“Programming languages provide a way for people to write understandable things which can be compiled or interpreted into something the computer can actually use.”

This description is vital as computers primarily function with coherently unreadable code. Thus, programming languages lend clarity and understanding to these otherwise complicated instructions.

High-level Vs Low-level languages

Programming languages span a vast spectrum ranging from high-level languages, which are often closer to spoken language and further from machine code, to low-level languages, which are directly associated with machine code and more challenging for humans to comprehend.

High-level examples encompass Python, JavaScipt, and OCaml while low-level languages include assembly or machine language.

Translating From Human to Computer

To make code usable by computers, programmers need to translate high-level code into machine language. This process singles out compiled languages such as OCaml or C Plus Plus, where a compiler is used to convert the code into bytecode - essentially, the machine language that computers can interpret. The bytecode is consequently collated to create an executable program for a specific operating system that can be run at a later time.

However, languages like C Sharp or Java take a midway compilation approach where conversion happens within a Virtual Machine (VM) while the program runs, a process known as Just-In-Time (JIT) Compilation. This method makes programs more portable, enabling their execution on various platforms including Windows, Mac, and Linux, without the need for additional code or compilation.

Finally, there are interpreted languages such as Python and JavaScript, where the code is read, understood, and executed by the computer when the program runs. This process might incur some trade-offs in terms of speed and efficiency.

Choosing your tool: Which language best fits you?

Simply put, your chosen programming language should ideally be the best tool for your specific job. As you acquire familiarity with various languages, the selection process renders more straightforward.

Remember, the internet is your friend when finding the right fit - a few targeted searches could show you potential languages that align to your interests. But, fair warning: avoid searching on Twitter to eschew biased programming feuds.

As an ending note to our linguistic journey, we’ll leave you with a humorously infallible list of descriptions to help you remember the unique strengths of different languages. These impressions, like any forms of humor, may draw rivalries, so take it with a grain of salt.

We hope today’s post clarified your understanding of programming languages and will make your selection process easy and efficient. Until we delve into the next fundamental topic, Happy coding!