top | item 10934666

Announcing Wolfram Programming Lab

232 points| kwvarga | 10 years ago |blog.wolfram.com | reply

140 comments

order
[+] picozeta|10 years ago|reply
I am not sure Wolfram Research realize what they have.

If they would make their stack FOSS they would be absolute heroes and shape the future of applied math and computation software with a historic impact. Otherwise they will fade away, when other interfaces (Jupyter & Co.) catch up and/or surpass it in its capabilities. More and more people will just not accept the closed nature as it inherently contradicts with the idea of exploration.

There are basically 3 scenarios:

- they go FOSS now: best outcome for people and Wolfram

- they go FOSS later: good outcome for people, more difficult for Wolfram, as they lose developers/community

- the don't go FOSS (or not in near future): Wolfram SW won't be used anymore as open alternatives surpass it. People won't care.

Even Microsoft got it.

[+] gjm11|10 years ago|reply
> If they would make their stack FOSS they would be absolute heroes and shape the future [...]

... and instantly stop making money. I have the impression that making money is quite important to Wolfram Research.

You may be right that in the long run they're bound to get their lunch eaten by free alternatives, but "in the long run we are all dead" and it's really not surprising if they prefer "continue making lots of money from selling Mathematica, and maybe one day find that free alternatives take away our market" over "immediately make vastly less money from selling Mathematica, but keep market share for this big codebase we can no longer make much money out of".

Also, open-sourcing their stack would mean relinquishing a certain amount of control. Have you ever heard anything about Stephen Wolfram that would suggest he'd be OK with that?

[+] coliveira|10 years ago|reply
There are different target groups for this kind of software. People who like open source will never use anything else, even if its inferior to closed source alternatives. Other folks will gladly pay to get a system that is robust, stable, and easy to use. I think there is enough market share for Wolfram to thrive for a long time (and open source alternatives too).
[+] gaze|10 years ago|reply
I don't really see sympy and the like surpassing Mathematica. Even maple is kinda having trouble. If when I'm buying Mathematica I'm paying for a proper implementation of the risch (integration) algorithm, it will have been money well spent.
[+] kccqzy|10 years ago|reply
I don't think they are losing mindshare. Mathematica is simply unparalleled in its features. Any stats showing they are hurt by the closed nature of their software?
[+] zekevermillion|10 years ago|reply
I think Wolfram Alpha / Language is cool, but generally agree with your analysis. Is the Wolfram engine supposed to be a tool to better access indexed human knowledge on the net? Or is it about teaching people to think in a structured way about querying and manipulating this data? For the former goal, we really need to know what's going on behind the scenes of his program to weight the results. For the latter, what are we teaching if the language obfuscates the details of how it is interpreted?
[+] exDM69|10 years ago|reply
I don't think Wolfram will open source their engine, ever. Their income is mostly from selling the software licenses an I don't know how they could replace that income.

However, it would be nice if they would open source parts of their application so bugs could be fixed in the user-facing parts. Even if their engine remains closed, the UI could be open sourced. I'm fine with them keeping their "secret sauce" proprietary and asking money for it. They spent decades making it work.

