Live data from Hacker News

Wolfram Programming Cloud

wolfram.com

41–50 of 70 posts

Re: Wolfram Programming Cloud

#41
post #12
post #6

Earlier quoted context omitted.

Wolfram stuff is like a completely different world that doesn't acknowledge anyone else. In context to them it makes sense, but to everyone else it's WTF and meh and not much in between. I remember the pre-Wolfram Alpha marketing. It wasn't nearly as impressive as they made it out to be. The product was cool but to hype it up like that only did damage. To be honest it always reminds me of Futurama: "welcome to the wo…

The problem for them of course is that they exist in context to everything else in the world. So a "huge" innovation to their local context, because they just realized something everybody else knows, is just "meh" or "already tried" and determined to be uninteresting or useless. The problem for everybody else is that there's just enough interesting in Wolfram's output to make it hard to dismiss outright.

> determined to be uninteresting or useless.

Your thesis seems to be that we're so naive that we re-invent discarded or failed ideas and call them innovations. Can you give an example?

I'll give you just a two counter-examples off the top of my head.

1. Our frontend uses what turned out to be functional reactive programming to accomplish seamlessly interactive UI. And FRP is widely considered to be a Good Idea.

2. We invented the notebook-based REPL as the world knows it today, which is of course copied by iPython (to such rave reviews). In fact, our language embraces homoiconicity to such a degree that our notebooks are themselves Wolfram Language expressions -- iPython is just JSON.

Seems like we're ahead of the curve in those two cases.

Re: Wolfram Programming Cloud

#42
post #13

There's no way a proprietary environment can be the future of programming, but Wolfram does have the right ideas. Ctrl-F for "symbolic" in that page returns 14 results. The way I interpret it, they're aiming (rightly) to dismount programming from its local maxima in expressivity that is plaintext--a feat that Lisp and Smalltalk and a horde of gimmicky visual languages* couldn't do. Wolfram Language won't succeed here…

> The way I interpret it, they're aiming (rightly) to dismount programming from its local maxima in expressivity that is plaintext--a feat that Lisp and Smalltalk and a horde of gimmicky visual languages* couldn't do. I'm sure they are referring to how the code is evaluated [1] vs. how it is stored and manipulated by the programmer. Lisp and Prolog are the canonical examples of symbolic languages, and they are both b…

That's right.

We can serialize any Wolfram Language expression as ASCII, if necessary (and functions like Save do exactly that -- traversing the symbol graph to find all definitions that a piece of code depends on) and dumping it out.

But you wouldn't want to do that in the case of packed arrays, timeseries, or images -- the result would be incomprehensible (and incomprehensibly large).

