3 ms·
Android has industry-wide repercussions. I'm too young to remember but my history says that UNIX was regarded as a crappy, uninteresting operating system for y
by jbooth 13y ago
Android has industry-wide repercussions. I'm too young to remember but my history says that UNIX was regarded as a crappy, uninteresting operating system for years.
Go's dealing with a much more established computing environment than C, so it's not going to take over the industry overnight, but a lot of us think it hits the niche between C and Python very well, and could (with enough time) dislodge Java as the choice for most server-side development.
Agreed on dart.
More importantly, look at how much google stuff is not public: Their whole distributed computing infrastructure. That's why they're not bell labs.
- pvdm 13y agoUnix was certainly an improvement on multics.
- jerf 13y agoI always loathe these attempts to compare how "innovative" the past is compared to the future, when the relative ease of mining entirely new fields of endeavor is not considered. One might as well complain that Humanity's days of invention are clearly behind us, because in the past thousand years we've come up with at most one invention on par with Fire, The Written Word, and Agriculture. And piffle, Computing is hardly that anything more than an obvious extension of other things anyhow. We do not get to discover brand new fields of endeavor every day. Of course Go isn't as "innovative" as C... probably no computer language can be as innovative as C ever again. (Or Lisp, or a couple of others.) Even if one were to somehow be constructed (or simply pulled from the future somehow) it would almost certainly still have some sort of pedigree that could be traced whereby people could poo-poo its innovativeness. This is not a weakness, this is a strength of the richness of the field and how much exploration we've done. We don't get to discover new fundamental things every day precisely because we've done such a good job of exploration in so many fields, not because we've lost the ability to explore.
- nly 13y agoI agree, but I do tend to think true innovation moves around in ebbs and flows, comes in spurts, and is mostly the product of hard work and necessity. Computing has reached a point where resources have become so cheap we don't know what to expend it all on. There's still a hard compsci core, masses of unsolved problems, but most of us live in this nasty ecosystem of commodity "innovations" where it's not even clear there's an incremental improvement, if there is it can be a matter of opinion, let alone something that's going to indisputably change the way most humans live for the next half a century. I don't suppose it's a bad thing, it's just that once a technology reaches a certain level of awesome we expect the flow of goodness to continue, and blinker up and squint at it long after looking for novelty and ingenuity in really small details. The only way I can get a sense of perspective sometimes is to talk to my grandparents, who washed in a tin bath, witnessed TV, washing machines, microwaves and even modern soaps, shampoos and detergents come in to the home. I swear my gran still revels in modern food processes that I take for granted, and sometimes even despise. Somehow incremental improvements in programming language semantics don't seem to compare to the fact that 2 years ago I had laser eye surgery, or that we have the capability to print chips at unfathomable nanoscopic sizes.
- pcwalton 13y agoI disagree that there is no room for PL innovation left. I think the situation with Go is that the authors were deliberately trying not to innovate too much in the interests of familiarity. There's lots of programming language innovation going on, you just don't see it in languages like Dart and Go. Which, by the way, is fine; Go has plenty of reason to exist without being innovative from a PL standpoint. (I would point to languages like Clojure, Kotlin, Scala, and C# as examples of industry innovation in programming languages.)
- MichaelGG 13y agoI guess this is sort of flame-baity, but what did C# really innovate in? Even the highly-lauded LINQ is a few functional features + reified code (and rather ad-hoc at that). I know LINQ is award-winning, and probably changed the industry by putting functional concepts in front of tons of people that wouldn't have otherwise used it. But is there anything even remotely new in C#'s actual language design? (Yes, anyone can be a critic.)
- pcwalton 13y agoasync/await and "where" clauses for variance/existential types, perhaps?
- MichaelGG 13y agoAsync workflow was in F# about 5 years before C#, and implemented purely as a library - no hardcoded keywords needed. As I understand, any language with monad syntax can create such a feature. The new generic variance is actually interesting. AFAIK, the MSR team had that as part of the spec, and it's been sitting in the CLR since 2.0. It's curious that C# is the only language besides MSIL to expose the feature.
- sparkie 13y agoYou're right that the past was not 'move innovative', but I think it's misguided to think we are not discovering new things every day - we certainly are. They're just not noticed immediately because of relative 'obscurity' to an existing paradigm we have built around imperative and structured models of computing. This is the real difference between the past and now - in the past they were free to explore without restraint, but now we are carrying baggage that can't simply be dropped (The requirement to remain compatible with C, JS or whatnot, and worse, the unwillingness of many programmers to learn new things.) Even C had baggage, from (B)CPL and Algol. C wasn't some magical innovation that appeared, but the result of incremental improvements to an existing paradigm, and the popularity of C++, Java and the likes happen for the same reason. Conversely, LISP was hugely innovative because it introduced a new paradigm for thought and experiment, which led to even more new ideas appearing that wouldn't have been discovered if we were only stuck in an imperative world, but some of those ideas were then able to be brought back into the imperative world which brings about more innovations. Likewise, integrating procedural ideas into the mathematical world has brought about new innovations too. I don't see languages like Dart as very innovative because they barely add anything new to the mindset. It's largely existing ideas that have been tried before, getting rid of some of the bad ideas of past, and putting it together in a neat package, however, it's still very much in the same existing paradigm, and incremental improvements to an existing paradigm only tend to solve small problems. Bigger problems will be solved by completely new ways of thinking, but one needs to be able to abandon existing frameworks in order to explore them, then worry later about how to integrate the good ideas into existing models. This can be seen with LINQ - an innovation which cleverly linked ideas from FP into C#, but which no imperative-only programmer could've ever imagined within their limited paradigm. I think people are so disappointed with Dart, and somewhat Go, is because there's a huge amount of innovation in programming languages outside the popular paradigms which they have largely ignored for the sake of making 'simple' languages to appeal to popularity, but many hackers are more concerned with discovery, and advancing our subject.
- mhewett 13y agoI'm old enough to remember and as far as I can recall it was never considered "crappy" or "uninteresting". The command-line interface was considered a bit dangerous (rm /<return> OOPS!) A lot of people were trying to get their hands on it to escape from the stranglehold of IBM and the other non research-friendly OSes.
- mtraven 13y agoYou aren't that old, son: http://web.mit.edu/~simsong/www/ugh.pdf http://web.mit.edu/~simsong/www/ugh.pdf