I am saying this because Mathematica for Linux doesn't work great. It's violating the X11 protocols and doing some crazy things with XSendEvents, which makes it not work at all on some window managers (window layout is completely fucked, mouse clicks aren't received properly, etc), while other WMs (e.g. i3wm) have Mathematica-specific hacks to ignore some of the messages it's sending.

I'm not sure what to do with this situation. For some of my projects (outside of paid work), I'd need Mathematica. So far I've used an educational site license for my university but now I've graduated and I won't have access to that.

So I could pay them $130 (student license, I still have my @uni.edu email for now) to $300 (normal license) but I don't know if they'd fix the issue. I could start using a more mainstream desktop setup (KDE, Gnome, whatever) in the hopes that it works, but that's not ideal either. I have not contacted customer support because I'm skeptical that they would do anything for such a small minority of their customer base.

Mathematica is almost the only closed source application I'd need. The open alternatives are not good enough and I'm not educated enough to improve them.

[+] carlob|10 years ago|reply
There is one thing I don't understand about your argument, Microsoft did not open source their entire stack, but what you're asking of Wolfram would be akin to releasing the whole Windows source code into the wild. Sure Wolfram would still exist in some sense, maybe as a consulting company, maybe just selling support, but it would become a fraction of its current (not huge anyway) size.
[+] pjmlp|10 years ago|reply
Given that FOSS still cannot properly replicate the workflow experience of Xerox PARC workstations and Wolfram tools are one of the best success stories of Lisp inspired work environments, I don't see that happen any time soon.

As another example, when will we have FOSS Notebooks that can match what Apple is doing with Playgrounds?

Having the means to the right funding makes a lot of difference, specially when many seem to be wary to pay for developer tools while gladly pay for any physical tools.

[+] nsajko|10 years ago|reply
Could somebody give some examples of things that the Axiom family, sympy, Maxima, Reduce, Sage, Giac/XCAS ... can't do but Mathematica can.
[+] cbd1984|10 years ago|reply
Also, if they don't go FOSS, their users are living under a Sword of Damocles: At any point, they can choose to change everything, break everything, and your recourse is one of a variety of impolite ways of saying you have no recourse.

Being a customer doesn't save you, BTW: Giving them money insulates you not one whit from their decision that a course of action which destroys your whole setup will get them more money. This doesn't really change even if you have a contract: Unless you convince a thoroughly insane court to order some form of specific performance, the most you're entitled to is, essentially, a refund, maybe some punitive damages, and Wolfram no longer caring about you even to the extent they previously did.

[+] theossuary|10 years ago|reply
I absolutely hate Wolfram's online workbook UI. No matter how careful I am I end up breaking it in so many ways. Delete that image of a horse? Too bad, have to refresh the page to get it back. Click enter incorrectly? That new line can never be deleted now. Want to format your document at all? Good luck.

I subscribed to their online offering when it originally came out, but immediately canceled because the UI is just so far behind its desktop competitors, like Maple, and even Matlab. I want to support this software, it has great potential, but they need to sit down and really rethink how it's put together and delivered to the user.

[+] jacobolus|10 years ago|reply
Maple makes me sad. They had an amazingly effective streamlined GUI circa 2000, a native Windows app which launched significantly faster than the built-in Microsoft calculator tool, and then felt like an upgraded terminal-style REPL with all of math at your fingertips. It had capable plotting with nice embedded graphics, great built in documentation with fast search, etc. It was rock solid, I don’t think I crashed it once. As a high school student, it was an amazing tool for me.

Then they decided to hop on the Java bandwagon, and rewrote their whole UI using some kind of cross-platform Java GUI toolkit. App startup time went from like a tenth of a second to like 30 seconds (at least, that was my subjective impression at the time). Every part of the GUI was laggy and glitchy, it crashed regularly, the documentation was reorganized and much more confusing, etc.

The big-ticket feature additions which supposedly justified the rewrite were some gimmicky stuff for writing formulas in a more standard-math-typography way instead of as plain text, plus some related handwriting recognition thingy, but this ended up being slow, confusing, and ineffective, and cluttering up the rest of the interface.

[+] omaranto|10 years ago|reply
When you mentioned some desktop programs with less frustrating UIs you forgot to include Wolfram Mathematica. :)
[+] shitlord|10 years ago|reply
For a long time, Undo didn't work properly on the notebook interface for Desktop Mathematica. In fact, a lot of their tooling is pretty terrible. It's a shame, because it's a really interesting and powerful language (a lot different than matlab).
[+] josep2|10 years ago|reply
Same experience. Would love to use this over Matlab but the UI is painful.
[+] psyklic|10 years ago|reply
As an experienced developer, I surprisingly enjoyed progressing through Wolfram's book for beginners. (I used Mathematica, not their online UI.) In particular:

+ Making instant web apps and APIs just by specifying two functions -- "front-end" and "back-end".

+ Easily creating impressive-looking programmatic 2D and 3D graphics and sounds.

+ Innovative idea making visible graphics and colors as arguments and outputs of functions.

+ "Knowledgebase" of facts accessible using natural language. (Though, this was often slow due to server calls.)

My main critique of Mathematica is that it is the epitome of a kitchen sink library. There is an overwhelming number of functions for every possible thing. So, it is often not feasible to know what is offered without a lot of reading. (In fact, Wolfram even states this in his book.)

This is the real problem with their "knowledgebase". I would love to enter any natural-language query and get an answer, but in reality I need to check their list of supported areas and know the seemingly arbitrary list of facts about each area. To really make this useful, Wolfram has to figure out how to make it work without requiring me to be so knowledgeable about what it contains a priori.

