Update
This commit is contained in:
parent
44be4a9522
commit
780920e41b
13 changed files with 1794 additions and 1756 deletions
|
@ -70,9 +70,21 @@ Besides the standard library there will also exist many third party [libraries](
|
|||
|
||||
## History
|
||||
|
||||
The first higher level programming language was probably Plankalkul made by Konrad Zuse in 1942.
|
||||
WIP
|
||||
|
||||
TODO
|
||||
Very early computers were programmed directly in [machine code](machine_code.md), there weren't even any assemblers and assembly languages, programmers had to do things like search for opcodes in computer manuals, manually encode data and get this all onto punch cards or in better case use some primitive interface such as so called "front panel" to program the computer. These kinds of machine languages that were used back then are now called **first generation languages**.
|
||||
|
||||
The **first higher level programming language** was probably Plankalkul made by Konrad Zuse some time shortly after 1942, though it didn't run on any computer, it was only in stage of specification -- implementation of it would only be made much later, in 1975. It was quite advanced -- it had [functions](function.md), arrays, exceptions and some advanced data structures, though it for example didn't support [recursive](recursion.md) calls.
|
||||
|
||||
The **first [assembly](assembly.md) language** was created by Maurice Wilkes and his team for the [EDSAC](edsac.md) computer released in 1949. It used single letters for instructions. Assembly languages are called **second generation languages**, they further help with programming, though still at very low level. Programmers were now able to write text (as opposed to plain numbers), instructions got human friendlier names and assemblers did some simple but tedious tasks automatically, but it's still it was pretty tedious to write in assembly and programs were still machine specific, non-portable.
|
||||
|
||||
Only the **third generation languages** made the step of adding [abstraction](abstraction.md) to achieve a level of comfortable development and portability -- programmers would be able to e.g. write algebraic expressions that would be automatically translated to specific instructions by the language compiler; it would be enough to write the program once and then automatically compile it for different CPUs, without the need to rewrite it. **[Fortran](fortran.md)** is considered to be first such language, made in 1957 by [IBM](ibm.md). Fortran would develop and change throughout the years, it was standardized and added more "features", it became quite popular and is still used even nowadays, it is known for being very fast.
|
||||
|
||||
Perhaps the greatest event was invention of the **[C](c.md) language** in 1972 by Dennis Ritchie and Brian Kerninghan who used it as a tool for their [Unix](unix.md) operating system. The early version C was quite different from today's C but the language as a whole is undoubtedly the most important one in history -- it's not the most elegant one but it achieved the exactly correct mixture of features, simplicity and correct design choices such as allowing freedom and flexibility of implementation that would in turn lead to extreme efficiency and adoption by many, to standardization, further leading to many implementations and their high [optimization](optimization.dm) which in turned increased C's popularity yet more and so on. From this point on new languages would typically in one way or another try to iterate on C.
|
||||
|
||||
Also in 1972 the **first [esoteric programming language](esolang.md)** -- INTERCAL -- was created as kind of parody language. This would create a dedicated community of people creating similar "funny" language, which is highly active even today.
|
||||
|
||||
TODO: esolangs, JS, Python, Java, x86
|
||||
|
||||
## More Details And Context
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue