2 ms·
This article touches on some interesting ideas, but doesn't hint at the enormous amount of work that would need to be done to even see if they are feasible, let
by rntz 15y ago
This article touches on some interesting ideas, but doesn't hint at the enormous amount of work that would need to be done to even see if they are feasible, let alone implement them. The author also makes important mistakes regarding PL implementation. Examples follow.
"Without the need for a language, it also disappears the need for a compiler. Everything is such a system is already parsed and ready to use."
A compiler is not just a parser! In fact, the parser is generally regarded as the easy, tedious part of a compiler. This confusion between the syntax of a language and its semantics undermines most of the purported benefits of his proposed "languageless system".
"Whatever the form used to interact with the program, a language-less system doesn’t care if parts of the program are shaped as s-expressions or C blocks: it just combine them as needed to create a program."
The difference between s-expressions and C blocks is not superficial: s-expressions present a natural API to the syntax of the programming language itself, allowing Lisp's distinctive feature: macros. Language syntax and language capabilities are not so easily separable!
"In a program written in this way, using garbage collection is just a matter of plugging the right run time support, which you could get along with the system or you could buy from a third party."
Performant garbage collection algorithms need guarantees about the code they manage (eg. the ability to distinguish pointers from integers for precise GC, and write-barriers for incremental GC). Choice of GC algorithm affects the compilation and capabilities of your entire program, and even the ways you can interact with other programs! You can't just mix and match PL features you find from various languages and expect them not to conflict.