7 ms·
I think Parc was a unique "a serendipity moment". These Cambrian Explosion type moments happen frequently in history: high creativity in which a new form is dev
by BaronSamedi 9y ago
I think Parc was a unique "a serendipity moment". These Cambrian Explosion type moments happen frequently in history: high creativity in which a new form is developed, followed by an increasing focus on small incremental improvements, and finally stagnation. The amount of potential a new form has determines how long this process takes.
I believe that for workstation/desktop computing we have already hit stagnation. I also suspect that programming languages have not advanced in any significant way since around 1990. By this perhaps surprising claim, I mean that the languages available today are no more capable than those available in the 1980s.
- jackmott 9y ago> I also suspect that programming languages have not advanced in any significant way since around 1990 I would have said not much since 1970? 1950? What big new things have their been?
- vidarh 9y agoReading books about the evolution of computing from different angles, it quickly becomes clear 1) how few ideas are original and/or how few are big leaps vs. incremental steps that tends to occur multiple places at once even in the beginning; e.g. the number of internal projects that would have been "close enough" that were cancelled because competitors beat them by mere months. 2) how much innovation gets stomped into the ground because of ridiculous reasons such as corporate politics. While there certainly are amazing people doing amazing things that deserve recognition, it seems increasingly clear to me that if any of them weren't there, the space would have been filled, and quickly. Maybe in different ways and things wouldn't be the same, but history is so full of independent near-simultaneous invention of practically the same things that it seems that a lot of ideas end up being realized not because of some unique intellect, but because their time has come, and the best these people can do is speed it up a bit. Marketing and adoption is a different issue - I think William Gibson got it right: "The future is already here – it's just not evenly distributed." A lot of the challenge of innovation is not the innovation itself, but getting the knowledge to filter out there. Arguably, it's first the last decade or so that languages like Lisp and Smalltalk has won people over - not by themselves, but by the success of an increasing array of languages created by people who were inspired by them that themselves have taken years to get traction. And even then there are so many low hanging fruit that has not seen traction because, frankly, people are busy, and the amazing stuff often isn't the work most likely to pay the bills then and there.
- lmm 9y agoI don't know how you're defining "capable"; I'd take the view that Haskell/Scala/... are immensely more effective than anything that was comparably mainstream in 1990 (and that Haskell/Scala/... development in practice today is a lot more effective than Haskell in the '90s, even if a language that's notionally the same was available), and that the interesting research languages of today have made similar progress beyond the interesting research languages of 1990. It takes a frustratingly long time for things to percolate into the mainstream, so it's easy to think that, say, ML existed in 1970, and forget that ML is still a long long way ahead of what were commonly used industrial languages even as late as 1990.
- 0x445442 9y agoAnother language that has some very interesting features is Perl6. I know it's the brunt of jokes because of how long it took to bake but I'd say it's innovative over languages from the 90s, namely it's own predicessors.
- catnaroek 9y agoIronically, I'd point at GHC Haskell and Scala as the prime examples of what's so wrong with programming language research today. Today's academic environment only rewards work that can deliver results in a short time frame, which discourages academics from doing badly needed fundamental work. What we need is “a formal semantics for a language, with practical proof principles for designing correct programs”. What academics give us is “a type system with first-class foos, with a proof of type soundness”. Pathetic.
- lmm 9y agoIt's the industry that only wants small improvements that it can digest one at a time. Look at how much anti-intellectual hostility Haskell and Scala attract (even on this very site) for the really quite small steps they're taking. It's not the academics' fault.
- simon_o 9y agoBut those language communities also have to do some self-reflection. People are often hostile to things they don't know. Not taking this into account when trying to introduce new things is a recipe for disaster. This means ... – picking up developers from where they are, not telling potential adopters "if you write Java-like Scala we don't want you here". – meaningful documentation, not answering efforts to improve documentation with "it's not necessary, because everyone already knows Scala". – describing and explaining design choices like companion objects, type classes, context bounds, and so on; not expecting that beginners will understand their superiority through osmosis. – making technologies accessible to people on their platforms, not treating backends such as Scala.js, Scala on Android or Scala-Native as add-ons for existing Scala users (or worse). – taking tooling seriously, and not releasing major versions of the language without tooling support. Or breaking compatibility in minor versions like in Scala 2.12. – clean-ups that removes unnecessary baggage from the language and its libraries. Not lecturing people about the number of keywords or counting the lines in the language's grammar in comparison to other languages. Haskell does some things better in this regard, but both are far from a convincing value proposition over "worse is better" approaches like Kotlin (which will probably swipe the floor with Scala in the future, because they address the bad parts of Scala).
- erikpukinskis 9y ago> I believe that for workstation/desktop computing we have already hit stagnation Nope. Not even close. We haven’t even made a user-friendly function editing tool. After that happens there will be another Cambrian explosion on the desktop. Let me see if I can list more things like that... Well, smart contracts. Those have approximately zero adoption and will probably constitute a double digit share of scripts in the future. We don’t even know how to write them yet. You won’t be writing smart contracts by talking to Alexa... not at first anyway. What else... I think if I can come up with three I will have proven my point... Well, a shared spatial computing environment. VR will encourage prototyping of libraries for structuring that stuff. But there’s nothing about shared computational space that necessitates a headset. I think most of what VR will do is show us new ways to structure desktop software. And those are just things I, a person from the 80s, can point to and say “we haven’t figured this out on the desktop yet but we will”. That’s not even admitting the things we can’t even imagine. I would say we have designed less than 1% of the computational structures that will come standard on a mobile phone in 2050. We’ve been advances in for decades—approaching human lifespan timescales—so it sometimes feels like we’re close to the end. But we’re just at the very beginning of discovering the final form of “windows”.
- gwillen 9y agoFunny you should talk about shared spatial computing environments. Have you seen what Alan Kay's research group is doing lately? :-) https://dynamicland.org/ https://dynamicland.org/
- BaronSamedi 9y agoYou need only watch the YouTube video about the Xerox Star from 1982 to see that the desktop is conceptually the same now. Sure, we have better graphics but all the key elements were there 35 years ago. I'm sure there will be innovation in other areas, perhaps in AR or VR, but the desktop is done; frozen in amber dated 1982.