10 ms·
Launching Version 13.0 of Wolfram Language and Mathematica
- n-e-w 5y agoI've enjoyed developing in the language professionally for many years. Truly, few things allow as rapid prototyping with such efficacy for so few lines across so many domains in a unified interface. There are some brilliantly innovative things across the language and, once you really get into the weeds of how to write efficient functional code, some of the things you can do are incredible. Two things, though. Firstly, they are very stubborn on condoning a community to coalesce around the language other than through 'official' Wolfram channels. This comes from the big man himself, no doubt. As much as they want to drive adoption by coming up with (what they think are) "cool" sounding initiatives, they will never get devs to break from their core workflows and tools to do things the Wolfram way. There is no first-class support for daily-driver editing (vscode, emacs etc etc) for large-scale projects (other than an ancient eclipse package). Brenton Bostick at Wolfram has done some truly first class work in closing this gap though. Secondly, this is the first major release that is a bit 'ho-hum' for a while. And it's reflective of the fact that whatever Stephen's pet interests are at a particular point in time will get attention in a release. For example, V11 was huge on Machine Learning and AI...now it barely gets a mention or extra development. Because SW is so focused on his Physics Project, this will likley be the case for a while. To anyone thinking about using the language -- dive in. It's brilliant and expressive and fun. It's satisfying. You can do cool stuff. It just becomes very difficult when you want to scale it. Anyone from WRI reading this: please, please, please let the community develop organically and support the toolchain everyone has wanted for so long. Or don't. But you need us more than we need you. Oh, and simplify the product line -- what a nightmare for newcomers to navigate. :-)
- carry_bit 5y agoI've heard they're working on creating an uncurated paclet repository, and the new paclet tools would appear to be the first step of that. Once that is complete we should finally have something similar npm.
- leephillips 5y agoI looked all over their website, but could’t find a link to download the source for the Wolfram Language so I can compile it. Do you have a link?
- the-dude 5y agoAren't you already perfectly aware this is not open source? From your profile I must assume you are.
- leephillips 5y agoWhy do you say that?
- the-dude 5y agoBecause apparently you are writing a book about Julia. I assume people who write books about a language which are also in vogue in the scientific community, they are aware of the eco-system of said community. Mathematica is not exactly a new kid on the block. Why don't you answer the question?
- leephillips 5y agoThe answer is that I did not know, and that’s why I asked. Mathematica is not a big part of the scientific research world as far as I’m aware. I don’t know anyone who uses it in physics research, for example. The last time I played around with Mathematica was in graduate school before Linux existed, when closed source and proprietary solutions were the norm. Back then I don‘t think there was anything like the Wolfram Language independent of the Mathematica product. So when I heard that this language now existed, I wondered if it was open and, therefore, something that might be interesting to use in research. From your tone I suspect that you won’t believe any of this. I’ll leave it up to your fevered imagination to divine how much I care about that.
- carry_bit 5y ago
- ezequiel-garzon 5y ago“I've enjoyed developing in the language professionally for many years.” And I’ve enjoyed your wonderful post, thank you. HN can be truly amazing. I know, I know, upvotes are for that… ‘Tis the season, or something.
- agambrahma 5y agoI recently got into it and it is exhilarating. There's so much to it that it's easy to get lost. I don't even care for the "deep math" parts of it, it has _so many_ APIs for real-world data that "plain old exploration" is super-fun with it. It'll also be great for anyone looking for "creative coding" (typically Processing.js etc is used for this), since the Graphics abilities are so quick and easy. It has "a different shape" w.r.t. the languages and tools that are commonly used for programming, but it is a beast. Highly recommend to anyone curious. Also, https://www.wolfram.com/language/elementary-introduction/2nd-ed/ https://www.wolfram.com/language/elementary-introduction/2nd... (free to read online, though I read it on paper) was helpful to me, browse through it to get a feel for what it's like to use it.
- 6gvONxR4sf7o 5y agoI haven’t used it in years, but I remember the Manipulate functionality being so great for exploring things. Its weird evaluation model always gave that some warts, but it was very useful nonetheless.
- disentanglement 5y agoPerhaps I can add a counterpoint before anybody gets too excited and spends too much money on a tool they might not enjoy. Having used Mathematica quite a bit for doing symbolic computation, my opinion on it is pretty much opposite to yours. While the extensive standard library is certainly nice, I think that the programming language used to access it is one of the worst programming languages in the world - certainly the worst I have ever used. I have never seen any other programming language where the basic scoping and evaluation rules are so badly designed and error-prone as in Mathematica.
- ModernMech 5y agoCan you elaborate as to what you dislike about scoping and eval rules? Asking as a language designer.
- jjoonathan 5y agoGlobal scope (really global -- even between windows) is the default and the encapsulation tools are not particularly easy or convenient to use and not heavily promoted in the example material. This leads to a dynamic where anyone without the CS background to recognize the foot-gun and the discipline to disarm it winds up with awful spaghetti code and the all-to-familiar consequences: a big blob of unmaintainable mystery code that becomes more and more difficult to modify until all project time is spent merely keeping it working rather than improving upon it. We might laugh about this kind of newbie mistake here on HN, but even extremely intelligent people can't be experts at everything and the sheer number of physicist-hours and mathematician-hours I've seen needlessly flushed down this particular toilet is really quite unfortunate.
- pfortuny 5y agoThanks for this comment. Have the same experience at a Maths Department. Each run of some specific code is “ouch, we must try and see when we have the time to understand how it works and how each error is handled.” Just because it is soooo difficult to properly write a module.
- 5y ago
- nynx 5y agoMathematica is amazing, but I wish it were open-source.
- carry_bit 5y agoIf only they had a cash cow, like how Microsoft has Windows and Office, so development of the language could be subsidized.
- steerablesafe 5y agoThe main cash cow of Mathematica is the library, not necessarily the language. They could certainly make the language more open, while keeping the secret sauce in the library. They could also open up some core parts of the library too.
- alisonkisk 5y agoWhy bother? You can use open source alternatives if that's all you want.
- throway453sde 5y agoIn one of the vidoe Stephen Wolfram said he had discussed with RMS and was not convinced. I could not find what was the core argument. I like to know what his core argument is apart from making enough money to continue the work.
- carry_bit 5y agoThere's this: https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-open-source-a-dozen-reasons/ https://blog.wolfram.com/2019/04/02/why-wolfram-tech-isnt-op...
- analog31 5y agoIt'd be interesting to analyze how the Python ecosystem stacks up against the points made in this blog. Naturally I don't have an insider's appreciation for what it takes to develop and maintain a language, so I can't really answer them myself.
- deleted 5y ago[deleted]
- Sporktacular 5y agoMy PC slows down just by displaying a page that only describes what Mathematica can do.
- stabbles 5y agohttps://twitter.com/hypergeometer/status/1470505437934067725 https://twitter.com/hypergeometer/status/1470505437934067725
- zamadatix 5y agoIt's tucked in a typical "help -> about -> credits" in the app just like the hundreds of other libraries. The language documentation never includes documentation on how the functions were built, it's for reading what things do and how to use them.
- SloopJon 5y agoI know you're pointing out the author's concern about acknowledging his LGPL library, but I otherwise would have missed what is one of the cooler features in this huge post, CenteredInterval. Indeed, the post essentially brags about how big it is: > In Version 1.0 there were a total of 554 functions altogether. Yet between Version 12.0 and Version 13.0 we’ve now added a total of 635 new functions (in addition to the 702 functions that have been updated and upgraded). With these batteries-included languages, mastery of the language really requires mastery of the library.
- deleted 5y ago[deleted]
- srvmshr 5y agoFor Mathematica, the graphical outputs and the vast pallette of functions is truly marvelous. IMO it feels a much superior product to Maple & MATLAB. If only they could make it bit more affordable to individual hobbyists. If I remember right, it is $200 per year (incl. tax). That does pinch the pockets a bit, specially if you are from a developing country. EDIT: A thought that comes to my mind is that Jetbrains products are similarly placed in pricing. But YoY costs actually go down. Furthermore, you are allowed to retain the last subscribed version which you paid in full. You can use the same license on all your machines/VMs. This is not the case with Wolfram products. The pricing stays the same if you want the point updates to be fetched. You cannot use the product if your subscription ends and individual licenses are limited to 1 (or 2?) machines. This does hurt!
- pwr-electronics 5y agoIMO modern MATLAB with the right toolboxes is much more capable than Mathematica. Pricing is similar.
- srvmshr 5y agoMATLAB individual license for base product is actually lower, but toolboxes can cost a fortune. Student/Home version does not have several features inbuilt which have to be bought separately. Also the symbolic math support is dodgy. If I had to do Numpy type of operations only, I will take Numpy over MATLAB because its open source and free.
- sgillen 5y agoSymbolic math in matlab is vastly inferior to Mathematica, and the deep learning and reinforcement learning toolboxes are vastly inferior to the offerings in python. However for control system design or digital signal processing I think matlab is superior to both, I also think the matlab IDE is severely underated. These are just from my experiences, I’m sure each of these languages have other applications where they are superior to the other too. I also speak with privilege as someone who has access to all these packages for free so..
- mark_l_watson 5y agoI wish that I could really get into the Wolfram Language because in addition to symbolic programming I really like support for machine learning, semantic web, and data visualization. I love using Lisp languages, I adapt to Python because I need it for my career in ML/DL, and Haskell for something different. I have subscribed to the Desktop Edition (better interactivity that the cloud version) twice, so I have about four months of writing little bits of code and experimenting. I don’t mind the price (I happily pay for full up LispWorks with support). It is the language itself. I have experimented with using WL from Common Lisp and Clojure, but there is some overhead for that. Anyway, WL is an amazing ecosystem. I wish I could love the language.
- mark_l_watson 5y agoReplying to my own comment: after reading through my collection of code snippets, I signed up a third time for a subscription, this tim for a year (not monthly).
- zamadatix 5y agoSeems to come with a ~6% perf boost to BenchmarkReport[] vs 12.3 as well.
- carry_bit 5y agoOn AMD with the MKL_DEBUG_CPU_TYPE hack still in place, it's about the same as 12.3 for me.
- zamadatix 5y agoI wonder if that's the difference. I ran this on 5950X but didn't know about that when testing with 12.3 but setting it on 13.0 isn't changing my results. According to some searching on this env var it could be because MKL 2020 Update 1 and later don't require this to use the AVX2 kernels but I don't have my 12.3 install anymore to verify if it was using an older version.
- carry_bit 5y agoRemoving it doesn't change the results for me. I have a 5950X also; what are you getting for the benchmark result? I'm getting around 4.06.
- leephillips 5y agoOur other giants in the history of programming language design have been far too modest. Imagine how APL might have changed the world if only it had been called Iverson Language. And nobody would still be using Word if the Knuth Typesetting Language were available.
- timmg 5y agoDoes anyone know how wolfram's language is implemented? I think that there is a small-ish language. And then a bunch of hand-coded libraries that do a lot of the heavy lifting. But I'm curious what that core language is like. I assume someone, somewhere has built an interpreter that is equivalent. Any ideas?
- codekilla 5y agoNot sure how much detail you are looking for, but I think essentially it is a term rewriting system.
- timmg 5y agoOh, interesting. One of the first results from Google turns up this: https://www.stephendiehl.com/posts/exotic02.html https://www.stephendiehl.com/posts/exotic02.html > The most widely used rewriting engines often sit at the heart of programs and languages used for logic programming, proof assistants and computer algebra systems. One of the most popular of these is Mathematica and the Wolfram language. Thanks!
- wrnr 5y agohttps://github.com/corywalker/expreduce https://github.com/corywalker/expreduce
- timmg 5y agoVery cool. Thanks
- ksherlock 5y agoWolfram Language Fundamentals, from the horse's mouth: https://www.youtube.com/watch?v=H-rnezxOCA8 https://www.youtube.com/watch?v=H-rnezxOCA8 https://www.youtube.com/watch?v=5FWzvXPLw7A https://www.youtube.com/watch?v=5FWzvXPLw7A https://www.youtube.com/watch?v=u1Oijydu4qI https://www.youtube.com/watch?v=u1Oijydu4qI
- 5y ago