Also, having such a large standard library makes the language very "flashy". It is indeed impressive and inspiring to create a sphere or musical piece in one line of code. However, real programs end up being much larger. In practical programs, Mathematica's functional syntax results in long unwieldy statements with forced formatting. This is occasionally impressive, but it is just as often hard to decipher.

[+] jessriedel|10 years ago|reply
I don't really get the complains about a kitchen sink of predefined functions, or the functional syntax. You can always fall back on defining a function yourself. (And with the amazing documentation and Google, it's quite easy to find most functions anyways.) Likewise, you can always use C++-style syntax for defining functions, for loops, etc.

Mathematica has plenty of problems, like it's extreme slowness for things that should be comiled, and awkward reference passing, but the ones you've pointed out don't really make sense to me.

[+] jadbox|10 years ago|reply
> "front-end" and "back-end"

How exactly do these functions work? Can you specify a front-end that's outside of the wolfram platform/domain?

[+] tolmasky|10 years ago|reply
If you'd like a similar experience without being tied to a proprietary language and where the skills you develop can later be applied to other fields, I'd like to recommend our https://tonicdev.com .

It uses JavaScript (support for node 0.10 through 5), and instead of being one giant library made by one company, connects you to every version of every package on npm (that's 200,000+ libraries!). Anytime something is published on npm, it immediately becomes available on tonic, allowing you to work with the "global standard library". If you use something like D3, you can do math visualizations: https://tonicdev.com/tonic/d3-example-from-beaker . Alternatively, you can use async and await to play with APIs: https://tonicdev.com/capicue/iss/4.0.0 . When you're done, you can hit download and run it on your own computer using node.

[+] kriro|10 years ago|reply
Unrelated to the topic at hand but I browsed their site and found this gem...marketing might want to think about replacing that customer story:

http://www.wolfram.com/mathematica/customer-stories/predicti...

"""Fannie Mae financial economist Bernard Gress is taking an innovative approach to predicting the stability of mortgages. He's using Wolfram technologies [...]"""

[+] icu|10 years ago|reply
My son is only 2 but I hope to pass on to him my love of maths, electronics and programming in an interactive way. This is why, for example I've been getting to grips with the raspberry pi and keeping tabs on the whole 'computer based math' movement. While I understand the background issues some HNers have with Wolfram I'm cheering on any efforts (including this new Wolfram Labs announcement) that may spark my son's interest and aid his future education.
[+] Edmond|10 years ago|reply
check out www.jasymchat.com, not Wolfram but students love it:)
[+] snorrah|10 years ago|reply
Does this cost money..? I remember when the iOS app came out for the computational engine. For $50. I'm sure that was a long since rued decision to price it like that, but I still have this odd feeling about Wolfram doing this fancy stuff but trying to spin a big chunk o dough for it. (Not that it's a bad thing but I don't see cost talked about here compared to their other products?)
[+] gertef|10 years ago|reply
Mathematica/Wolfram is probably the closest real-world implementation to Bret Victor's "kill math" vision of experiential programming.
[+] dTal|10 years ago|reply
>Wolfram Programming Lab is something that’s uniquely made possible by the Wolfram Language. Because it’s only with the whole knowledge-based programming approach—and all the technology we’ve built—that one gets to the point where simple code can routinely do really interesting and compelling things.

Translating out of Wolfram-ese:

"simple code doing interesting things" -> expressiveness

"knowledge-based programming" -> lots of libraries

"uniquely made possible by the Wolfram Language" -> we have the best libraries, and therefore the most expressive language

Stephen Wolfram is a font of interesting ideas that deserve attention. He really is an intelligent and perceptive guy. The problem is he's so arrogant that he consistently ignores (or, when he does acknowledge it, belittles) what others have done. I find myself unable to trust anything he writes or does because it's always filtered through the lens of his own brilliance - I intuitively expect that such a person will ignore serious problems with their own work because it's a threat to their ego.

