Hacker News new | ask | show | jobs
by linhat 4888 days ago
Could you elaborate your dislike for mathematica and matlab? In my university departement a lot of people are using matlab while I somehow prefer C/C++ as I still cannot get my head around it.
2 comments

Matlab as a language is awful and here are a few examples why:

- You can't chain indexing with function calls. So you can't do myfun()[1]. This gets obnoxious really quickly. I hope you like useless intermediate variables. - You can't have a N-D array with singleton trailing dimension. So if you want dynamically created array sizes you will have to create special cases for that. - One external function per file.

My use of Mathematica is usually reading some data (generated from a simulation, say) from a CSV file and then doing something with it and plotting it. What I dislike is that simple things like aggregation, slicing and dicing the data is kind of pain when everything is a list and using Table[], Map[] etc. It often occurs to me that it'd be much quicker to express what I want with an SQL query. Also, with Mathematica's lists header information is lost, so I always have to remember which column in the list of lists is what. It's kind of a pain. Basically, whereas in SQL I can tell it what I want (declarative), in Mathematica I actually have to implement it (functional).

Then, in the plotting phase I'm constantly looking up Mathematica's plot options because I don't use it often enough to remember them. By default almost everything looks like crap in Mathematica, and you have to put in 10+ options to try to make it look good, but even so I'm usually dissatisfied with the result. Often I want something and then I find someone on a message board saying that it doesn't support that, and then he shares his 100 line program which gets Mathematica to do that. Then I usually give up. Getting programs from the Internet to work with Mathematica is a pain because Wolfram pushes out a new version every year and they keep changing small things which break backwards compatibility. Compare to the (much less powerful) Google Charts library, where everything looks much better and easier to comprehend by default.

One of my startup ideas is to write something like Mathematica, much simpler, runs on the web as a service, you can program it in Javascript, has embedded SQL, and it uses something like Google Chart for simple plotting, or you can pull in your favorite plotting library. Let's you share your work by sending around a link.

PS: I played around with R, but it seemed even more cryptic than Mathematica. Admittedly I didn't spend much time in it.

Have you seen Afterquery?

http://afterquery.appspot.com/help

Thanks, this looks interesting.

Actually I'm developing/maintaining something like this at my job, as part of the Data Services team. Similar to this, it uses Google Charts and is a node.js app. It will be open-sources in a couple of months. The goal is to avoid using Gooddata for as much stuff as possible, GD is too sluggish.