Hacker News new | past | comments | ask | show | jobs | submit login

...open-source when?

There's basically zero widely used programming languages that are not open-source, get to grips with this ffs. Esp. since Wolfram strives to be somewhat-general-purpose in a way (it's not smth like eg. K who's niche anyway) and having an open-source version is crucial in this segment.

Hire some ppl (sales, mgmt, product etc.) who know how to make money from open-source (get some from RedHat, IBM etc.) and make this technology accessible to not have all this effort practically wasted, eg. I'd love to use Wolfram instead of Python, but non-opensource is just a no-go for any foundational technology (language, framework, server).




> all this effort practically wasted

Wasted as in providing a continuously improved product to the thousands of paying customers that fund this effort?


Wasted as in not fulfilling its potential even a little bit.

Mathematica is a very niche product. It isn't even very relevant in academia or in engineering. But it could have been if Wolfram hadn't hobbled it with unproductive restrictions. It could have had an audience of millions, and that audience would have brought it more value than a single company is capable of creating through a community.

Just look at Python. It is just a language. And a not particularly good one at that. ALL of its value comes from the community. Compared to Python, Mathematica isn't even a rounding error in terms of value created.

Imagine if Mathematica had been at the core of the last 15 years of data science, machine learning and whatnot? Imagine if the work and the value that went into the Python ecosystem had instead gone into Mathematica. Imagine if even just one of the many things Mathematica can potentially do well had become the go-to way for doing things.

But it didn't. Because Mathematica is fundamentally incompatible with the way communities work.


Just look at Python indeed. As you say it's a much worse language than many others that were equally available to anyone. And yet somehow it's at the the core of the last 15 years of data science, machine learning and whatnot.

If Mathematica had been open-sourced twenty years ago it wouldn't have taken the place of Python. It probably would be even more niche today - and worse.


> It probably would be even more niche today - and worse.

Maybe, but a better successor would've evolved out of it.

Matlab had Octave as an open source alternative. Not used much, but it inspired the creation of Julia. Based on how fast it's evolving Julia will be the superpowered-grandson-of-Matlab :)

The Mathematica/Wolfram bloodline will unfortunately die off at some point... lots of ideas will be lost and time will have to be spent to reinvent them from scratch atop a different platform... sigh...