I think we should look very carefully at his ideas, work out what they actually are (instead of what he thinks they are because he's not a reliable source) and steal them.

[+] entee|10 years ago|reply
Every time I see something with Wolfram Language, I'm fairly impressed with how powerful it seems.

But then I wonder, is that just because I see people who are skilled in the art or is it intrinsic to the language? If it is so powerful, how come I don't see more of it being used? Is this just because it runs on a closed system? So does Matlab, but at least in my experience Matlab seems more widely used, why is that?

[+] chubot|10 years ago|reply
Yeah I think it looks impressive, and it's cool that it's been developed for like 30 years.

The Matlab comparison isn't that useful though, because the languages are geared toward different problems. Matlab at its core is linear algebra ("engineering"), while Mathematica is based on symbolic computation ("algebra"). That's a pretty huge difference. They have both branched out I'm sure, but the history remains.

People have a similar confusion over Matlab/Julia vs. R. They're both scientific computing, but R is for statistics. (R has matrices and linear algebra, though they are fairly terrible compared to the data frame operations, and seem second class.)

I would think of each language as having a core data structure:

    1) Mathematica/Wolfram - expression/symbol
    2) Matlab - matrix/vector
    3) R - data frame (columns of heterogeneous type)
Julia is trying to subsume some of R, but it really is almost putting two different (but related) languages under one roof.
[+] pirate_parrot|10 years ago|reply
You can't really compare MATLAB and Mathematica. Mathematica excels at symbolic computation whereas MATLAB is primarily geared towards numerical analysis and scientific computing. You could code numerical things in Mathematica, but you'll get poor performance compared to MATLAB. Similarly, MATLAB does have a symbolic toolbox, but it pales in comparison to the extensiveness of Mathematica. Numerical and scientific computing work is generally more useful in industry than anything you would do with symbolic computation (e.g. you wouldn't analytically solve a sophisticated PDE so you would use numerics), so that explains why MATLAB seems more prevalent. As for your first question, I would say that Mathematica definitely has a lot of power built in. I know a few researchers (myself included) who have used Mathematica in some really cool ways only knowing the basics, which I think is a huge audience for Wolfram. With that said, there are definitely many power users who are probably doing greater things with the language.
[+] bloaf|10 years ago|reply
If I had to guess, its because Matlab looks a lot more like "traditional" programming and so is more approachable to engineers & scientists with a C/Fortran/Basic background.

I also think marketing plays a part. Matlab has effectively sold itself as the go-to language for mid-scale number crunching (i.e. scientific-type problems that are complex enough where performance could matter, but not so complex that you need careful performance tuning or a supercomputer.) Mathematica can achieve similar performance in those sorts of problems, but in my mind, Wolfram has been presenting Mathematica as more of an educational/casual tool for one-off tasks.

I can't comment on cost or licensing offerings, but that could be a big factor as well.

[+] contravariant|10 years ago|reply
It's powerful but somewhat hard to extend. If there's an intrinsic method to do something then it is very powerful, but if you want to do something slightly beyond the scope of what's already there the code quickly becomes hard to read and slow.

It's good for scripts but I really don't see how you could maintain any sizeable project purely in Mathematica.

[+] jtth|10 years ago|reply
Up to FIVE FILES! OMG!

I love Mathematica and use it at least once a week. But these "free" versions are nothing but your first hit. And the Wolfram Language is not something you're going to figure out in the course of an afternoon with five notebooks.

[+] FreedomToCreate|10 years ago|reply
This is awesome, but man are they are ton of different programming languages for the purpose of learning now. Most beginners are going to be confused on just which one to pick.

Best to Wolfram. Lets see if this can become the pack leader.

[+] jadbox|10 years ago|reply
Two questions:

A) Can I run my programs locally without connecting to the cloud? B) Can I dynamically embed generated graphs on my own site, instead of using the Wolfram Cloud to host it?

[+] strange_quark|10 years ago|reply
A) Yes, if you buy Mathematica. B) Sure, but I think the user needs to install a browser plugin.
[+] shitlord|10 years ago|reply
If you have Mathematica installed on your own server, then yeah, you can do both. If you just want to share a graph, then convert it to an image and host it on your own.
[+] ralmidani|10 years ago|reply
Massive egos aside, it's hard to think of a successful software company that is more anti-freedom than Wolfram. While I think all software should respect users' freedom, I recognize Apple, Microsoft, Oracle, and Adobe have all made at least some meaningful contributions to free software.
[+] gertef|10 years ago|reply
This comment comes off as shrill, without an explanation of what "freedom" means here, and why it is important.

Mathematica positions itself as a mathematical appliance, like a fridge or an oven or a car, none of which are generally running free software.

[+] exolymph|10 years ago|reply
This is flogging an old argument, but shouldn't users' choices be respected? They (we) don't seem to want freedom.