4 ms·
Here's an idea I have: never close-source any programming language, make 'em free and open from day zero. Languages are not products, but infrastructure, like r
by LessDmesg 7y ago
Here's an idea I have: never close-source any programming language, make 'em free and open from day zero. Languages are not products, but infrastructure, like roads. They benefit and grow from the number of users, not from paywalls. Closed languages tend to fade into obscurity. That's why everyone knows Haskell and nobody knows Miranda, everyone knows Java and nobody Eiffel. I laughed when I read that the author of Shen/Qi changed the license from a commercial to a slightly more permissive one, when no one cares about his little language. Such conceit kills languages. Microsoft has realized this only recently with .NET, when the JVM was already miles ahead. Which is sad because the CLR is so much smarter than JVM.
- kick 7y agoHaskell was written as academia's response to Miranda's licensing fees. Were Miranda freeware (but not source available or Free Software), it probably would still be well-known. It's still taught in many universities. I certainly agree that most languages should be libre, but clearly it's not necessary for success. k has brought billions of dollars of profit, but is the most proprietary of all languages. C# developers are the most common in the world, for some reason. VBA is popular. Excel has the most programmers. Mathematica makes millions. Matlab makes millions.
- 9q9 7y agoMiranda's cost was a big problem, but not the only one. The other core issue that lead to the creation of Haskell was Miranda's license that essentially prohibited using it as a tool for programming language research. For good reason, Turner (Miranda's creator) wanted to avoid the fragmentation of Miranda into different dialects. From [1]: > [T]he easiest way to move forward was to begin with an existing language, and evolve it in whatever direction suited us. Of all the lazy languages under development, David Turner’s Miranda was by far the most mature. It was pure, well designed, fulfilled many of our goals, had a robust implementation as a product of Turner’s company, Research Software Ltd, and was running at 120 sites. Turner was not present at the meeting, so we concluded that the first action item of the committee would be to ask Turner if he would allow us to adopt Miranda as the starting point for our new language. After a brief and cordial interchange, Turner declined. His goals were different from ours. We wanted a language that could be used, among other purposes, for research into language features; in particular, we sought the freedom for anyone to extend or modify the language, and to build and distribute an implementation. Turner, by contrast, was strongly committed to maintaining a single language standard, with complete portability of programs within the Miranda community. He did not want there to be multiple dialects of Miranda in circulation and asked that we make our new language sufficiently distinct from Miranda that the two would not be confused. Turner also declined an invitation to join the new design committee [...] Haskell owes a considerable debt to Miranda, both for general inspiration and specific language elements that we freely adopted where they fitted into our emerging design. [1] P. Hudak, J. Hughes, S. Peyton Jones, P. Wadler, A History of Haskell: Being Lazy With Class. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/...
- kick 7y agoThanks for sharing this excerpt, I appreciate it!
- ferzul 7y agoover a long enough time frame, it seems his view is standard. nowadays, there's not really a haskell standard other than ghc. there's other haskells than ghc (e.g. ghcjs) but they're all forks of ghc. research is achieved by enabling extra features (i guess eta isn't tracking ghc, but i think that's because of unviability rather than a specific intention to fork the language.)
- 9q9 7y agoI think the difference is that today nobody is preventing you from forcing GHC or adding features, while back in the early 1990s, Research Software Ltd, the company creating Miranda, would probably have prevented others from forking Miranda. 30 years ago, the value of open source and the network effect for programming languages was not widely understood. In particular, giving away from free and without restrictions a company's core IP was inconceivable for traditional businesses!
- saberience 7y agoHow is JVM miles ahead of the CLR? All I ever hear (at my current and previous jobs) is about how Java's runtime and tools are miles behind .Net and the CLR.
- LessDmesg 7y agoSorry, I meant the JVM ecosystem, of course.
- pjmlp 7y agoAs someone that works with both platforms since the early days. It supports more platforms and implementations than CLR ever will, including bare metal deployments with real time GC. Thanks to those implementations, there is a plethora of GC algorithms and JIT/AOT optimizations not yet available in CLR, like AVX-512 auto-vectorization, JIT code caches with PGO, tiered JIT compilation, real time GC, GC able to deal with multi-TB heaps with ms pauses, ... If you want something like VisualVM or JFR, you need big pockets for Visual Studio Enterprise, and it still doesn't match in capabilities. Naturally the CLR has other things going for it like having had NGEN since day one, value types, reiffed generics and designed from the get go to support multiple languages, including C++.