Though not great on the _how_ i think this article is at the very least forward thinking. I'm not sure why everyone else here has to try to box a relatively original thought in with whole bunch of old failed ones to drag it down (like the 'visual programming languages' we all know and hate).
The Wasteful Legacy of Programming as Language
11–19 of 19 posts
Re: The Wasteful Legacy of Programming as Language
#12Ironically, the author seems to believe that programming language syntax can done away with since the textual representation of a programming language is just an incidental detail, yet he simultaneously believes that the syntax is so central to what makes a programming language that by getting rid of it you'll be left with something conceptually independent from the features in any particular language.
I'll just quote a couple paragraphs from the article to illustrate how confused it is:
> 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. Instead, we erroneously consider garbage collection as a fundamental attribute of the language in use. As another example, in a language agnostic system we would would be able to create and call closures by just adding a simple module to the system, not by devising yet another language that supports closures as a first class citizen.
> But the advantages don’t stop there. 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. When we combine pieces of code they already know how to glue themselves to each other, so there is no need for a linker either.
Re: The Wasteful Legacy of Programming as Language
#13"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.
Re: The Wasteful Legacy of Programming as Language
#14Re: The Wasteful Legacy of Programming as Language
#15Visual programming is becoming more common, but it is coming from the text environment. IntelliJ is showing the way: wizards that are embedded in your text editor, so you hardly notice them (e.g. renaming a variable.)
That's where the technical leverage is: improving our current development environments, not in completely changing the way we write code.
Re: The Wasteful Legacy of Programming as Language
#16Now, if one uses a homoiconic language, visual and text programming can potentially become (mostly) equivalent concrete syntaxes for the same abstract syntax.
See Android App Inventor, which uses visual blocks that compile to a subset of (kawa) Scheme.
Re: The Wasteful Legacy of Programming as Language
#17This is very close to describing (in very vague terms and not too great on the detail) a part of my present side project, and as such I completely believe in it [and respectfully disagree with most of the other comments here]. If I don't achieve it - I'm pretty sure that someone else will, and it will (in whatever form) make a significant impact.... Though not great on the _how_ i think this article is at the very le…
Re: The Wasteful Legacy of Programming as Language
#18"After some time he asked me if I was aware of the work by Chromsky [ sic ] on formal languages. I told him that yes, Chromsky work was a basis for much of the developments in theoretical computer science." Really? You couldn't proof-read long enough to notice two misspellings of the single most recognizable name in modern linguistics, and you want people to read your blog post on that same subject?
Re: The Wasteful Legacy of Programming as Language
#19This is very close to describing (in very vague terms and not too great on the detail) a part of my present side project, and as such I completely believe in it [and respectfully disagree with most of the other comments here]. If I don't achieve it - I'm pretty sure that someone else will, and it will (in whatever form) make a significant impact.... Though not great on the _how_ i think this article is at the very le…
The author doesn't provide a solution. Or his solution is so incoherent that it's simply not one. Listen, we are all frustrated. We're all waiting for the deus ex machina language that will be a direct interface to pure thought. But belittling people just because they stomached their frustration and continued to make progress in the field of "wasteful" programming languages is not the way to go.
I'm not sure where you see this belittling coming from... maybe I'm missing something? I certainly didnt see any belittling of programmers here.