Pros and Cons of the High-Level Programming languages

Comparative Programming Languages with Kristoffer Hebert

Kristoffer Hebert
2 min readOct 14, 2018

What is a High-Level programming language?

High-Level programming languages are optimized for human to read and write. Unlike Low-level programming languages, Memory and CPU resource management is generally handled automatically by the language. Usually have open source package repositories like NPM or PIP, where people can share reusable modules of code. Additionally, High-Level programming languages are compiled or interpreted from human readable code into machine-readable code based on the computer.

What are some examples of High-Level programming languages?

Python, Ruby, Node.js, Java, C++, and C

Examples of Low-level programming languages

Assembly, and Machine Code

Pros of High-Level Programming languages

Developer Happiness

Decreased ramp-up for people to a new code base. It is easier to learn, write and read high-level programming code. Bugs are easier to debug and find due to the high readability of code. All of these factors increase developer happiness.

The Same Code Runs on Every Machine

All High-level programming languages have code interpreter or compiler. Each computer has different processors and operating systems with their own unique environment. Compilers allow a program to run the different kinds of machines.

Cons of High-Level Programming languages

Lack of Memory and CPU management

With the minor exception of C and C++, High-Level programming languages lack the ability to program with CPU and Memory management logic.

Slower performance

High-level programming languages can’t match the performance of machine code. All High-level programming languages have an interpretation or compilation step, where the human-readable code is compiled to machine code. This step slows down the performance of your application.

Lack of Flexibility

High-Level Programming languages often have language specific way of doing things. Ruby on Rails is a framework for web applications. It provides sane defaults and rigid way of doing things. Step out of the boundaries of the framework, and you will begin to write fragile code to work around it.

--

--