Hacker News new | ask | show | jobs
by cicatriz 4594 days ago
Yep, I don't get why Wolfram language would replace APIs we already have in place.

Because it's in natural language? WolframAlpha demonstrates (unsurprisingly) that it's still finicky. You still have to do just as much work to ensure connected services are working together properly.

Because--according to universal computation--it covers the entire computable world? So does any Turing-complete language.

I do see this as another cool thing along the lines of IPython Notebooks or JS Fiddle where you can quickly hook up to services and share the results. Uniquely, WolframAlpha's datasets and some of Mathematica's features. So it'd be nice for homework sets or Bret Victor-esque reactive documents (see http://worrydream.com/Tangle/).

1 comments

Hmhmhmhm... I'm working with the people who are building these cloud systems, so let me elaborate a little:

No, the Wolfram Language is not natural language. It's the LISP-like language behind Mathematica. We needed to do that from a branding perspective so that the Mathematica product can continue to exist for the academic market without being conflated with the underlying language, which has much wider aspirations.

But as for natural language, you can press '=' and go into 'natural language mode' and write stuff like "total the list", but in my opinion it isn't very good yet and is only really useful for absolute beginners. I think it could get much better in the future when we have nice sophisticated type inference going (which I am working on right now).

As for IPython: the In[..] and Out[..] lines you see in IPython (and amusingly some other cloud system-based IDEs now) mirror v1 of Mathematica back in 1987 (I believe deliberately). It's an amusing accident of syntax that evaluating In[1] works in both Python and Mathematica.

But yes, exactly, part of this whole story is an online IDE (actually, a set of them) that makes it extremely easy to get a whole system deployed. Imagine setting up some machine learning, creating some slick visualizations, allocating some persistent storage, putting it behind an API, and creating an embedded dashboard, all in the space of 20 minutes and a few dozens of lines of code.

The closest existing competitor is FP complete's cloud Haskell system, but I'd love to know about others.

Ah, so it actually is Lisp. I immediately though Wolfram had a Lisp epiphany when he said "the idea of symbolic programming, and the idea of representing everything as a symbolic expression". This is basically the idea McCarthy had 50 years ago. However, I always had in mind that Mathematica features a more Python like language and did not know that there is a Lisp inside.
Sooooort of. There are major differences, differences that make a difference, so to speak.

Lisp: everything is lists.

Wolfram Language (prior to V10): everything is an expression. An expression has a head, and parts. The head is the primary place you attach rules. The head can be List, but can also be, say, If, or Disk, or Entity, or Timeseries, or Image, or Graph, or Graphics, or Button, or Frame, (and on and on and on).

Wolfram language (v10): expressions can be numerically indexed (i.e. Part[{"A","B","C"}, 2] == "B"), or symbolically indexed (Part[<|"A" -> 1, "B" -> 2, "C" -> 3|>, "B"] == 2). This new datastructure is called an Association (analogous to a hash map / associative array / dictionary, of course), but eventually it could have heads other than Association.

Anyway, its all quite uniform. No pointers, no references, nothing you "can't see". And the new Association data structure interacts beautifully with lists when you allow it to interact with Part -- you end up with something like XPath, but capable of expressing, for example, almost all of SQL, or LINQ, but in a very functional way.

> Lisp: everything is lists.

When was that? 1958?

That's exactly what I thought -- did he somehow re-discover Lisp.
IPython notebooks are very much inspired by Mathematica. And will probably be used by more people in the future due to the cost of Mathematica.