11 ms·
Announcing Wolfram Programming Lab
- ralmidani 11y agoMassive 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.
- exolymph 11y agoThis is flogging an old argument, but shouldn't users' choices be respected? They (we) don't seem to want freedom.
- seanmcdirmid 11y agoUsers want freedom to not be forced to use just free stuff, which is quite different. In a hypothetical country, one could be forced just to use proper GPL'd open source software. It wouldn't be a free country, even if the software itself was free.
- thatcat 11y ago>it wouldn't be a free country Arguing that the freedom to restrictively licensing your software is more freedom than using GPL because it requires unrestricted future access is analogous to arguing that one should be tolerant of intolerance because that is the more tolerant action.
- ralmidani 11y agoExactly. Being pro-freedom does not mean allowing someone to take away the freedoms of others.
- meric 11y agoYes and being intolerant of intolerance is to become intolerant ourselves. I have a strong distaste for those who are intolerant of the intolerant, even more so than those who are merely intolerant, but I tolerate them. It's analogous to saying people who murder murderers are murderers. Which is true.
- JadeNB 11y ago> I have a strong distaste for those who are intolerant of the intolerant, even more so than those who are merely intolerant Wait, seriously? So, if someone says "I don't want my kids ever to meet gay people", and I say "I don't want my kids ever to meet that guy", then you feel that I'm more in the wrong?
- meric 11y agoYes. The first person is showing prejudice with an exclusionary attitude. The second person is showing exactly the same while being self-righteous about it. The first person is prejudiced against gays based on his own experience growing up as well as his ignorance. The first person is being who they are. The second person is doing what they are doing because that's what society is telling them to do. (Of course if the second person is the gay person the first person is prejudiced against, then I would sympathise with them instead because they was the target of the first person's prejudice). And to think you're good when you're judging people with the same attitude to align with society's prevailing morals is distasteful to me. But I understand it and I will still let my kids meet you. It's human nature to follow the crowd.
- ralmidani 11y agoThe success of GNU/Linux, Postgres, Python, Django, Ruby, Rails, Node, Wordpress, jQuery, Bootstrap, Ember, etc. suggests otherwise.
- ethanbond 11y agoThe success of Wolfram suggests otherwise, actually.
- thatcat 11y agowhat is the adoption rate of wolfram? Are there any use cases outside of demonstration/education where python wouldn't work better?
- ethanbond 11y agoYou're missing the point. If people demanded that Wolfram were open, then it would be either a) open or b) gone. The fact that it's neither of those would suggest that people don't want it open badly enough. Listing off projects that are open to show that people like open things is absolutely irrelevant.
- ralmidani 11y agoYou missed my point. The argument made by exolymph was users do not want freedom. I listed projects which are among the best and most popular in their class, in no small part due to their respect of users' freedom.
- nickpsecurity 11y agoWere those Wolfram's users? And did they reject his app in favor of the free alternatives? I think your point is missing the point. The market of people who just want a solution to work and be easy to use is much, much larger than the market that explicitly demands BSD or GPL-style freedom. Wolfram serves the former. Makes more money that way, too.
- gertef 11y agoThis 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.
- ralmidani 11y agoLots of appliances run on GNU/Linux, but prevent users from modifying the software via the bootloader.
- wolfgke 11y ago> Mathematica positions itself as a mathematical appliance, like a fridge or an oven or a car, none of which are generally running free software. And that is why there are Linux gurus that will invest lots of time to get GNU/Linux run on their fridge - because there are people who will not accept this status quo.
- asddubs 11y agothe difference is that a fridge or a car is not a piece of software, and mathematica is.
- Chris2048 11y agoshrill: betraying some strong emotion or attitude in an exaggerated amount, as antagonism or defensiveness. 5. marked by great intensity; keen. I'm pretty sure the entire FLOSS movement outlines what is meant by software 'freedom' in this context, and why it is important. And if you don't see the difference between a software "application" and consumer electrical appliances, I'd say you're being willfully ignorant.
- gertef 11y agoMathematica/Wolfram is probably the closest real-world implementation to Bret Victor's "kill math" vision of experiential programming.
- FreedomToCreate 11y agoThis 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.
- theossuary 11y agoI 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.
- josep2 11y agoSame experience. Would love to use this over Matlab but the UI is painful.
- Edmond 11y agocheckout www.jasymchat.com, it is a Matlab alternative for students.
- Karunamon 11y agoIt may be prudent to announce that you run something when announcing it as an alternative. Just putting that out there :)
- Edmond 11y agofair point :) it is really just a front-end I built for Jasymca (http://webuser.hs-furtwangen.de/~dersch/jasymca2/indexEN.html http://webuser.hs-furtwangen.de/~dersch/jasymca2/indexEN.htm...), with some minor modifications.
- jacobolus 11y agoMaple 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.
- pdevr 11y agoPartially related: Wolfram Knowledge Base: https://www.wolfram.com/knowledgebase/ https://www.wolfram.com/knowledgebase/
- icu 11y agoMy 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.
- entee 11y agoEvery 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?
- pirate_parrot 11y agoYou 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.
- entee 11y agoThanks! Much appreciated :)
- taliesinb 11y ago> You could code numerical things in Mathematica, but you'll get poor performance compared to MATLAB. Yes and no. MATLAB and Mathematica have access to the same BLAS libraries. If you're using packed arrays in Mathematica, you can expect similar performance for many pure numeric things. Mathematica is missing some of the higher level primitives, there's no built-in function that corresponds to DGEMM, as a random example. Another weakness is that there's only a handful of packed array types, for a 64-bit system, you get tensors composed of doubles, signed 64-bit ints, and complex numbers; no bool arrays, no unsigned 32-bit or 16-bit, no enum or factor arrays. Now this is purely a performance thing -- you can make tensors/arrays containing anything you want, but their contents just won't be 'packed' into a contiguous region of memory, instead they'll be arrays of pointers to other memory on the heap. Such arrays are slower to work with, much less memory efficient, harder to pass over an FFI, etc. There's also a lack of fast workhorse-ish functions involving tensors, so there isn't a way to broadcast a condition (say 4 <= x <= 10) onto an input matrix to get a 'mask matrix' as is so common in MATLAB and R and so on, and one of their secrets to writing fastish code in a interpreted language. On the other hand, you can deal with ordinary lists (and Associations) that contain arbitrary types (as with any dynamically typed language), which makes many kinds of algorithmic work very straightforward. After all, not everything is best represented as an n-tensor of reals or ints or bools! But if your lists do happen to be homogeneous lists of ints or reals (of any rank), they will usually end up being stored more efficiently as mentioned above, a process that is, for better or worse, totally invisible unless you know about Developer/PackedArrayQ. There is also Compile (https://reference.wolfram.com/language/ref/Compile.html?q=Compile https://reference.wolfram.com/language/ref/Compile.html?q=Co...) which still has a fairly limited type system, but will still let you bypass large amounts of interpreter overhead when you need to do something performance critical. > you wouldn't analytically solve a sophisticated PDE so you would use numerics The whole analytic/numerical distinction really isn't true anymore (e.g. https://reference.wolfram.com/language/ref/NDSolve.html https://reference.wolfram.com/language/ref/NDSolve.html, https://reference.wolfram.com/language/FEMDocumentation/tutorial/FiniteElementProgramming.html https://reference.wolfram.com/language/FEMDocumentation/tuto...). > so that explains why MATLAB seems more prevalent. I think the explanation lies more with MATLAB having exactly the right features (or the right toolboxes) at the right time to fill niches in thousands of engineering and research labs. If you're running a lab, and that postdoc who wrote the code driving your instrument has long since left, there is very little reason to embrace a new language, even if it has caught up in various ways, and especially if that new language isn't tailored exactly to what you are doing, and would prefer you to use some strange thing called "functional programming", etc.
- jadbox 11y agoTwo 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 11y agoA) Yes, if you buy Mathematica. B) Sure, but I think the user needs to install a browser plugin.
- carlob 11y agoB) not anymore
- shitlord 11y agoIf 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.
- psyklic 11y agoAs 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 11y agoI 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.
- JadeNB 11y ago> I don't really get the complains about a kitchen sink of predefined functions If you're running it locally, there's a very practical reason to complain: between Wolfram 7 and 8, the application bundle size went from 29 MB to 2.65 GB. That's not a typo.
- deleted 11y ago[deleted]
- snorrah 11y agoDoes 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?)
- picozeta 11y agoI 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.
- zekevermillion 11y agoI 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?
- iofj 11y agoThe thing about Mathematica (and any other math product) is that it lets you increase the abstraction level of your thinking. If you have a smaller problem, first type it into mathematica, and see if it comes up with an answer. It means that you don't have to divert your efforts into that small problem. That said, mathematica has a function to have it explain exactly what it did to solve a particular problem. Example: http://i.stack.imgur.com/V9dxn.png http://i.stack.imgur.com/V9dxn.png
- zekevermillion 11y agoSure, Mathematica is great. But showing the formulas does not mean showing how the code was interpreted -- ie, translated into machine instructions. So it's good for exerting power over equations that have known algorithms for solving efficiently. Not to knock his achievements. I mean, what have I done that's so cool?
- tolmasky 11y agoIf 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 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 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 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 11y agoUnrelated 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/predicting-mortgage-stability-with-mathematica.html 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 [...]"""
- jtth 11y agoUp 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.
- dTal 11y ago>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.