4 ms·
I think a better illustration of the usefulness of PL research is to compare the languages produced my Microsoft and Google. Microsoft produces C# and Typescri
by JesperRavn 11y ago
I think a better illustration of the usefulness of PL research is to compare the languages produced my Microsoft and Google.
Microsoft produces C# and Typescript. Google produced Go and Dart. I think it's fair to say that C# is a better language than Go. The biggest flaw in Go (lack of generics) is met with the weak excuse that they haven't figured out how to do it right. I don't know much about Dart, but Typescript is a stellar language.
Microsoft has a lot of PL expertise in house, including Simon Peyton Jones. Their languages clearly benefit from expertise in PL theory. Google, on the other hand, favors pragmatism over theory and prefers to draw on software engineering experience. Google's languages aren't bad, they just don't seem to have much going for them as languages. Their failings are partly made up for in other things, like the toolchain, libraries, etc.
So I think looking at these real world examples, it's clear that PL theory does lead to better languages, even when one excludes languages like Haskell with little industry adoption.
- seanmcdirmid 11y ago> Microsoft has a lot of PL expertise in house, including Simon Peyton Jones. Their languages clearly benefit from expertise in PL theory. Google, on the other hand, favors pragmatism over theory and prefers to draw on software engineering experience. Google has ALOT of PL expertise in house, so much so that a lot of them don't work on PL. There language design is actually quite competitive to Microsoft's, on the theory, design, and implementation sides. Whenever we go to conferences, you'll usually have similar numbers of current and ex-academics from MS and Google.
- marssaxman 11y agohttp://4.bp.blogspot.com/_D_Z-D2tzi14/S8TRIo4br3I/AAAAAAAACv4/Zh7_GcMlRKo/s1600/ALOT.png http://4.bp.blogspot.com/_D_Z-D2tzi14/S8TRIo4br3I/AAAAAAAACv...
- pjmlp 11y agoYet the best that have came up with are Go and Dart.... While Apple and Microsoft have come up with Swift, F#, F*, C#, TypeScript.... I wonder what those so called PL researchers are doing at Google.
- seanmcdirmid 11y agoWe have a joke in the PL research community that most of them are working on...ads. But really, there is a lot of PL work that you don't see that doesn't exactly involve new languages (e.g. adding asynch to JavaScript, compiler work, building frameworks, MapReduce, etc...). Now Apple is the mysterious company that doesn't interact with the research community.
- thomasvarney723 11y agoIt seems to me that Apple has had a rich history of interesting languages: Squeak, Dylan, Hypertalk, AppleScript and Swift. Those are just the ones I know of.
- pjmlp 11y agoYou forgot Mac Lisp and Object Pascal. :)
- the_why_of_y 11y agoPedantic note: it was called Macintosh Common Lisp (MCL), not to be confused with MacLisp, which predates both Apple and Common Lisp and is from MIT's Project MAC.
- pjmlp 11y agoI confess I didn't bother to search for the real name, so I typed from heart. As side note, here is a very interesting post about the system: http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2013/2/17_Macintosh_Common_Lisp.html http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...
- seanmcdirmid 11y agoApple post Steve Jobs' return has been more strategic and conservative in their PL investments. Hence why swift was kind of a surprise.
- berntb 11y agoMicrosoft clones Java to C# and modifies it, largely as part of a monopolist strategy (to avoid being compatible). Then you claim Google has a more pragmatic design attitude?
- ngrilly 11y agoShould we expect every discussion about PL to be an occasion to rant against languages designed at Google? > I think it's fair to say that C# is a better language than Go. According to what criteria? > The biggest flaw in Go (lack of generics) is met with the weak excuse that they haven't figured out how to do it right. I agree that generics would be useful in Go. But this is hardly a major issue for day-to-day programming in most projects. Here is a better explanation of why Go has no generics, by Ian Lance Taylor, a member of the core team: https://groups.google.com/d/msg/golang-nuts/smT_0BhHfBs/MWwGlB-n40kJ https://groups.google.com/d/msg/golang-nuts/smT_0BhHfBs/MWwG... > I don't know much about Dart, but Typescript is a stellar language. I don't know Dart either, but I'm wondering how you can compare Typescript and Dart if you happen to know only the former. > Google, on the other hand, favors pragmatism over theory and prefers to draw on software engineering experience. Google's languages aren't bad, they just don't seem to have much going for them as languages. Their failings are partly made up for in other things, like the toolchain, libraries, etc. I mostly agree with this. > it's clear that PL theory does lead to better languages Languages are not everything. PL theory can also lead to better tools, that work on existing "traditional" languages (the obvious example being static analysis tools).