16 ms·
Launching Version 13.1 of Wolfram Language and Mathematica
- meanmrmustard92 4y agoPaul Romer on Mathematica is a good read. https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper/ https://paulromer.net/jupyter-mathematica-and-the-future-of-...
- srvmshr 4y agoJust curious: apart from Wolfram language and C++, what is Mathematica built on?
- brutusborn 4y agoWikipedia says Java: https://en.wikipedia.org/wiki/Wolfram_Mathematica https://en.wikipedia.org/wiki/Wolfram_Mathematica
- deleted 4y ago[deleted]
- bloaf 4y agoMathematica predates Java by several years. Some capabilities (e.g. database interop) were built with Java though.
- defrost 4y ago
- rcollyer 4y agoThe kernel (WolframEngine) was built with c, and some parts like the image processing functions are built using c++. The front end (notebook interface) is c++ and some objective-c. A lot of core functionality is built using wolfram language that is loaded as needed. Similarly, the paclets (plug-ins) can be built using any language that has a WSTP interface available, but largely this is wolfram language and c++ and occasionally java, but that is being phased out. A lot of the functionality now lives in the paclets as they can be updated/fixed easily.
- gfodor 4y agoLooking forward to their AGI release, embodied in the Stephen Wolfram holographic avatar, Wolfram Wolfram
- dhdc 4y agoWhich of course is brought to you by Stephen Wolfram, president, CEO and founder of Wolfram Research Inc., designer of Wolfram Language™ which is available in Wolfram Mathematica™.
- a9h74j 4y agoIf he had had twins he could have raised them from birth to outdo each other. Alpha-Wolfram
- cbm-vic-20 4y ago"Buy my book!"
- n-e-w 4y agoRather than just bashing Stephen's personality and rehashing Cosma Shalizi's driveby on NKOS, can we try and focus on the technical accomplishment that Mathematica represents? It really is an astounding system. If you enjoy functional programming, the language is super expressive and productive. The integrated libraries are fantastic -- especially if you want to chain together different knowledge domains through a consistent interface and syntax. You can get the entire Wolfram Alpha knowledgebase and curated datasets to use in your programs immediately. The front-end is just lightyears in front of Jupyter notebooks in just about every conceivable way. This isn't to hide that there are some frustrating things about the language (like, machine learning development has just stopped dead after a couple of really great years of feature dev...why?) and, especially, the organisation and some of its personalities. But the product -- it really should get a lot more kudos and wow factor based on real accomplishments and features that are live, in the real world. I love Wolfram stuff.
- spoonjim 4y agoI’ve come around on Stephen Wolfram. His puffery essentially hurts nobody besides perhaps those close to him, it’s easy to tune out, while his ambition has produced this really wonderful piece of software.
- DantesKite 4y agoHe seems to have a very loving family, having collaborated with his son on various projects quite frequently.
- spoonjim 4y agoPeople’s public and private personalities have very little correlation.
- DantesKite 4y agoYes that adage is true, but I don’t think that’s relevant in this context, since that’s not the point I was trying to make. I was offering a specific counter example to your observation that he was possibly hurting those closest to him. > His puffery essentially hurts nobody besides perhaps those close to him I think if he was genuinely hurting the people closest to him, like his family through his brash personality, they wouldn’t want to collaborate with him on long, extended projects. Especially considering how old and intelligent his son is.
- wiz21c 4y agoHow does R compare to Mathematica for data science ?
- wiz21c 4y agoWell looking at Mathematica's documentaion, the notebook-like presentation of examples is definitely top notch.
- epgui 4y agoWhile R is not a great language, it's a great language to work with. It has a huge ecosystem of libraries and a very active community. It's unmatched for statistical analysis (even by python), so it does great for data science. I'm sure Mathematica could be great too, but I'm not sure how big of a community it has.
- fn-mote 4y agoThe ergonomics of R are terrible compared to Mathematica. (My opinion, obviously.) In R, packages are developed by separate authors. Similar functions don't have similar interfaces. There's no unity of style. In Mathematica, much more careful thought was given to everything, including at a very basic level: names of functions. Now I'm a big fan of the Tidyverse, and the fact that such a post-hoc language cleanup was possible (and done) is amazing... but the fact that it was necessary [1] is not. [1] Really not intending flame-bait. This is an opinion that many people disagree with. Perhaps like systemd. It isn't the substance of this comment, it's just the context for my remarks.
- wiz21c 4y agoFor what I know of R (about 1.5 year full time with it; probabilities modelling/data analysis), I concur: the ecosystem is rich AND messy. I'm super impressed by the quality of everything, but it's often a "needle in a haystack" experience... Interstingly, I was a strong python pogrammer so I started to do my stuff with scipy and so on while cursing at R every 5 minutes. And after that year, tables have turned, I much prefer to work with R...
- laichzeit0 4y ago
- bdowling 4y agoAt least in the United States, there’s nothing to stop someone from independently implementing the Wolfram Language and libraries and not paying Wolfram anything. See Oracle v. Google (U.S. 2021), which held that copyright law does not protect libraries (e.g. structure, function names, semantics) and APIs because they’re necessary for compatibility/interoperability. The highest court said that was fair use for Google to completely copy (reimplement) Java and all its standard libraries. Someone else could do the same thing with Wolfram Language and it’s libraries.
- kaba0 4y ago> which held that copyright law does not protect libraries Correct me if I’m wrong but it held that this specific case was fair use, not that structure, function name, etc are not copyrightable. While it does give a huge precedent case, code in itself is still under copyright by default. But IANAL.
- bdowling 4y agoPrior copyright cases allowed protection for “structure, sequence, and organization” (SSO) of software. Oracle’s basic argument was that Google copied the SSO of Java for Android/Dalvik. The Oracle decision undid that when it came to reimplementing APIs and libraries so that code could be compatible between systems. Basically, now no one can own an API or prevent anyone else from reimplementing and selling a compatible API, at least not in the U.S. (I am a lawyer, but not your lawyer. Not legal advice, etc.)
- throwaway81523 4y agoAs others mention, the language itself isn't that important. Like so many other languages e.g. Python, it is basically a Lisp underneath a layer of infix syntax. Most of the work went into what in Python terms would be called the standard library, which includes a stupendous amount of scientific and mathematical code, a lot of which is not so easy to implement.
- yccs27 4y agoUnfortunately I don't think this will happen: The Wolfram Language has a _huge_ library of functions from various domains, which is where most of its strength comes from. If you had the time and money to reimplement all of them, you could just make a competing product with better API. I don't think there is enough commercial interest in running existing Wolfram Language code without Mathematica.
- catchclose8919 4y ago...open-source when? There's basically zero widely used programming languages that are not open-source, get to grips with this ffs. Esp. since Wolfram strives to be somewhat-general-purpose in a way (it's not smth like eg. K who's niche anyway) and having an open-source version is crucial in this segment. Hire some ppl (sales, mgmt, product etc.) who know how to make money from open-source (get some from RedHat, IBM etc.) and make this technology accessible to not have all this effort practically wasted, eg. I'd love to use Wolfram instead of Python, but non-opensource is just a no-go for any foundational technology (language, framework, server).
- kgwgk 4y ago> all this effort practically wasted Wasted as in providing a continuously improved product to the thousands of paying customers that fund this effort?
- bborud 4y agoWasted as in not fulfilling its potential even a little bit. Mathematica is a very niche product. It isn't even very relevant in academia or in engineering. But it could have been if Wolfram hadn't hobbled it with unproductive restrictions. It could have had an audience of millions, and that audience would have brought it more value than a single company is capable of creating through a community. Just look at Python. It is just a language. And a not particularly good one at that. ALL of its value comes from the community. Compared to Python, Mathematica isn't even a rounding error in terms of value created. Imagine if Mathematica had been at the core of the last 15 years of data science, machine learning and whatnot? Imagine if the work and the value that went into the Python ecosystem had instead gone into Mathematica. Imagine if even just one of the many things Mathematica can potentially do well had become the go-to way for doing things. But it didn't. Because Mathematica is fundamentally incompatible with the way communities work.
- kgwgk 4y agoJust look at Python indeed. As you say it's a much worse language than many others that were equally available to anyone. And yet somehow it's at the the core of the last 15 years of data science, machine learning and whatnot. If Mathematica had been open-sourced twenty years ago it wouldn't have taken the place of Python. It probably would be even more niche today - and worse.
- haberman 4y agoCan anyone offer a concrete summary of what Wolfram Language and Mathematica are, from a technical perspective? The marketing material alone makes it difficult for me to situate them in the landscape of languages. - Is "Wolfram Language" the language used in Mathematica notebooks? Or is Mathematica a separate language, implemented using Wolfram Language? What does Mathematica add to Wolfram Language? - I assume the Mathematica language is interpreted (not compiled) so it can be used in interactive notebooks. Any info about what its interpreter is like? I'm guessing it is compiled to byte code prior to being interpreted? - How are symbolic expressions represented? Are symbolic expressions a distinct data type? Can you write a function that takes a symbolic expression and computes the derivative (I'm sure such a function is built in, but does the language let you implement a thing like this yourself?) - Is there any kind of static typing, or is everything dynamically typed?
- 7thaccount 4y agoMathematica is a computational environment based off of a notebook like interface (think Jupyter Notebooks). It's programmed using the Wolfram language which is seriously cool and powerful. You can also just write Wolfram language scripts if you don't need to graph stuff. You can literally take a screenshot of something on your computer and copy paste it into a Mathematica function for image recognition or whatever and it will take it. It's a lot like a lisp machine in some ways. You can do advanced symbolic calculus, optimization, ML, 3D visualizations, audio processing, geographic visualizations, it has an import function that can handle practically anything, connect to databases...etc etc, all in a consistent way. Worth a look.
- eschaton 4y agoWolfram Language is essentially Lisp with M-expressions instead of S-expressions, coupled with a clone of MIT’s MACSYMA symbolic mathematics system built around term rewriting. Mathematica is the Wolfram Language plus a user interface similar to the Symbolics Dynamic Listener that acted as your command line front end. Jupyter Notebooks are quite similar since the idea of a scientist’s or engineer’s notebook where content is “live” is a pretty common one.
- 4y ago
- ISL 4y ago"It’s an unprecedented level of openness—and engagement with the community." Hard to rationalize "unprecedented" with a lack of a Git-repo link for scientific software.
- nborwankar 4y agoI think it’s fair to say that the documentation system of Mathematica is the best documentation for any software language anywhere in the world at any time. Not exaggerating one bit. There are not only practical example snippets for every language function but also tutorials and technical deep dives on related topic areas such as signal processing, video analysis, partial differential equations such as the heat equation and wave equations with rich 2D and 3D visualizing s of potentials and flows over surfaces. It’s very powerful for exploratory research that involves deep math and nothing else comes anywhere close. The fact that it’s a functional language makes it much easier to compose functions while just trying out new ideas but it’s not really a general purpose programming language as much as it is a mathematical computation system. And the huge bonus is that you never ever have to import anything or worry that a new version of a critical lib will topple your version dependency house of cards. All subsystems and libraries are internally consistent and always available, without need to import and with context sensitive help.
- ModernMech 4y agoHow would you stack Matlab against Mathematica? I’ve always found Matlab’s docs share a lot of the same qualities as your see in Mathematica. Interesting that both are commercial languages.
- nborwankar 4y agoMatlab is focused on a) Matrix manipulation but builds a lot on top of that such as Signal Processing, differential equations etc. and b) But at the end of the day it is a numeric evaluation language. Whereas in Mathematica everything is an expression and so it does most of its work doing symbolic manipulation until at the end you may or may not choose to evaluate an expression numerically. This allows it to have a whole other capability doing Symbolic Integration and Differentiation of very complicated expressions, Mathematical Logic, Abstract Algebra and IIRC Category Theory and such like. Don’t mean to be a hater but the MATLAB language and default environment feels clunky in comparison. An analogy I use often is that Python, MATLAB and Mathematica are respectively like Linux, Windows and the Mac, aesthetically and functionally. I have used MATLAB as well and their docs are good no question. But the native notebook interface and the “built in everything” environment means you can explore rapidly and run the example code without having to know which other packages you need to buy. So I would put the development experience with Mathematica a couple of notches above that of MATLAB. BUT in the engineering domain especially at Univs MATLAB is king. This is a flaw of Wolfram marketing and pricing not of the underlying product.
- codeulike 4y agoMost languages I can understand how they work 'under the hood' but Mathematica just seems able to do things that I can barely imagine coding. E.g. A function that can produce the integral of any other arbitrary function?
- rcollyer 4y agoIt's a set of rewrite rules with infinite outlook, i.e. a term will continue to be evaluated (rewritten) until it no longer changes. There are some limits to prevent recursion (4096 iterations is the typical limit), alongside ways to infer what the endpoint will be (again to combat infinite recursion). Alongside that, everything in the language is an expression, i.e. subject to rewrite rules. A function, then, just defines a rewrite rule, a constant (e.g. Pi) does the same with higher precedence than the functions, etc. So, a function can return another expression that is then evaluated until it no longer changes. For example, Sin[1] does not evaluate by default as it is exact while it's floating point representation is not, but Sin[0] does. Oh, the language is also homo-iconic, like Lisp, so that data and code are indistinguishable. I found that to be the hardest mental hurdle in understanding how wl functions.
- moonchild 4y agohttps://en.wikipedia.org/wiki/Risch_algorithm https://en.wikipedia.org/wiki/Risch_algorithm may be of interest