C language history

Was C the first language ?

Nowadays, the well-known, one might say almost legendary, C language is used almost everywhere and is considered the father of many other languages.
But was C the first programming language? No. This honorary title belongs to assembly language and machine codes. Or maybe this is the first high-level language? Nope. FORTRAN, developed between 1954 and 1957, takes this title for itself.
So was the C language the first in anything ?
For sure, the C language was, de facto, the first and last “Universal assembler” language. Which provides the same speed as an assembler, but at the same time allows you to write programs for different platforms without changing the code, that is, cross-platform.

Why does C even exist ?

Almost the entire early digital age was created by enthusiasts and hobbyists. Excuse me for the expression, but back then people were obsessed with the idea of writing, developing, and implementing something new—not always innovative, but at least useful for its authors.
Denies Ritchi
Dennis Ritchie
Brian Kernigan
Brian Kernighan
This concept works well for the C language too.
According to one version, its creator, Dennis Ritchie, was upset with the capabilities of his server, and the limited control of his ship, in a game that he loved to play with Kernighan. So they ported the game to the PDP-7, and then to the PDP-11.
Oh yes, I forgot to say that these machines did not have an OS, so they wrote their own in Assembly.
PDP-7 computer
PDP-7
PDP-11 computer
PDP-11
And in the future, to make it easier to port programs and operating systems, the C language was developed.
There is also a version that it was an April Fool's joke. A joke that went too far.
But most likely, Bell Labs needed a language to support Unix systems on different computers and with different processor architectures. And within 4 years, from 1969 to 1973, the C language was developed.

Features of the C language

The language had many features, not just the ones mentioned before: cross-platform and speed of assembler. Among other things:
And, as the creator says:
Chevron
Dennis Ritchie
C is quirky, flawed, and an enormous success.

C standards

The history of the language is clearly shown by the development of its standards. Specifically, what the developers focus on, what they remove or add, and what agreements they come up with.

Time before standards and any rules

If we consider the current C standard to be minimalistic, then the first version of the language released in 1972, which was given the name NB (type New B), had at its disposal only the ability to include header files and two preprocessor directives for inserting and replacing lines #include or #define.
Of course, the language did not stand still and quickly expanded. In 1973, a portable C compiler was written by Stephen K. Johnson.

About K&R C

In 1978, the legendary book from Brian Kernighan and Dennis Ritchie was published C Programming Language.
The c programming language cover
This book became the standard for many years, before the appearance of the ANSI C standard. But even after the appearance of this standard, it was believed that every compiler must follow the K&R C specifications.
In 1978, C acquired the following features:

ANSI C or C89

As you might guess, the standard was adopted in 1989, and the second edition of The C Programming language was published.
The new standard includes:

C95

It hasn't changed much. Mostly changed some of the roughness of the C89. Also expanded the number of supported international characters and added digraphs. As alternative symbols to some others.

C99

A key feature of this standard was the change in the operation of some keywords and the emergence of new ones, for example, inline. Here's what's new:

C11

C17

There were almost no changes. Except for canceling some macros and functions. Go ahead.

С language today, C23

And although this standard has not yet been fully implemented by compilers and is not as popular as C99, it would not hurt to find out what new was offered to us in the last year.
So here's what's new :

C family. (Descendant languages)

Only two direct descendants of the language can be distinguished. This is Objective-C, which is based on a new approach to programming, that is, OOP. The second one is much more famous, and that is C++, which complements C with its functionality and introduces a lot of new things. Now a little about how an ancestor differs from his children.

Objective-C

Unlike C++, whose syntax is 99% comparable to C, Objective-C is a completely different story. Its syntax has changed a lot.
And if C is platform-independent, then Objective-C is used only on macOS and iOS.
Code example objective-c
Example of source code of Objective-C
Code example c language
Example of source code of C language

C++

C++ is much more complicated than C. And in general, it can be called the most complex programming language.
This complexity is caused by its extensive functionality, which causes a lot of criticism from C fans and other language fans.
The main differences between C++ and C are:
Code example c++
Example of source code of C++

C-like languages

In addition to the direct descendants of the C language, there are also languages whose syntax is very similar to our “Universal Assembler”.
In addition to the above-mentioned descendants, the following have similar syntax:

Relevance of the C language (Its popularity)

I noticed an interesting phenomenon on the Internet. Almost everyone is trying to prove that C is not dead and is very much in use—that is, a popular language. That is, all sorts of bloggers believe that many others believe that C is dead. But in fact, few people think so.
Honestly, I still don’t understand why everyone suddenly decided to prove that he is not dead. That is, the original source of this thesis is not known to me. Maybe this is because of age, or maybe because Python is so highly extolled that everyone sees how once-popular languages are no longer so popular.
If you look at the statistics on the popularity of programming languages from the TIOBE Index
Popularity of programming languages over time
You can notice that C, in fact, almost never fell below 2nd place. And among the most popular will always be Java and C++. Python has become so popular relatively recently.
Why is C so popular even nowadays? I don't know. And I cannot give an unambiguous, comprehensive, and unbiased answer. But I can share my almost 4 years of experience. I used to program a lot in C++; in fact, that’s where I started this journey. And only occasionally do I touch C. Now my stack has changed, and I use other languages and technologies.
But what’s interesting is that when I return to C, it becomes easier for me—just easier. Compared to the overloaded syntax of C++ or the monstrous number of modules that you have to remember when writing in Python, returning to the fold of C is a relief for me.
Something like this.
Chevron
Linus Torvalds
C++ is a horrible language. It’s made more horrible by the fact that a lot of substandard programmers use it, to the point where it’s much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.

heart 0
3 connected dots 0