4 ms·
> Fortunately, academia doesn't have a monopoly on "deep thoughts" Are there many examples of language features / designs where expressive power isn't derived
by swannodette 15y ago
> Fortunately, academia doesn't have a monopoly on "deep thoughts"
Are there many examples of language features / designs where expressive power isn't derived from prior academic research?
I've used quite a few popular programming languages and they certainly feel "useful" because of syntax, libraries, easy to run on UNIX, etc. Most the "deep thoughts" in these programming languages can be easily found in prior academic literature.
Glad to hear of some examples if you have any! :)
There's plenty of evidence that good engineering can be accomplished with popular programming languages. But I think we're still a long ways off from beautiful engineering. Any way forward needs to elegantly intertwingle Theory & Praxis.
- jashkenas 15y agoSure. PHP's "deep thought" was that in the context of building dynamic web pages, perhaps it made sense to embed a scripting language into HTML itself -- instead of calling out to an external program. There's an example of the initial idea being responsible for much of PHP's enduring success. And here's an anecdote that explains how it was (lack of) readability in significant indentation that led to Python getting its colon: > In 1978, in a design session in a mansion in Jabłonna (Poland), > Robert Dewar, Peter King, Jack Schwartz and Lambert were > comparing various alternative proposed syntaxes for B, by > comparing (buggy) bubble sort implementations written down in > each alternative. Since they couldn't agree, Robert Dewar's wife > was called from her room and asked for her opinion, like a > modern-day Paris asked to compare the beauty of Hera, Athena, > and Aphrodite. But after the first version was explained to her, > she remarked: "You mean, in the line where it says: 'FOR i ... ', > that it has to be done for the lines that follow; not just for > that line?!" And here the scientists realized that the > misunderstanding would have been avoided if there had been a colon > at the end of that line. (from http://python-history.blogspot.com/ http://python-history.blogspot.com/)
- swannodette 15y agoPerhaps for me "deep thought" means something particular which ends up having wider ramifications. These just seems like anecdotes about known "deep thoughts". The first one the power of templating / macros, the second the power of good syntax.
- hythloday 15y agoAre there many examples of language features / designs where expressive power isn't derived from prior academic research? Off the top of my head, you might consider that the following count: * Design by contract * C3 linearization (i.e. multiple inheritance) * Traits (or mixins) * Prototype-oriented programming * Aspect-oriented programming * Compilers ;)
- silverlake 15y agoOff the top of my head... * described by Bertrand Meyer while at UCSB * published in OOPSLA for Dylan * Lisp machine * Self * Lisp
- hythloday 15y agoI think you can fall into a neat little semantic trap where you assert that all languages with novel features are academic, other programming languages are engineering languages and then point out that all progress is made only in academic languages. :) I was hoping to draw a line between the idea of a language feature designed to solve a real-world problem, and one designed to advance the theoretical state of the art--all of my examples are ones I'd regard as being the former, and I have less interest in looking where they were developed or by whom. Lisp definitely qualifies as the second (and with apologies to Whitehead, all programming language design consists as a series of footnotes to Lisp), as it wasn't even intended to be a programming language, but an AST. I don't think that necessarily means that AOP is an obvious implementation of Lisp macros, especially as it took 40 years for them to appear. I don't think it's particularly worth running through the minutae of the claims for each point being an academic language or not when it's just a semantic point. I do think it's pretty disingenuous for the article to claim that Python is not an academic language (when it was developed at CWI) but that C is on the opposite side (when it was developed as a skunkworks project at Bell Labs), and that this is one of the many major flaws in perspective and confirmation bias that the article suffers from--unfortunately, much like the claims about programming language theory that it itself points out.