Ultimately, Wolfram Language code consists of expression trees, these trees are "conceptually" the equivalent of their FullForm (http://reference.wolfram.com/language/ref/FullForm.html). What makes a WL expression "code" instead of "data" is that evaluating it will change the state of the kernel so that it has new rules attached to various symbols (functions + variables).

Plaintext files are just one vehicle for WL expressions. And in many cases there are cool things you can do that require the code to live in an IDE that can render WL expressions natively, such as

   Blur[>] 
or

   GeoLocation[>]
For machines, the thing now known as the Wolfram Symbolic Protocol is used to talk WL expressions over the wire. And there are two efficient binary serialization formats: "MX" and "WDX".

Re: Wolfram Programming Cloud

#43
post #21

Earlier quoted context omitted.

The way I interpret it, they're aiming (rightly) to dismount programming from its local maxima in expressivity that is plaintext Where do you get this idea, out of curiosity? Every demonstration of Wolfram Language I've seen has been plain text. And what makes you think they'll get farther than everyone else?

When I say plaintext, I mean like a .c file--a bag of bytes that may or may not parse into the AST you intend. Modern editors dress plaintext up with syntax highlighting, auto-complete, folding, and such--the code has a veneer of structure--but the basic representation remains plaintext. (And for good reason... plaintext is easy to edit with existing editors, tractable, easy to parse, somewhat easy to tool, moderatel…

> I suspect these are still underpinned by plaintext dumps internally, though, judging by http://reference.wolfram.com/language/tutorial/VariablesInPu.... .

You suspect wrong.

Re: Wolfram Programming Cloud

#44

For API building this is a much needed paradigm shift to functional programming. I met some backend engineers who built the backend of an very large and complex system with OCaml, and they never wrote a single unit test because they didn't really have to. Although humans are wired to think procedurally, a pure functional style can eliminate many of the holes that are easy to miss in a procedural program. The only pro…

> Until things become more transparent, the handful of backend engineers willing to write in a functional style will keep using OCaml or Erlang.

Hey Keshav!

I think it's a more complicated story than that. Our ambition is larger than converting existing functional language programmers -- a lot of whom are happy (and passionate) about their current tools.

I think it is a much wider stratum of smart people who want to do things that were hitherto impossible (or impractical) without a vast amount of built-in knowledge and algorithms. And their potential will be unlocked by the "curated computing experience" that we provide.

Personally, I want everyone to be able to do the kinds of cool things that I regularly do on weekend projects, and that I know cannot be achieved in anything other than Wolfram Language.

And frankly, it'll be good for all of us to have an influx of new people with new ideas from different backgrounds who want to build and compute new and different kinds of things. Our tribe is still quite homogenous.

Although I suspect that at first it will be threatening to those of us who derive our pride (and job security) from being masters of somewhat arcane tools, processes, and knowledge.

Re: Wolfram Programming Cloud

#45

For me the real achievement of Wolfram is the visualization capabilities. The knowledge bases are nice if you happen to be interested in a domain that is represented, and they make for great (controlled) demonstrations, but Wolfram Alpha (which taps these same knowledge bases) really fails often when making arbitrary but reasonable queries. I think Wolframs visualization libs set a high bar, though, and I hope non-cl…

My favourite Alpha goof is it interpreting the Planck mass as Max Planck's weight.

That's fun, but seems to be fixed:

http://www.wolframalpha.com/input/?i=+Planck+mass

Re: Wolfram Programming Cloud

#46

For API building this is a much needed paradigm shift to functional programming. I met some backend engineers who built the backend of an very large and complex system with OCaml, and they never wrote a single unit test because they didn't really have to. Although humans are wired to think procedurally, a pure functional style can eliminate many of the holes that are easy to miss in a procedural program. The only pro…

> Until things become more transparent, the handful of backend engineers willing to write in a functional style will keep using OCaml or Erlang. Hey Keshav! I think it's a more complicated story than that. Our ambition is larger than converting existing functional language programmers -- a lot of whom are happy (and passionate) about their current tools. I think it is a much wider stratum of smart people who want to…

What do you say to people like Guy Steele who believe that small languages that can be grown by their users are the way forward, and do not want to pay to use a closed source programming language, ever?

(fyi I'm referring to this famous talk he gave http://youtu.be/_ahvzDzKdB0 )

Re: Wolfram Programming Cloud

#47
post #46

Earlier quoted context omitted.

> Until things become more transparent, the handful of backend engineers willing to write in a functional style will keep using OCaml or Erlang. Hey Keshav! I think it's a more complicated story than that. Our ambition is larger than converting existing functional language programmers -- a lot of whom are happy (and passionate) about their current tools. I think it is a much wider stratum of smart people who want to…

What do you say to people like Guy Steele who believe that small languages that can be grown by their users are the way forward, and do not want to pay to use a closed source programming language, ever? (fyi I'm referring to this famous talk he gave http://youtu.be/_ahvzDzKdB0 )

Thanks for the talk, I'll watch it tomorrow (gotta catch Snowden's interview at 10am).

But in the meantime, I'd say: pick your battles.

Many developers, including me, moved from Linux to OS X so they could get on with their lives.

And we pay for things much lower on the abstraction hierarchy: CPUs and GPUs and their proprietary IP, physical hardware, various industry-group protocols and standards, OSes in some cases, hosting.

And we know from experience that the whole hierarchy tends to move down as we build on it -- maybe the time has come for that to happen to languages, too.

If, in time, the things that WL is doing inspire higher-level, free languages to raise the abstraction (and semantic) bar, I think we'll all benefit. For now, we can only do what we do because we're a private company.

Re: Wolfram Programming Cloud

#48
post #12

Earlier quoted context omitted.

The problem for them of course is that they exist in context to everything else in the world. So a "huge" innovation to their local context, because they just realized something everybody else knows, is just "meh" or "already tried" and determined to be uninteresting or useless. The problem for everybody else is that there's just enough interesting in Wolfram's output to make it hard to dismiss outright.

> determined to be uninteresting or useless. Your thesis seems to be that we're so naive that we re-invent discarded or failed ideas and call them innovations. Can you give an example? I'll give you just a two counter-examples off the top of my head. 1. Our frontend uses what turned out to be functional reactive programming to accomplish seamlessly interactive UI. And FRP is widely considered to be a Good Idea. 2. We…

Well the idea of building as much as possible into the language is old and has repeatedly failed. Languages like PL/1, APL, and to a lesser extent PHP have all tried and failed at this. People do not need huge languages with as much stuff as possible crammed into them. What they need are languages where you can be reasonably certain, and maybe even formally prove things about the execution of your code (putting everything in The Cloud (tm) also hampers this), and they need to be able to grow the language to fit their needs (e.g. Scheme, Haskell, Clojure, etc... are all pretty good at this).

The whole idea of claiming "moar data" solves everything comes across as incredibly naive and ignorant of what people like Tony Hoare, Dijkstra, or Alan Perlis have said about computing.

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult -- Tony Hoare

Re: Wolfram Programming Cloud

#49
post #12

Earlier quoted context omitted.

The problem for them of course is that they exist in context to everything else in the world. So a "huge" innovation to their local context, because they just realized something everybody else knows, is just "meh" or "already tried" and determined to be uninteresting or useless. The problem for everybody else is that there's just enough interesting in Wolfram's output to make it hard to dismiss outright.

> determined to be uninteresting or useless. Your thesis seems to be that we're so naive that we re-invent discarded or failed ideas and call them innovations. Can you give an example? I'll give you just a two counter-examples off the top of my head. 1. Our frontend uses what turned out to be functional reactive programming to accomplish seamlessly interactive UI. And FRP is widely considered to be a Good Idea. 2. We…

Great examples and way ahead indeed!

On a similar note, it would really help if the website for the Wolfram Programming Cloud had just one bloody-awesome/blow-me-away example or tutorial that would make it accessible to a lot of capable programmers who may not have used a Mathematica Notebook.

Folks who haven't used Mathematica ever - I recommend the Home Edition. Yes, it is worth paying for it!

Re: Wolfram Programming Cloud

#50
post #16

Earlier quoted context omitted.

Looks like mathematica in a web browser to me. Probably cheaper as well. So it's not all that high level. It is compared to Fortran and floats somewhere between R and Octave.

"It is compared to Fortran and floats somewhere between R and Octave." I haven't heard a more amusingly wrong characterization of our language in a long, long time.

Sorry there was a little intentional derision in that comment.

My gripe is more that for the multitude of problem domains that you can represent in mathematica, a huge amount can be done off the shelf for the same effort with something a lot cheaper if not entirely free. Very few people need or use the capabilities past the very basics.

Post reply on HN