Which kernels are the smallest, the cleanest programming languages exist on the evolutionary backbone.
The smaller the design of a language kernel, the cleaner it is, the more tenacious its vitality is-"hackers and painters"
Now what language kernel design is small and clean?
Reply content:
Which kernels are the smallest, the cleanest programming languages exist on the evolutionary backbone.
The smaller the design of a language kernel, the cleaner it is, the more tenacious its vitality is-"hackers and painters"
Now what language kernel design is small and clean?
In fact, Graham is the implication of Lisp, he is really very fond of the language, in the hacker and the painter many times highly praised.
According to his small and clean definition of the core of the language, I think we may not have a programming language now (I mean at least tiobe top 20) to achieve this standard.
The language kernel that Graham refers to is small and clean, in my opinion, mainly refers to the language of less rule, more compact, and not refers to the superstructure (toolchain, function library, design ideas, etc.) above the language. Lisp satisfies this definition, and if you learn a little, Lisp will know that the language core of Lisp can be learned almost in an afternoon, which is obviously affordable, simple, small, clean.
We all know that no matter what language you use, although they offer different features, they actually have the same expressive power, that is, they are all Turing's full-fledged language. The expressive power is the same, but different languages provide different levels of abstraction, and then the language is different in ease of use. As a language for human use, it is clear that the higher the level of abstraction, the more support is provided to common patterns, the more useful, the more efficient the development. and modern development language is mostly engineering use, so if the simple kernel as a design idea of the very obvious result is the repeated invention of the wheel is numerous, development efficiency is not high, error prone and so on. Therefore, from the engineering point of view, we will add a lot of non-core "seasoning", so in this sense, modern language is mostly oriented to engineering needs, so often do not have this feature
In addition, if the main topic is interested in this kind of "clean" language, you can look at some of the academic language
There are a lot of fun languages that may satisfy your curiosity:-)
Lua Programming Language
It is not clear how the book defines the 编程语言的内核
concept.
If only the basic configuration of high-level languages such as memory allocation mechanism, stack management policy, and so on, these languages are not much different.
But if it involves a full-scale comparison of the operating environment, the interpreter, and so on, it is obvious that C, Golang, etc. are much more than other languages that require a running environment 干净
.
I think the closer I write to the natural language, the more stubborn I am.
Lua +1.
The Brazilians are not only football, but Lua makes us blush.
At this stage, it Python
should be closest to the natural language.
Io
Io
Io
A language that only has 5 BNF
A programming language may include compilers, virtual machines, garbage collection (GC), and so on, and if all of these are added together, then C is the simplest.
Seriously, the formal language standard for scheme (R5RS) is only 50 pages. It seems that the latest R7rs has 80 pages.
The scheme interpreter I wrote in Haskell was about 400 lines, though not exactly in accordance with the standard, but it was enough to do the exercises (fourth I haven't seen) in the first three chapters of SICP.
Not serious words, brainfuck,whitespace and other exotic Language bar.
The Brainfuck and whitespace language interpreters that have been written to practiced hand: Https://github.com/Alaya-in-Matrix/Anjelica
Lisp
Wiki
lisp
, strictly speaking, there are only nine grammatical rules, and the others are grammatical sugars.
Haskell
Also not much, specific how much I also do not know, because is only a beginner, just see behind the definition of a lot of things are just syntax sugar and the optimization of these sugars.
Obviously, Lisp.
The literary youth in programming languages are not lisp.
Script: Lua
Lua Programming Language +1
When it comes to the kernel, I've never seen a more concise than Lua.
Can look at the source code of Lua, write very good. With just 24000 lines, a powerful extended language is implemented.
Scheme+1
I think C's kernel is small enough because it has little kernel.
There are some students think scheme kernel small, I think this is only see the surface phenomenon. It is not possible to measure the kernel size based on how many pages the scheme standard has. Nothing else, only memory recycling this thing, it can make its kernel is not small or clean.
10100010101001011101
is not assembly language??
The cleanest is 01, or more in-depth is the diode switch, no one
What language I do not know the Linux kernel must be very clean