(Kind of reminds of the Smalltalk story... in the 80-90s Java won bc. all the practically usable Smalltalk implementations were closed-source and had very bad pricing... We could've had much better OO+interactive languages instead if an open-and-free alternative of it existed... Instead we have ugly Java/C# or slow Ruby in that space.)


Forgetting that Java tool vendors are ex-Smalltalkers?

Including the JIT and GC that powers OpenJDK, which was only made freely available on Java 6 version.

Also that Sun went bankrupt trying to push Java everywhere, while the other Java vendors (and Microsoft with .NET Core), learned to only open the core part, while the crown jewels are kept commercial.


> Maybe, but a better successor would've evolved out of it.

> Matlab had Octave as an open source alternative. Not used much, but it inspired the creation of Julia. Based on how fast it's evolving Julia will be the superpowered-grandson-of-Matlab :)

That's a very contrived argument!

If Matlab has inspired the development of other products without ceasing to exist so can (maybe has) Mathematica.


> … in the 80-90s Java won…

Difficult for Java to win in the 80s!

> … Smalltalk implementations were closed-source and had very bad pricing…

Compared to $0 all pricing is bad pricing.


> much worse language than many others that were equally available to anyone

I've been there during the Python take over and world and it's not my recollection of how it went.

Which are those superior languages that you are talking about?

An important property of Python is that while it may not excel at many things, it's good or decent at everything. Unlike specialized languages like R for example which sucks at everything which is not operations on numbers.


Common lisp and a handful of other scheme/lisp variants, for example, if we talk about high-level general purpose languages.

Lush was a lispy open-source language - implemented in C - that deserved a better outcome.

And of course there were other scripting languages around like Perl, Tcl and Lua. Torch was built on top of the latter, by the way.


The consensus at the time was that one should only use Perl/Tcl for legacy reasons. And that these languages should be replaced with Python.

A few examples, there were countless articles like these:

2000 Eric Raymond (!) - Why Python?

> It was at this point I realized I was probably leaving Perl behind. ... For anything larger or more complex, I have come to prefer the subtle virtues of Python—and I think you will, too.

https://www.linuxjournal.com/article/3882

2002 What's wrong with Perl:

https://www.garshol.priv.no/download/text/perl.html


To clarify, I was mentioning Perl/Tcl as existing alternatives that were "equally bad" as Python - not necessarily better. In any case, the fact that a teaching language like python ended being used for numerical computing - a task that it was not suited for - is accidental.


lush was sadly dynamically scoped at a time the lisp universe in general had agreed lexical scope was the way to go. I feel like it could have gotten a lot more traction if it wasn't for that. (also if I remember correctly its desktop gui libraries were windows only)


I think it was the other way around: the GUI was based on X11.

http://lush.sourceforge.net/news.html

2003-02-19: Rejoice, rejoice! Thanks to Leon, the CVS version now compiles and runs on Windoze under Cygwin. Be sure to read the README.cygwin before installing. What works: the interpreter, the compiler, the dynamic loader, X11 graphics and events. What doesn't (yet) work: external packages such as GSL, SDL, OpenGL...


I think that's a very important point: if you invest time in writing software to solve domain-specific problems, it is a lot better if you can do that in languages that have a hope of making it out of the lab and into software you can run as part of a processing chain or in applications.

A library written in a language usable for implementing whole applications is far more useful than, say, a Matlab project, which you then have to translate into some language before you can actually use it in software.

Python is indeed such a language.

(That being said, Python is a poor language choice from a software engineering point of view because it doesn't have a decent path-of-least-resistance to properly distributing software without burdening the user. I do a fair bit of embedded programming, and it has lead me to the conclusion that Python is a terrible tooling language. I've also had colleagues struggle with what happens when data scientists who are more scientist than software engineer write stuff in Python. It is messy, time consuming and frustrating to actually use the resulting software.

But from a language perspective, yes, Python is a better solution than languages that are narrowly scoped)


Python ended up at the core of data science because it was capable of serving a community. A community that produced comprehensive computational libraries, which, combined with the low threshold for getting started, made it more accessible for an audience that is interested in computation first and programming second.

This is largely the same audience as for tools like Matlab and Mathematica.

And to serve that market it didn't have to be a good programming language. You won't find most data scientists discussing the finer points of functional programming or OO. They'll be discussing what mathematical techniques to use or what stages to string together in order to achieve the computation they want. If you have ever worked with typical data scientists, most of them aren't even half way competent software engineers.

What Python shows is that community beats technical excellence. By orders of magnitude.

Whether or not Mathematica is a better language is irrelevant as it doesn't have the properties required a large community contributing value for free.

We can't know if Mathematica could have taken the place of Python if it was open sourced, because it wasn't open sourced. But it given that it had a more potent programming model, it could have led to a very different path from model to running software, for instance. And it could have made distributed computation arrive a lot earlier.

But it is actually quite a bit more challenging for Mathematica than that since its licensing terms are stricter than products you might compare it to, like Matlab. I don't think Mathematica would even have to be open sourced to be more successful - it would just have to be a less unattractive value proposition. Compare the revenue of Mathworks vs Wolfram Research, for instance. And then take into account that Mathematica has a much more potent programming model that could have far wider applicability than Matlab.

And keep in mind: Matlab doesn't even have a programming model as potent as Mathematica.

I think that the smartest thing Wolfram could have done would have been to open source the language, the runtime, and a reasonable standard library. Then they could have built a business on top of that of reasonably priced interactive software with GUIs, visualization tools, developer tools to make stand-alone applications, server applications for distributed computation and a SaaS solution for customers who want to run computation in the cloud.

And it isn't like Mathworks didn't miss the boat too. But they are still an order of magnitude more successful than Wolfram Research. Which still makes Wolfram Research the slowest kid in the class in terms of unrealized potential.


> We can't know if Mathematica could have taken the place of Python if it was open sourced,

I'm pretty sure it wouldn't have, not with it's current lispy syntax. There is ton of empirical evidence that overt functional style is unnatural for the human mind, especially beginners. Which is why there is no large scale use of any such language.


What empirical evidence exists for that claim? I agree with it, but I'm mostly generalizing from own experience.


The fact that it's not wide spread is the empirical evidence.

> Clearly, there is an obstacle to the acceptance of FP. I think I know what it is. The functional paradigm is an unnatural way for human beings to think. People normally view the world as comprising objects. Nobody views the world as comprising functions, unless he is trained to do so.

https://richardeng.medium.com/fp-is-for-nerds-6ed1ca43bb34

> When it comes to functional programming, a lot of people start with, “But that’s totally unnatural!” Functional programming is compared to working “backwards” and some complain that it’s more about solving puzzles rather than working with code.

https://bulldogjob.pl/readme/functional-programming-does-it-...


Those sources seem to talk about the functional paradigm, when your original claim was about lisp syntax.

It took me reading Practical common lisp to appreciate the Lisp origins of Python (down to documentation strings and a lot of other details).

As a counter datapoint, I have seen people responsible for designing custom parts in Autocad (back in the day when you had to issue commands) master the lisp syntax without giving it a second thought. I found it weird for 5 minutes when I was maybe 12-14 (we had some course about it in school, I don't remember exactly)


> Whether or not Mathematica is a better language is irrelevant as it doesn't have the properties required a large community contributing value for free.

The issue is that other languages which were better and more appropriate for scientific computing _had_ those properties. Or maybe these properties are very specific to python and then an open-source mathematica wouldn't have made a difference either.

> And it isn't like Mathworks didn't miss the boat too. But they are still an order of magnitude more successful than Wolfram Research.

Depends on your definition of success, of course. You focus on adoption but that's not the only goal. The company is an order of magnitude larger but that doesn't make the product an order of magnitude better.


Well, then let's look at some indicators of success.

In terms of adoption Mathematica is even less of a success than if you measure financially. And adoption is a key factor when evaluating whether or not you want to use a programming language for non-trivial projects. It impacts your ability to recruit, access to knowledge (books, forums, evolved practices), usable solutions to common problems (libraries) and even more or less existential questions like whether or not the language will be maintained. Python ticks all of those boxes. Mathematica partially ticks perhaps one of those boxes. And note that this is before we even consider if Python is any good as a language.

If you were to invest in developing a non-trivial system in Mathematica, how enthusiastic do you think investors would be if you nailed your flag to the Mathematica ship? It would not represent good risk management.

Then there's where things are heading. The number of jobs as "data scientist" or "statistician" of some description is growing sharply. It may gain Mathematica a trickle of new users. But the really big gains have been for languages like Python or Julia. Worse still, people tend to move away from software like Mathematica or Matlab, moving to languages like Python and Julia. In fact, it wouldn't surprise me if just the growth in Julia alone over the past couple of years is greater than the total paying userbase of Mathematica.

Single digit, or even low double digit growth in a field that has doubled a few times in the same period isn't success. It is everyone else outrunning you. Fast. And I have seen up close and personal how people who find themselves in that situation will rationalize it with "but we're growing".

Is it a success that it is "good"? For some value of good? Well, a lot of people think Lisp is good. And yet after being around for many decades it is still so hard to find developers to maintain Lisp codebases. I've seen about half a dozen major systems written in Lisp being scrapped once one or two key employees leave. Sure, the systems may qualify as good, even great - but that doesn't help when it becomes a business liability? In the real world it doesn't.

I would have loved for Mathematica to succeed. But it hasn't. And I suspect it won't. Even if it were open sourced right now, I seriously doubt it would bear much fruit the first decade or so. If at all, since the big audiences are focused elsewhere.


By far the most popular programming language in the world is propriatary -- Excel.


Excel is built with programming language and can certainly be used as one, but that doesn't mean it is one. It's also a bit anal to classify Excel as a programming language, most people would say spreadsheets are a tool, where you could write programs, but again, doesn't mean it's a programming language. At most, I'd give you that Excel is a tool that can do "visual programming", but that's far of from being a "programming language".


This is unfair and a far too narrow definition of programming language. Excel sits very squarely in the functional reactive language space. Just because most of it's users don't "know" they are programming and most of our common tools don't work with it doesn't change the fact that it has pretty much all of the building blocks that any programming language gives you. Are there domains where Excel is awkward to use? Absolutely. The same can be said about pretty much any programming language.

Excel deserves to have the label of programming language even if it shuns that label due to it's target audience.


I guess what I was trying to say that Excel as commonly known, is a programming environment, rather than a language. Where you can use the "Excel" programming language for performing most (if not all) tasks a general purpose programming language can.

But it's still a bit like saying "Eclipse" is a programming language. You can do programming in Eclipse, that is true, but you can also do other things that are not programming, which makes Eclipse a programming environment. Just like with Excel.


I don't think this is a true dividing line for a programming language. The Smalltalk language for instance combines both the programming environment and the language together. I don't think anyone seriously argues that smalltalk is not a programming language.


Seems like equivocation — Smalltalk is a programming language when we're using "Smalltalk" to mean Smalltalk the programming language and Smalltalk is a programming environment when we're using "Smalltalk" to mean Smalltalk the programming environment.


Either way it is still entirely valid to refer to Smalltalk as a programing language.


As-long-as you actually mean a "narrow definition of programming language" otherwise you're saying one thing while meaning another.


The label of programming language goes to Visual Basic for Applications (VBA).

https://docs.microsoft.com/en-us/office/vba/api/overview/exc...


Excel has conditionals and several forms of map/reduce which stand in for loops all without relying on VBA. I stand by my statement that Excel qualifies in everyway that matters as a programming language.

They avoid that label because of their target audience but the label absolutely applies.


There's many open-source alternatives to Excel. Rarely used, but it settles any fear of lock in.

This also made the area palatable for other commercial competitors to enter the space - Google-sheets drive A TON of enterprise org work nowadays.

You could say that open-source alternatives immensely popularized spreadsheets and resulted in the very nice ecosystem we have now.

Sure, heave finance user stick to MS Excell because MS is pressured to cater very well to their needs, else they will move away to other free or paid alternatives.

Also, there's a reason why multi-dimensional spreadheets are not more popular despite solving so many problems of regular spreadheets: all are proprietary and very different one from another - you probably pick smth like Quantrix (https://quantrix.com/products/quantrix-modeler/), and you'd get insane prices and 100% lock-in... better stick to Excell and/or its open-source and/or free alternatives despite being a worse tool :)


Since when is Google sheets not proprietary?


I can assure you its widely used by certain fields in academia. Im currently a research assistant in physics at a large lab, and mathematica is ubiquitous.


That is why some enjoy state of the art JIT/AOT compilers and GC implementations, whereas others make do with what they have.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: