5 ms·
On the other hand, the academic community seems to have a fairly narrow outlook on programming language design. Go seems to be more concerned with ergonomics th
by krakensden 16y ago
On the other hand, the academic community seems to have a fairly narrow outlook on programming language design. Go seems to be more concerned with ergonomics than provability, which seems like a reasonable decision from where I stand.
- masklinn 16y ago> On the other hand, the academic community seems to have a fairly narrow outlook on programming language design. That's a joke right?
- nl 16y agoI don't think it's a joke. The academic community is - almost by definition - focused on doing "new stuff". That means, for example that they have a significant focus on getting type systems correct, but often consider things like integration with existing 3rd party libraries uninteresting. You'd never see a language like Perl, PHP, or even Javascript come from the academic community because they don't break any new ground.
- uriel 16y ago> You'd never see a language like Perl, PHP, or even Javascript come from the academic community And you certainly will never see language like C come from academia. Nor an operating system like (the original) Unix.
- radq 16y agoWeren't both C and Unix innovative at the time?
- dagw 16y agoNot really, at least not from an academic point of view. C showed up a few years after languages like LISP and Simula and around the same time as Prolog. Those languages are far more innovative than C. C on the other hand basically took well known concepts from BCPL and PDP Assembly and improved on them and made them portable. Unix was basically a simpler, easier to use version of MIT Multics, designed for the smaller and cheaper PDP-7. Most of the innovative ideas in Unix had first implemented in Multics. So while neither C nor Unix where truly innovative, even for their time, they won out because they took well known concepts and actually made them work in a practical sense.
- swolchok 16y agoC came from Bell Labs; it's not entirely clear to me that an industry research lab counts as academia.
- loewenskind 16y ago>You'd never see a language like Perl, PHP, or even Javascript come from the academic community because they don't break any new ground. No, you'd never see these languages from the academic community because they're horribly designed. They design betrays someone who has learned nearly nothing from existing languages as they all make mistakes that were encountered and solved decades ago.
- berntb 16y ago>>They design betrays someone who has learned nearly nothing from existing languages as they all make mistakes that were encountered and solved decades ago. But... the whole point with the popular scripting languages is that they are easy to pick up -- just because they are heavily influenced by old languages! (Besides, it is one thing to copy features from existing languages -- doesn't imply there is nothing interesting in the new languages. [Edit: Not all, at least. :-)] ) Edit: Here is an example of the last case: A few years ago, I heard a talk about Moose, a replacement for OO in Perl (by Yuval Kogman/"nothingmuch"). There were two main points (1) Moose is stable, (2) it is modern. "And with modern, I mean the latest research papers".
- loewenskind 16y ago>just because they are heavily influenced by old languages! They show signs of knowing about older languages but not understanding them. For example perl has dynamic variables (this is a huge win and for me the only good thing I have to say about the whole language)... but they're default. We had already fought this out in Lisp and found out that while they're an incredible concept and should be in any language that favors mutating variables, dynamic variables should not be the default. Python using crappy one line lambdas instead of real closures. Why? Because Guido seems to not get functional programming. Ruby copies Smalltalk but Katz says Smalltalk "goes to far". What? A lot of the problems that trip people up in Ruby aren't a problem in Smalltalk. The biggest difference between the two is that Ruby isn't image based, but Smalltalk doesn't have to be either. For me the biggest problem with the scripting languages is that they don't have any need to exist. They usually copy features from existing languages that already did a better job. If the manpower they got had been focused on the source languages the communities could have gotten a lot farther. >There were two main points (1) Moose is stable, (2) it is modern. "And with modern, I mean the latest research papers". The papers he was talking about were likely the Traits papers. Traits were done first in Smalltalk and aren't needed in Lisp because CLOS has proper multiple inheritance. Moose does look ok though.