4 ms·
...if only S. Wolfram would finally have the most obvious insight that he's totally missing: Open-source it! The only programming languages that will ever succ
by nnq 11y ago
...if only S. Wolfram would finally have the most obvious insight that he's totally missing:
Open-source it! The only programming languages that will ever succeed from now on will be the open source ones. Yeah, he can keep special-purpose libraries closed-source. And the server-software behind Wolfram. Maybe even the Mathematica GUI if he also offers a free "community version" or something on the side. But otherwise this will just not work. But the core language and core engine must be open-source with a liberal MIT or BSD license for it to ever grow an ecosystem around it.
Even Microsoft gets it now (with C# and many other stuff)! Apple also gets this with Swift! Typesafe gets it with Scala. Even Oracle partially got it in a twisted way, by allowing things like OpenJDK to exist!
Really, Mathematica and Wolfram seem wonderful tools, but probably as many as 10x the number of paying users would start to use them and contribute to their development (and most of them would also pay for "pro versions",trust me), if only they had an open-source core...
But it's probably too late and any future scientific computing platform will be built around Python and Julia and all the great work done by Wolfram Software will simply be forgotten because they simply don't grok how "business growth" and "software ecosystems" work in the 21st century...
- deleted 11y ago[deleted]
- droelf 11y agoYeah, I agree. In the meantime there is an awesome re-implementation in Python called Mathics. It's also fun to hack some of the not-yet implemented Mathematica commands (I did that last summer). https://github.com/mathics/Mathics https://github.com/mathics/Mathics
- sn6uv 11y agoMathics maintainer here.I'm glad you find Mathics fun to contribute to, I certainly do. Each function is a small independent part so it's really easy to get involved (that's a major goal of mine at least) Thanks for your contribution.
- pjmlp 11y agoI don't know if that would help, but what I really like about the it is how close it feels to the whole Xerox PARC vision of software development.
- jacobolus 11y agoA mathematica license costs $2745 or $1000/year for “professional” use, $300/year for “hobbyist” use, or $115 for students. Every serious university in the world and a large number of technical businesses need to pay for site licenses. If it were open source, many more people around the world would have access, but Wolfram’s cash cow would dry up. Thankfully, open source programming environments keep improving, and between R, Python/Numpy/Scipy, Julia, etc., platforms like Mathematica and Matlab become less relevant every day.
- DonaldFisk 11y agoHe's spent time, thought, and money developing software, and people are expecting him to just give it away, and allow others to make money out of it without giving back anything in return? That would be fair only if the companies which use it to increase their profits also open sourced their software. Before you suggest developers the consultancy route, that penalizes the developers of software which is so well written and documented it can be used straight out of the box. One thing I'd do differently to him: whenever the user isn't goint to profit from the software financially (in this case, hobbyists and students), there's a good case to be made not to charge for it, as without an initial user base, it will be difficult to sell it to companies. But if he wrote the code, he can decide on its licence.
- kenbellows 11y agoHe doesn't have to open source it/give it away if he doesn't want to, of course, but if he doesn't, his language and tools will probably eventually be surpassed in use by other, more open tools and languages. That's the way language and tool development has been going lately.
- DonaldFisk 11y agoThat helps to prevent his software from becoming a cash cow, as it encourages constant innovation on his part to stay ahead of the open-source competition. But until the open source replacement is as good, he'll still be able to earn money by licensing it.
- IshKebab 11y agoIs the language itself that interesting anyway? I think 99% of the appeal is the algorithms and datasets they provide, which I seriously doubt they would ever open.
- tenfingers 11y agoThe language in itself is mildly interesting, since it's based on term rewriting. The closest language implementation in open source is "Pure" (http://purelang.bitbucket.org/ http://purelang.bitbucket.org/), which I personally find superior in many respects. Term rewriting is an interesting topic, but it's not a deal-breaker as wolfram is trying to convey. We have many alternatives nowdays. The perhaps non-obvious limit is that the ordering of the rules plays a central role in term rewriting (as it does in it's close cousin: pattern matching), which makes it "cumbersome" (or quirky) to extend in a truly modular way.
- amelius 11y agoI'm wondering why they didn't opt for a purely functional language. That would make much more sense in a mathematical context, since the program text would then be much easier to reason about mathematically, and it would be much easier to treat programming constructs as first-class objects.
- ansgri 11y agoThe language editor is what's really good. It allows full structural editing, mixing Lisp-style and math-style expressions. And the workbook allows to display all kinds of objects. Which (like images) you could actually copy-paste as values in expressions.
- taliesinb 11y agoI've advocated this too. One (large) practical issue is that Mathematica includes several libraries and APIs that have been licensed from third parties to fill out its suite of algorithms and data. Removing these for an open source edition would leave gaps in the language, though it's unclear to me how 'neat' the holes would be, or how much they might cripple the experience. Even if Mathematica is never open sourced, there's still value in having a commercial language that can incubate new ideas or applications of existing ideas, for open source efforts to either ignore or riff on. The document+repl model used by IPython/Jupyter is an example of something that WRI didn't pioneer but certainly helped popularize in its modern form. Another example that I think should be more widespread is the idea of 'superfunctions' whose arguments exploit a simple grammar to scale from simple invocations to arbitrarily complex ones. In effect you have a lightweight DSL -- a large or infinite family of functions fused into one -- which I think can buy a great deal of concision and flexibility. GroupBy (https://reference.wolfram.com/language/ref/GroupBy.html https://reference.wolfram.com/language/ref/GroupBy.html) is one small example of this idea; in its simplest form it just partitions a list into equivalence classes, but scales up via its argument grammar to something more like (optionally nested) MapReduce. Part (https://reference.wolfram.com/language/ref/Part.html https://reference.wolfram.com/language/ref/Part.html) would be another example. Again, this isn't something unique to Mathematica, you see variants of this idea in e.g. Clojure and Haskell, but my impression is that we've incorporated it into a wider cross-section of our language and made it more light-weight and convenient to use. Another thing that I often think about is the notion of having a deep web of interrelated structures and behaviors, for example colors both have a visual display form (little colored boxes), IDE edit mechanics (you can click them to edit them in a palette), and polymorphic properties like distance, so that functions such as Nearest and FindClusters can 'automatically' operate on them. That's of course hardly novel, typeclasses in Haskell were designed to do precisely this, arguably more elegantly and user-extensibley. But I think Mathematica shows how it is really valuable to have not just the capability to do this, but having it built in and working -- with many of those n^2 possible interactions between functions and data already curated and implemented. WRI is far from having done this completely, but again, we're trying, and I don't know of other groups that are trying to do this in an as integrated a way, across so many areas of computation.
- tenfingers 11y agoIt reminds me of "rebol". Although rebol never actually had a large market to begin with. Mathematica might have a chance if open-sourced, but it's not the language which is interesting from a technical perspective, but the entire ecosystem of base libraries which is quite well done and which probably has much deeper copyright issues.
- amelius 11y ago> ... because they simply don't grok how "business growth" and "software ecosystems" work in the 21st century... Well, to be fair, Wolfram is one of the few scientists actually making money from scientific software. I've seen software companies doing much worse, to the point that I actually doubt there is any serious money to be made from most scientific/engineering software.
- jordigh 11y agoWolfram has never freed up anything. I would be extremely surprised if he ever did it. Leadership of his company would have to change, I think, before he considered releasing anything as free software.
- e12e 11y ago> ...if only S. Wolfram would finally have the most obvious insight that he's totally missing: > Open-source it! Agreed. But I think the main reason for doing so, is in service of open, reproducible research. I'm sure if you're modelling blast patterns for a rocket to replace the Hellfire, you don't really care if your model stands upon series of locked, proprietary stuff -- as long as it is useful. But if you're modelling influence effect of various ways to organize voting in democratic government, or doing publicly funded fusion research -- it's much more important that your results are transparent and easily reproducible (now, and in the future, which could be decades, or even centuries, away). And I think that exploratory research and experimentation is exactly one of the strengths of Wolfram. But it needs to be much better than open solutions for it to even make sense to recommend a closed tool over various open tools -- for producing open research. Consider if Einstein's research was locked up in some proprietary platform, rather than presented as simple text. While we'll see many papers and innovations in the space that is readily covered by human readable equations and text -- we're already firmly in a world were there are real discoveries that are made and proven only with the help of code. I really can't see any future for a closed system in such an academic setting (but I can certainly see that closed systems can sell, and be used as tools in companies... provided that those tools continue to be taught and used in universities...).
- caligastia 11y agoAgreed. Mathematica is awesome, and I did research with it that would've not been possible with any other tool, but the day I had to contact the company for permission to transfer the license to another computer made me realize I didn't want to build any IP on top of their tech. A language, unlike a complete environment like Mathematica, allows you to build your own programs whole-cloth. But if those programs ultimately require Wolfram's permission to run, I don't really care how awesome it is, I wouldn't touch it with a 10 foot pole, for fear of it becoming the next J++. They can still make money by charging for printed manuals, support, or offering some sort of supercomputing back-end like EC2 for research institutions. But for a serious developer to invest their own time learning this tool, the risk of a closed ecosystem is too high.