[HN Gopher] Launching Version 13.1 of Wolfram Language and Mathe...
       ___________________________________________________________________
        
       Launching Version 13.1 of Wolfram Language and Mathematica
        
       Author : RafelMri
       Score  : 138 points
       Date   : 2022-06-30 04:02 UTC (19 hours ago)
        
 (HTM) web link (writings.stephenwolfram.com)
 (TXT) w3m dump (writings.stephenwolfram.com)
        
       | wiz21c wrote:
       | How does R compare to Mathematica for data science ?
        
         | wiz21c wrote:
         | Well looking at Mathematica's documentaion, the notebook-like
         | presentation of examples is definitely top notch.
        
         | epgui wrote:
         | While 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 wrote:
         | The 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 wrote:
           | For 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...
        
         | j7ake wrote:
         | R was originally intended for statisticians, while Mathematica
         | is more for math and physics.
         | 
         | For data science, R is probably better, just because of the
         | wide range of common and niche statistics software.
        
         | laichzeit0 wrote:
         | R is great if all you do involves working in RStudio and that
         | is where it stops. The R runtime is painful to scale. You're
         | not going to do anything like FastAPI + scikit learn model
         | serving. All the tooling is years behind what's available in
         | the Python ecosystem. I can't speak for RStudio and their
         | commercial offering since I've never used it, nor want to be
         | locked into some vendor like that.
         | 
         | I'm going to be honest, even RStudio sucks compared to PyCharm.
         | Like really sucks. I almost believe people who love RStudio
         | have never used a better IDE or don't have serious software
         | development backgrounds to know that it sucks.
        
       | catchclose8919 wrote:
       | ...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).
        
         | pjmlp wrote:
         | That is why some enjoy state of the art JIT/AOT compilers and
         | GC implementations, whereas others make do with what they have.
        
         | chobytes wrote:
         | I can assure you its widely used by certain fields in academia.
         | Im currently a research assistant in physics at a large lab,
         | and mathematica is ubiquitous.
        
         | tableofzero wrote:
         | By far the most popular programming language in the world is
         | propriatary -- Excel.
        
           | catchclose8919 wrote:
           | There's many open-source alternatives to Excel. Rarely used,
           | but it settles any fear of lock in.
           | 
           | This also made the area palatable for other commercial
           | competitors to enter the space - _Google-sheets drive A TON
           | of enterprise org work nowadays._
           | 
           | You could say that open-source alternatives immensely
           | popularized spreadsheets and resulted in the very nice
           | ecosystem we have now.
           | 
           | Sure, heave finance user stick to MS Excell _because_ MS is
           | pressured to cater very well to their needs, else they will
           | move away to other free or paid alternatives.
           | 
           | Also, there's a reason why multi-dimensional spreadheets are
           | not more popular despite solving so many problems of regular
           | spreadheets: all are proprietary and _very different_ one
           | from another - you probably pick smth like Quantrix
           | (https://quantrix.com/products/quantrix-modeler/), and you'd
           | get insane prices and 100% lock-in... better stick to Excell
           | and/or its open-source and/or free alternatives despite being
           | a worse tool :)
        
             | pjmlp wrote:
             | Since when is Google sheets not proprietary?
        
           | capableweb wrote:
           | Excel is built with programming language and can certainly be
           | used as one, but that doesn't mean _it is_ one. It 's also a
           | bit anal to classify Excel as a programming language, most
           | people would say spreadsheets are a tool, where you could
           | write programs, but again, doesn't mean it's a programming
           | language. At most, I'd give you that Excel is a tool that can
           | do "visual programming", but that's far of from being a
           | "programming language".
        
             | zaphar wrote:
             | This is unfair and a far too narrow definition of
             | programming language. Excel sits very squarely in the
             | functional reactive language space. Just because most of
             | it's users don't "know" they are programming and most of
             | our common tools don't work with it doesn't change the fact
             | that it has pretty much all of the building blocks that any
             | programming language gives you. Are there domains where
             | Excel is awkward to use? Absolutely. The same can be said
             | about pretty much any programming language.
             | 
             | Excel deserves to have the label of programming language
             | even if it shuns that label due to it's target audience.
        
               | capableweb wrote:
               | I guess what I was trying to say that Excel as commonly
               | known, is a programming environment, rather than a
               | language. Where you can use the "Excel" programming
               | language for performing most (if not all) tasks a general
               | purpose programming language can.
               | 
               | But it's still a bit like saying "Eclipse" is a
               | programming language. You can do programming in Eclipse,
               | that is true, but you can also do other things that are
               | not programming, which makes Eclipse a programming
               | environment. Just like with Excel.
        
               | zaphar wrote:
               | I don't think this is a true dividing line for a
               | programming language. The Smalltalk language for instance
               | combines both the programming environment and the
               | language together. I don't think anyone seriously argues
               | that smalltalk is not a programming language.
        
               | igouy wrote:
               | Seems like equivocation -- Smalltalk is a programming
               | language when we're using "Smalltalk" to mean _Smalltalk
               | the programming language_ and Smalltalk is a programming
               | environment when we 're using "Smalltalk" to mean
               | _Smalltalk the programming environment_.
        
               | zaphar wrote:
               | Either way it is still entirely valid to refer to
               | Smalltalk as a programing language.
        
               | igouy wrote:
               | As-long-as you actually mean a "narrow definition of
               | programming language" otherwise you're saying one thing
               | while meaning another.
        
               | igouy wrote:
               | The label of programming language goes to Visual Basic
               | for Applications (VBA).
               | 
               | https://docs.microsoft.com/en-
               | us/office/vba/api/overview/exc...
        
               | zaphar wrote:
               | Excel has conditionals and several forms of map/reduce
               | which stand in for loops all without relying on VBA. I
               | stand by my statement that Excel qualifies in everyway
               | that matters as a programming language.
               | 
               | They avoid that label because of their target audience
               | but the label absolutely applies.
        
         | kgwgk wrote:
         | > all this effort practically wasted
         | 
         | Wasted as in providing a continuously improved product to the
         | thousands of paying customers that fund this effort?
        
           | bborud wrote:
           | Wasted 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 wrote:
             | Just 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.
        
               | bborud wrote:
               | Python ended up at the core of data science because it
               | was capable of serving a community. A community that
               | produced comprehensive computational libraries, which,
               | combined with the low threshold for getting started, made
               | it more accessible for an audience that is interested in
               | computation first and programming second.
               | 
               | This is largely the same audience as for tools like
               | Matlab and Mathematica.
               | 
               | And to serve that market it didn't have to be a good
               | programming language. You won't find most data scientists
               | discussing the finer points of functional programming or
               | OO. They'll be discussing what mathematical techniques to
               | use or what stages to string together in order to achieve
               | the computation they want. If you have ever worked with
               | typical data scientists, most of them aren't even half
               | way competent software engineers.
               | 
               | What Python shows is that community beats technical
               | excellence. By orders of magnitude.
               | 
               | Whether or not Mathematica is a better language is
               | irrelevant as it doesn't have the properties required a
               | large community contributing value for free.
               | 
               | We can't know if Mathematica could have taken the place
               | of Python if it was open sourced, because it wasn't open
               | sourced. But it given that it had a more potent
               | programming model, it could have led to a very different
               | path from model to running software, for instance. And it
               | could have made distributed computation arrive a lot
               | earlier.
               | 
               | But it is actually quite a bit more challenging for
               | Mathematica than that since its licensing terms are
               | stricter than products you might compare it to, like
               | Matlab. I don't think Mathematica would even have to be
               | open sourced to be more successful - it would just have
               | to be a less unattractive value proposition. Compare the
               | revenue of Mathworks vs Wolfram Research, for instance.
               | And then take into account that Mathematica has a much
               | more potent programming model that could have far wider
               | applicability than Matlab.
               | 
               | And keep in mind: Matlab doesn't even have a programming
               | model as potent as Mathematica.
               | 
               | I think that the smartest thing Wolfram could have done
               | would have been to open source the language, the runtime,
               | and a reasonable standard library. Then they could have
               | built a business on top of that of reasonably priced
               | interactive software with GUIs, visualization tools,
               | developer tools to make stand-alone applications, server
               | applications for distributed computation and a SaaS
               | solution for customers who want to run computation in the
               | cloud.
               | 
               | And it isn't like Mathworks didn't miss the boat too. But
               | they are still an order of magnitude more successful than
               | Wolfram Research. Which still makes Wolfram Research the
               | slowest kid in the class in terms of unrealized
               | potential.
        
               | 323 wrote:
               | > _We can 't know if Mathematica could have taken the
               | place of Python if it was open sourced,_
               | 
               | I'm pretty sure it wouldn't have, not with it's current
               | lispy syntax. There is ton of empirical evidence that
               | overt functional style is unnatural for the human mind,
               | especially beginners. Which is why there is no large
               | scale use of any such language.
        
               | spekcular wrote:
               | What empirical evidence exists for that claim? I agree
               | with it, but I'm mostly generalizing from own experience.
        
               | 323 wrote:
               | The fact that it's not wide spread is the empirical
               | evidence.
               | 
               | > _Clearly, there is an obstacle to the acceptance of FP.
               | I think I know what it is. The functional paradigm is an
               | unnatural way for human beings to think. People normally
               | view the world as comprising objects. Nobody views the
               | world as comprising functions, unless he is trained to do
               | so._
               | 
               | https://richardeng.medium.com/fp-is-for-
               | nerds-6ed1ca43bb34
               | 
               | > _When it comes to functional programming, a lot of
               | people start with, "But that's totally unnatural!"
               | Functional programming is compared to working "backwards"
               | and some complain that it's more about solving puzzles
               | rather than working with code._
               | 
               | https://bulldogjob.pl/readme/functional-programming-does-
               | it-...
        
               | [deleted]
        
               | kgwgk wrote:
               | > Whether or not Mathematica is a better language is
               | irrelevant as it doesn't have the properties required a
               | large community contributing value for free.
               | 
               | The issue is that other languages which were better and
               | more appropriate for scientific computing _had_ those
               | properties. Or maybe these properties are very specific
               | to python and then an open-source mathematica wouldn't
               | have made a difference either.
               | 
               | > And it isn't like Mathworks didn't miss the boat too.
               | But they are still an order of magnitude more successful
               | than Wolfram Research.
               | 
               | Depends on your definition of success, of course. You
               | focus on adoption but that's not the only goal. The
               | company is an order of magnitude larger but that doesn't
               | make the product an order of magnitude better.
        
               | bborud wrote:
               | Well, then let's look at some indicators of success.
               | 
               | In terms of adoption Mathematica is even less of a
               | success than if you measure financially. And adoption is
               | a key factor when evaluating whether or not you want to
               | use a programming language for non-trivial projects. It
               | impacts your ability to recruit, access to knowledge
               | (books, forums, evolved practices), usable solutions to
               | common problems (libraries) and even more or less
               | existential questions like whether or not the language
               | will be maintained. Python ticks all of those boxes.
               | Mathematica partially ticks perhaps one of those boxes.
               | And note that this is before we even consider if Python
               | is any good as a language.
               | 
               | If you were to invest in developing a non-trivial system
               | in Mathematica, how enthusiastic do you think investors
               | would be if you nailed your flag to the Mathematica ship?
               | It would not represent good risk management.
               | 
               | Then there's where things are heading. The number of jobs
               | as "data scientist" or "statistician" of some description
               | is growing sharply. It may gain Mathematica a trickle of
               | new users. But the really big gains have been for
               | languages like Python or Julia. Worse still, people tend
               | to move away from software like Mathematica or Matlab,
               | moving to languages like Python and Julia. In fact, it
               | wouldn't surprise me if just the growth in Julia alone
               | over the past couple of years is greater than the total
               | paying userbase of Mathematica.
               | 
               | Single digit, or even low double digit growth in a field
               | that has doubled a few times in the same period isn't
               | success. It is everyone else outrunning you. Fast. And I
               | have seen up close and personal how people who find
               | themselves in that situation will rationalize it with
               | "but we're growing".
               | 
               | Is it a success that it is "good"? For some value of
               | good? Well, a lot of people think Lisp is good. And yet
               | after being around for many decades it is still so hard
               | to find developers to maintain Lisp codebases. I've seen
               | about half a dozen major systems written in Lisp being
               | scrapped once one or two key employees leave. Sure, the
               | systems may qualify as good, even great - but that
               | doesn't help when it becomes a business liability? In the
               | real world it doesn't.
               | 
               | I would have loved for Mathematica to succeed. But it
               | hasn't. And I suspect it won't. Even if it were open
               | sourced right now, I seriously doubt it would bear much
               | fruit the first decade or so. If at all, since the big
               | audiences are focused elsewhere.
        
               | catchclose8919 wrote:
               | > It probably would be even more niche today - and worse.
               | 
               | Maybe, but a better successor would've evolved out of it.
               | 
               | Matlab had Octave as an open source alternative. Not used
               | much, but it inspired the creation of Julia. Based on how
               | fast it's evolving Julia will be the superpowered-
               | grandson-of-Matlab :)
               | 
               |  _The Mathematica /Wolfram bloodline will unfortunately
               | die off at some point... lots of ideas will be lost and
               | time will have to be spent to reinvent them from scratch
               | atop a different platform... sigh..._
               | 
               | (Kind of reminds of the Smalltalk story... in the 80-90s
               | Java won bc. all the practically usable Smalltalk
               | implementations were closed-source and had very bad
               | pricing... We could've had much better OO+interactive
               | languages instead if an open-and-free alternative of it
               | existed... Instead we have ugly Java/C# or slow Ruby in
               | that space.)
        
               | kgwgk wrote:
               | > Maybe, but a better successor would've evolved out of
               | it.
               | 
               | > Matlab had Octave as an open source alternative. Not
               | used much, but it inspired the creation of Julia. Based
               | on how fast it's evolving Julia will be the superpowered-
               | grandson-of-Matlab :)
               | 
               | That's a very contrived argument!
               | 
               | If Matlab has inspired the development of other products
               | without ceasing to exist so can (maybe has) Mathematica.
        
               | igouy wrote:
               | > ... in the 80-90s Java won...
               | 
               | Difficult for Java to win in the 80s!
               | 
               | > ... Smalltalk implementations were closed-source and
               | had very bad pricing...
               | 
               | Compared to $0 all pricing is bad pricing.
        
               | pjmlp wrote:
               | Forgetting that Java tool vendors are ex-Smalltalkers?
               | 
               | Including the JIT and GC that powers OpenJDK, which was
               | only made freely available on Java 6 version.
               | 
               | Also that Sun went bankrupt trying to push Java
               | everywhere, while the other Java vendors (and Microsoft
               | with .NET Core), learned to only open the core part,
               | while the crown jewels are kept commercial.
        
               | 323 wrote:
               | > _much worse language than many others that were equally
               | available to anyone_
               | 
               | I've been there during the Python take over and world and
               | it's not my recollection of how it went.
               | 
               | Which are those superior languages that you are talking
               | about?
               | 
               | An important property of Python is that while it may not
               | excel at many things, it's good or decent at everything.
               | Unlike specialized languages like R for example which
               | sucks at everything which is not operations on numbers.
        
               | kgwgk wrote:
               | Common lisp and a handful of other scheme/lisp variants,
               | for example, if we talk about high-level general purpose
               | languages.
               | 
               | Lush was a lispy open-source language - implemented in C
               | - that deserved a better outcome.
               | 
               | And of course there were other scripting languages around
               | like Perl, Tcl and Lua. Torch was built on top of the
               | latter, by the way.
        
               | zem wrote:
               | lush was sadly dynamically scoped at a time the lisp
               | universe in general had agreed lexical scope was the way
               | to go. I feel like it could have gotten a lot more
               | traction if it wasn't for that. (also if I remember
               | correctly its desktop gui libraries were windows only)
        
               | kgwgk wrote:
               | I think it was the other way around: the GUI was based on
               | X11.
               | 
               | http://lush.sourceforge.net/news.html
               | 
               | 2003-02-19: Rejoice, rejoice! Thanks to Leon, the CVS
               | version now compiles and runs on Windoze under Cygwin. Be
               | sure to read the README.cygwin before installing. What
               | works: the interpreter, the compiler, the dynamic loader,
               | X11 graphics and events. What doesn't (yet) work:
               | external packages such as GSL, SDL, OpenGL...
        
               | 323 wrote:
               | The consensus at the time was that one should only use
               | Perl/Tcl for legacy reasons. And that these languages
               | should be replaced with Python.
               | 
               | A few examples, there were countless articles like these:
               | 
               | 2000 Eric Raymond (!) - Why Python?
               | 
               | > _It was at this point I realized I was probably leaving
               | Perl behind. ... For anything larger or more complex, I
               | have come to prefer the subtle virtues of Python--and I
               | think you will, too._
               | 
               | https://www.linuxjournal.com/article/3882
               | 
               | 2002 What's wrong with Perl:
               | 
               | https://www.garshol.priv.no/download/text/perl.html
        
               | kgwgk wrote:
               | To clarify, I was mentioning Perl/Tcl as existing
               | alternatives that were "equally bad" as Python - not
               | necessarily better. In any case, the fact that a teaching
               | language like python ended being used for numerical
               | computing - a task that it was not suited for - is
               | accidental.
        
       | ISL wrote:
       | "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 wrote:
       | I 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.
        
         | rhodin wrote:
         | (Former Wolfram employee) Glad you like the documentation
         | system, there is a lot of hard work going into making the
         | examples in that documentation, and making sure they are linked
         | to other relevant areas.
        
         | ModernMech wrote:
         | How 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.
        
       | gfodor wrote:
       | Looking forward to their AGI release, embodied in the Stephen
       | Wolfram holographic avatar, Wolfram Wolfram
        
         | dhdc wrote:
         | Which of course is brought to you by Stephen Wolfram,
         | president, CEO and founder of Wolfram Research Inc., designer
         | of Wolfram Language(tm) which is available in Wolfram
         | Mathematica(tm).
        
           | cbm-vic-20 wrote:
           | "Buy my book!"
        
       | bdowling wrote:
       | At 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.
        
         | yccs27 wrote:
         | Unfortunately 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.
        
           | forgotpwd16 wrote:
           | Exactly. Implementing the language is one thing. Mathics does
           | it well. But implementing the vast library is much harder.
           | (Though the essentials are possible as proved by Mathics.)
           | Let alone assembling the countless example data it comes
           | with.
           | 
           | Also nitpick but you can run Wolfram code without Mathematica
           | directly using the Wolfram Engine.
        
             | bdowling wrote:
             | Thank you for mentioning Mathics, https://mathics.org/.
        
             | cultofmetatron wrote:
             | mathics seems really cool. I was thinking of biting the
             | bullet and buying a copy of mathematica since I'm teaching
             | myself higher level math and want a a language that does
             | symbolic computation. Needing to pull a docker file to run
             | seems like a bit of a pain though...
        
               | forgotpwd16 wrote:
               | You could also try Wolfram Cloud. Only significant issues
               | a free account has is the inability to upload (so cannot
               | use found notebooks unless you retype everything
               | yourself) and files expiring (becoming unavailable unless
               | you pay) after 60 days. But give Mathics a chance first.
        
         | upbeat_general wrote:
         | I think that would be rather pointless. From using
         | Mathematica/The Wolfram Language, the cool part was not the
         | language design but the powerful functions. It's not like
         | wolfram language code is particularly widespread so better/open
         | versions don't necessarily need the same language. They need
         | the powerful backend.
        
         | kaba0 wrote:
         | > 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 wrote:
           | Prior 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 wrote:
           | As 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.
        
       | n-e-w wrote:
       | Rather 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.
        
         | auggierose wrote:
         | Mathematica is great. And Wolfram has carved out a place for
         | himself in this world where he can do what he loves. Give me
         | more people like that.
        
         | MonkeyClub wrote:
         | > I love Wolfram stuff.
         | 
         | I'm with you 100% here, but I'm also 100% with sibling
         | jiggawatts.
         | 
         | To me, Mathematica is a computation environment that conveys a
         | Lisp Machine feeling of "the machine and I are working on this
         | problem".
         | 
         | You know, that "assembling things live in the sky" Lisp feeling
         | (Yegge's phrase, not mine).
         | 
         | The only other computation environment that is right there en
         | par in flexibility and conveyance of the same trippy feeling
         | is, of course, Emacs.
         | 
         | The company can still make money from academic and professional
         | licensing and support contracts, and everyone else gets to have
         | access to an awesome thinking tool as a matter of fact.
         | 
         | They've already gone that direction a bit with the Raspberry
         | release, what's left now is just the final push.
         | 
         | So, if Stephen Wolfram ever reads this:
         | 
         |  _Open source Mathematica and it will have a chance at
         | immortality._
         | 
         | Just like Lisp and just like Emacs, and the people will
         | rejoice.
         | 
         | Disclaimer: I started with Mathematica 4.0 at age 14 (a pirate
         | copy too, sorry!), turned on by that marvellous column in
         | Quantum. But I was put off precisely due to the proprietary
         | nature, and switched to C and Lisp. Consequently I became a CS
         | guy rather than a Physics guy, because C and Lisp were
         | accessible early on, while Mathematica wasn't (legitimately).
        
           | Qem wrote:
           | > You know, that "assembling things live in the sky" Lisp
           | feeling (Yegge's phrase, not mine). The only other
           | computation environment that is right there en par in
           | flexibility and conveyance of the same trippy feeling is, of
           | course, Emacs.
           | 
           | Do you know Pharo? The experience you describe is also
           | typical in the Smalltalk family. See https://pharo.org/
        
           | AlanYx wrote:
           | >You know, that "assembling things live in the sky" Lisp
           | feeling (Yegge's phrase, not mine). > >The only other
           | computation environment that is right there en par in
           | flexibility and conveyance of the same trippy feeling is, of
           | course, Emacs.
           | 
           | Agreed. That's the main thing that tends to get lost when
           | people make comparisons between MATLAB and Mathematica.
           | Mathematica is conceptually elegant and often just a joy to
           | work with as an intellectual tool. Its core problem is just
           | that it isn't more widely available. MATLAB on the other hand
           | is just an inelegant, obvious implementation of a numerical
           | environment. Its strength is just the variety of toolkits you
           | can license, but once your domains get equivalent open source
           | toolkits, there's no reason not to bail on MATLAB.
           | 
           | >I started with Mathematica 4.0 at age 14 (a pirate copy too,
           | sorry!)
           | 
           | The nice thing these days is that the full version of
           | Mathematica is available for free on the Raspberry Pi.
           | Wolfram deserves some kudos for that.
        
             | jhgb wrote:
             | > Wolfram deserves some kudos for that.
             | 
             | I feel like the other drug dealers in history might be
             | offended at not getting at least some credit here for
             | inventing this method.
        
               | fipar wrote:
               | I'm quite pro Free Software but I think that analogy is
               | stretching it too much. In fact, I think it's so
               | hyperbolic it ends up working against the point you're
               | trying to make, which is one I agree with (e.g., I really
               | like Mathematica, but I'm teaching my kid Sage for now).
        
               | jhgb wrote:
               | If it's true as you seem be indicating even in your case,
               | then I don't see how it's being hyperbolic. "True but
               | sad" still includes "true".
        
               | fipar wrote:
               | I meant to say that offering Mathematica free at an early
               | stage of the educational process for improved chance of
               | lock-in later in life is a point I agree is bad. I'm not
               | opposed to proprietary software, in fact I use some, but
               | I do not like that sort of lock-in practice.
               | 
               | I stand by the fact that the comparison to drug dealers
               | is not true. There's a very, very long path from legal
               | but shady (to me) business practices to things like
               | engaging in all out war with rival dealers, getting
               | people hooked on stuff that in many cases renders them
               | zombies, torturing and killing people that owe you money
               | or that get in your way, forcing rural people to plant
               | what you want or getting them killed or displaces, which
               | are all part of the things drug dealers do. Not even the
               | Microsoft from the 90s was comparable to that.
               | 
               | So, to try and restate my original reply in a hopefully
               | clearer way: I agree with the point you're trying to
               | make, but I think the analogy you chose may go against it
               | for some readers.
        
         | tableofzero wrote:
         | >machine learning development has just stopped dead
         | 
         | From
         | https://reference.wolfram.com/language/guide/SummaryOfNewFea...
         | 
         | New in machine learning in 13.1 ...
         | 
         | ContentDetectorFunction (updated) -- support for Information
         | DimensionReducerFunction(updated) #
         | FeatureExtractorFunction(updated) FindClusters (updated) --
         | support for fixed number of clusters and UpTo
         | ClusterClassify(updated) # ClusteringComponents(updated)
         | Interpretable Machine Learning FeatureValueImpactPlot -- plots
         | the impact of a feature on a model result FeatureImpactPlot --
         | plots the impact of each feature together
         | CumulativeFeatureImpactPlot -- plots the cumulative impact of
         | each feature FeatureValueDependencyPlot -- plots the result
         | dependency on a feature value Network Layers >> ReplicateLayer
         | (updated) -- support for integer arrays RandomArrayLayer
         | (updated) -- support for more statistical distribution
         | AttentionLayer (updated) -- support for dropout and local
         | masking ElementwiseLayer (updated) -- new activations "Mish"
         | and "GELU" ThreadingLayer(updated) # FunctionLayer(updated)
         | Network Training >> NetTrain (updated), LossFunction (updated)
         | -- support for multi-output and nonscalar loss Encoders &
         | Decoders >> "Image" (updated) -- resampling and padding support
         | "Class" (updated) -- support for top-k and top-p sampling
         | (nucleus sampling) Formats "ONNX" (updated) -- export support
         | for net operators
        
           | n-e-w wrote:
           | Three of their best ML engineers /devs left in the last 12
           | months or so. The backend for anything deep-learning is
           | MXNet...which is essentially a non-starter these days vs
           | PyTorch or TensorFlow. All these functions you cite are very
           | low level updates not real feature updates.
           | 
           | I would say in 2018-2019 the ML / Deep learning stack was
           | actually very impressive compared with what was available in
           | FOSS. Now -- it's languishing. Badly.
        
         | spoonjim wrote:
         | I'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.
        
           | mhh__ wrote:
           | Hurts no one except the people he sues for working on his
           | ideas faster than him
        
             | sundarurfriend wrote:
             | Any examples?
        
               | mhh__ wrote:
               | He sued Matthew Cook to stop him publishing a proof of a
               | conjecture Wolfram made about 110
        
               | Qem wrote:
               | After this fiasco, I wonder how many of Stephen Wolfram's
               | claimed results are just his employees ideas with true
               | author names filled off.
        
           | DantesKite wrote:
           | He seems to have a very loving family, having collaborated
           | with his son on various projects quite frequently.
        
             | spoonjim wrote:
             | People's public and private personalities have very little
             | correlation.
        
               | DantesKite wrote:
               | Yes 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.
        
         | jiggawatts wrote:
         | The saddest thing about Mathematica is that despite the
         | incredible level of effort invested into it by some of the
         | smartest people on the planet, it will _inevitably_ be
         | relegated to the dustbin of history.
         | 
         | As a proprietary language and kernel, it can never compete
         | long-term with open source alternatives.
         | 
         | It's one thing to have a proprietary _product_ , but for
         | decades now proprietary languages have been a no-go for
         | practically everyone. Even formerly closed languages have been
         | opened sourced, such as Java and C#.
         | 
         | There is no other use for Wolfram Language scripts outside of
         | Mathematica, which comes with a "license server". That's... a
         | dead end.
         | 
         | Can I publish Wolfram code in Docker Hub and expect it to work
         | (legally)? No.
         | 
         | Can I throw some Wolfram code into an Azure Function and have
         | it compute something for me on demand? Nope.
         | 
         | Can I embed Wolfram code into a C# app, publish it on GitHub,
         | and have other people be able to use it without forking out
         | $thousands for a Mathematica license? Nope!
         | 
         | And on and on...
         | 
         | Python, Julia, and Jupyter notebooks will simply wipe out all
         | usage of Mathematica outside of a few esoteric fields. As you
         | said, they're all markedly inferior in almost every way, except
         | for one critical one: they're open and _extensible_.
         | 
         | You mentioned AI/ML having stopped dead in Mathematica. I
         | noticed that too. I wanted to test some GPU-hosted ML stuff
         | recently that's not the standard Pytorch/Tensorflow type of
         | thing, checked Mathematica, gave up, and I'm now using Julia.
         | 
         | If Mathematica was more open, there would be no "dead end"
         | there, I could simply extend it. Or more importantly, other
         | people would have already.
        
           | plaguepilled wrote:
           | I agree wholeheartedly with this. In fact, if Mathematica
           | were open source, I feel it may even encroach upon machine
           | learning applications.
           | 
           | Since finishing up in university, I have sorely missed my
           | free access to a fast and ergonomic symbolic equation solver.
           | Sympy is an unsatisfactory substitute.
        
             | ilirium wrote:
             | For my cases, when during R&D (data science for
             | weather/geo/agro) I rarely need to work with formulas in
             | symbolic representation, Sympy works enough. Cases like
             | combining 2 equations into 1, simplifying, defining numeric
             | coefficients, and printing formulas in TeX representation.
        
             | logicchains wrote:
             | Have you tried Maxima as a symbolic equation solver?
        
               | throwaway81523 wrote:
               | Or Sage (sagemath.org)?
        
               | lokedhs wrote:
               | Sage uses Maxima though. And a bunch of other things as
               | well.
        
           | coldtea wrote:
           | > _As a proprietary language and kernel, it can never compete
           | long-term with open source alternatives._
           | 
           | What "open source alternatives"? There aren't any at this
           | level of polish and maturity...
           | 
           | Meanwhile, whatever the "dustbin of history" does, we can
           | continue keep using Mathematica just fine, for 20+ years, and
           | 20+ more...
        
           | pjmlp wrote:
           | Java and C# are partially open source, some of the best tools
           | that make them shine are commercial.
           | 
           | Real time bare metal implementations, GUI tooling, 3rd party
           | GUI components ecosystem, data analysis of runtimes in
           | productions without code changes, architecture modeling tools
           | on the IDEs,...
        
           | jansan wrote:
           | _As a proprietary language and kernel, it can never compete
           | long-term with open source alternatives._
           | 
           | People have been saying this about Windows for the last 35
           | years.
        
           | discordance wrote:
           | Mathematica set the standard for Notebooks (as seen in
           | iPython, Jupyter, Sage etc).
           | 
           | If their influence on that is their only contribution to the
           | world, which it is not, then they have made their mark.
        
           | palisade wrote:
           | I don't know if it could really be considered to be in the
           | dustbin of history. Wolfram Alpha is actually what powers
           | Siri and other services like it. It is what gives her the
           | intelligence. That is a massive accomplishment.
        
             | the_optimist wrote:
             | Documentation please. Perhaps SRI originally prototyped on
             | Mathematica, but I do not believe our iPhones are running m
             | scripts in a Mathematica interpreter.
        
               | palisade wrote:
               | "Rather than return a list of Google search results, Siri
               | uses Wolfram Alpha to generate what it believes is the
               | correct answer."
               | 
               | https://www.siriuserguide.com/what-is-wolfram-alpha/
               | https://www.siriuserguide.com/how-to-use-siri-knowledge/
               | 
               | "Siri Knowledge uses a combination of web searches,
               | inbuilt apps, and Wolfram Alpha to find the answers to a
               | fantastic variety of questions."
               | 
               | If you ask Wolfram Alpha for more information about Siri:
               | https://www.wolframalpha.com/input/?i=Siri
               | 
               | It returns:
               | 
               | "Siri is a personal assistant application for iOS. The
               | application was first available from the App Store, then
               | came standard on Apple's mobile devices starting with
               | iPhone 4S. Siri uses natural language processing to
               | answer questions and perform actions by delegating
               | requests to an expanding set of web services, including
               | Wolfram|Alpha."
        
           | bborud wrote:
           | The first time I encountered Mathematica was 30 years ago,
           | and I genuinely thought that within a decade this would be a
           | tool that everyone would learn in college. A few years later,
           | when working at the university I was a bit puzzled to find
           | that while you could find things like Matlab on the various
           | computer labs around campus (usually running some flavor of
           | Unix), Mathematica was nowhere to be seen. Not even on the
           | Windows labs.
           | 
           | The guy who was in charge of negotiating software licenses
           | for the university said that it was a chicken and egg
           | problem. Mathematica wasn't very available because it was
           | expensive, Wolfram wasn't easy to negotiate with.
           | 
           | With people not learning Mathematica there never developed a
           | demand for it - and because you couldn't expect to get your
           | hands on a license it wasn't worth the investment both in
           | time and money to learn mathematica, or worse yet, to make
           | yourself dependent on it for getting work done.
           | 
           | Mathematica has always been a lovely product. But it has also
           | always been impractical due to its pricing and restrictions.
           | Whether you are in academia, a working professional or just a
           | hobbyist. Which has made it a very niche piece of software.
           | For 30+ years.
           | 
           | There is no reason to believe this will change. And that's
           | fine. It is their software and they can do whatever they want
           | with it. But it also means it is largely irrelevant software
           | for most people, including the scientific community. That
           | isn't a disparaging remark, it is an accurate representation
           | of reality.
        
             | kgwgk wrote:
             | > Mathematica has always been a lovely product. But it has
             | also always been impractical due to its pricing and
             | restrictions. Whether you are in academia, a working
             | professional or just a hobbyist. [...] There is no reason
             | to believe this will change.
             | 
             | The hobbyist license is less than $200 per year. What kind
             | of pricing would make it practical for you?
             | 
             | [Edit: The student license (non-expiring) was $139 twenty
             | years ago, $176 today. That may be "expensive" but many
             | textbooks cost more than that.]
        
               | bborud wrote:
               | In terms of price: a price point that means a significant
               | portion of my peers will also pay for Mathematica without
               | too much hesitation. The value proposition changes
               | radically when a tool is something "everyone" runs or
               | which everyone can afford to run.
               | 
               | But pricing isn't the only problem here. The licensing
               | model would have to be far more permissive. Plus I think
               | any language that hopes to be successful would at least
               | require an open source compiler, runtime and standard
               | library.
        
               | Archit3ch wrote:
               | > a price point that means a significant portion of my
               | peers will also pay for Mathematica without too much
               | hesitation
               | 
               | A perpetual license for Office Professional 2021 costs
               | low double digits (depends on locale). They also don't
               | really enforce checks for non-commercial use. As a
               | result, almost every office uses Excel. It still doesn't
               | replace python/C++ for deployment.
        
               | bborud wrote:
               | > As a result, almost every office uses Excel.
               | 
               | I'll have to disagree with your conclusion.
               | 
               | Excel has been the de facto standard for spreadsheets for
               | a couple of decades so its user base is not because of
               | how the office suite is priced right now, but because it
               | is "what everyone uses".
               | 
               | This effect is even so powerful that despite Apple's
               | suite (whatever it is called this year) being free, and
               | various free online offerings exist that are adequate for
               | a large chunk of users, Microsoft can still price
               | licenses relatively high.
        
               | jiggawatts wrote:
               | Once in a blue moon I use Mathematica as an overpowered
               | calculator. I keep it around partly for nostalgia, and
               | partly because it makes me feel like a true computer
               | _scientist_.
               | 
               | Every time I use it, I have this mental image of using a
               | 500 ton press to crack a walnut. It's ludicrous overkill,
               | but it brings a certain satisfaction to be able to use
               | arbitrary precision maths when I don't need to, and use
               | nonlinear fits for graphs where nobody looking at the
               | result will even begin to appreciate the difference it
               | makes.
               | 
               | This is the problem -- there is a "long tail" of people
               | like me that have used Mathematica at university that are
               | loathe to let go, but can't really justify the ongoing
               | price.
               | 
               | This is why there are free editions of many paid tools.
               | IntelliJ IDEA and Visual Studio have free "community
               | editions", for example. More importantly, the _build
               | tools_ are generally free.
               | 
               | Even eye-wateringly expensive enterprise products with
               | "call us" pricing have free editions! For example, VMware
               | ESXi, Oracle, DB2, and SQL Server all do.
               | 
               | Wolfram is one of the last all-proprietary, no-free
               | option, no open-source holdouts, especially in the space
               | of "general purpose languages".
        
               | danuker wrote:
               | > no-free option
               | 
               | Perhaps Wolfram Alpha is a "free option" for the once-in-
               | a-blue-moon use case.
               | 
               | But you might lose any work at any moment, if Wolfram
               | decides to turn it off.
        
               | [deleted]
        
               | easrng wrote:
               | It's free for personal use on Raspberry Pis btw, and also
               | there's some kind of free tier for Wolfram Cloud.
        
               | NavinF wrote:
               | It has to be low enough for mass adoption. I'd guess
               | $2/mo or $10/yr.
               | 
               | I paid for the $200 license back in high school 10 years
               | ago and it was absolutely amazing; Really ahead of its
               | time and well worth the money. But today as a software
               | engineer the only feature I'm missing in Python is the
               | ability to run natural language expressions in the middle
               | of my code. Besides that, Python is far superior thanks
               | to the community investment and the ability to easily
               | deploy my code.
        
               | ziotom78 wrote:
               | I agree. I am still using Mathematica 5 for Students,
               | which I purchased when I was a student. Despite the fact
               | that at the time I bought the version for Windows, it is
               | worki g like a charm on my Linux laptop thanks to Wine.
               | 
               | Nowadays my daily workflow is mainly based on Python and
               | Julia, I use Mathematica just for symbolic calculations
               | (solving differentialequations, computing integrals...)
               | 
               | P.S. Once I had the chance to use Mathematica 12 on a
               | server in my University, but I found that it offered
               | nothing that I could need that wasn't already in version
               | 5...
        
               | kgwgk wrote:
               | For the record, the question was not about getting "mass
               | adoption" but about the price that would make such a
               | lovely product worth it for a hobbyist. Most hobbys are
               | much more expensive than $10 per year!
        
               | NavinF wrote:
               | Sure, I'd gladly pay $200 again if it had a large
               | community and a deployment story. What I meant is that I
               | wouldn't use it again unless it achieved mass adoption.
               | That in turn requires dirt cheap pricing even if I don't
               | directly care about the price.
        
               | jjtheblunt wrote:
               | I've been using Mathematica since it came out in 1988,
               | then off University of Illinois site license (it was
               | developed there), and then keeping a personal hobbyist
               | license live.
               | 
               | The hobbyist license wasn't priced by the year, just
               | outright single charge. Is the by-the-year version you
               | see one with continued upgrades?
               | 
               | [ Edit : the edit directly above answers this. thanks! ]
        
               | [deleted]
        
             | 7thaccount wrote:
             | Mathematica is like $3k for a commercial license with the
             | kitchen sink. Matlab can cost that much for like the
             | database toolbox addon or the ML toolbox add-on.
             | Mathematica is cheap in comparison.
        
           | sveme wrote:
           | That's the perspective of a software developer. Neither
           | Mathematica nor Matlab actually try to address this market.
           | Both are languages for mathematicians, scientists and
           | engineers and are still mostly unrivalled when it comes to
           | domain knowledge. Python has the domain knowledge in the
           | datascience domain, Julia has pretty good domain knowledge in
           | OR. No one really comes close to capturing the symbolic
           | computation domain as Mathematica does.
        
             | dguest wrote:
             | Targeting the non-engineering crowd also means they are
             | optimizing for a group that cares less about stability.
             | That allows them to deprecate features, change interfaces,
             | etc. An open source language is inevitably going to attract
             | some maintainers who care about (or are paid to care about)
             | keeping legacy code working.
             | 
             | I haven't worked with Mathematica in years, though, so this
             | is mostly speculation: how strictly do they maintain
             | backward compatibility?
        
               | danachow wrote:
               | > Targeting the non-engineering crowd also means they are
               | optimizing for a group that cares less about stability.
               | 
               | Looking at how many buzzword bingo boards I could make
               | with JavaScript frameworks de jour and even enterprise
               | platforms like .NET I find this statement exactly
               | backwards in practice.
               | 
               | > An open source language is inevitably going to attract
               | some maintainers who care about (or are paid to care
               | about) keeping legacy code working.
               | 
               | Over 20 years I've found this to be quite a mixed bag.
        
               | Smaug123 wrote:
               | _Extremely_ strictly. They 're fond of saying that most
               | programs from v1 will Just Work in version 13. See https:
               | //reference.wolfram.com/language/tutorial/Incompatible...
               | for a list of breaking changes. They even document
               | certain _bugfixes_ this way:
               | 
               | > AbsoluteOptions has been reimplemented to be more
               | accurate, and the form returned for a particular option
               | may be different now.
               | 
               | They deprecate stuff, but almost never remove it:
               | 
               | > ValueQ has been redesigned to test for the presence of
               | a definition regardless of whether the definition is
               | used. Old behavior can be restored by specifying "Legacy"
               | as the method.
               | 
               | They play more fast-and-loose with functions documented
               | as "experimental".
        
             | jjtheblunt wrote:
             | What of Macaulay2 and Gap and Magma and so on?
             | 
             | That said, I'm still a Mathematica person at heart.
        
             | bborud wrote:
             | I wouldn't lump Mathematica and Matlab together. Not least
             | because Matlab is almost ubiquitous in academia and in
             | engineering while Mathematica is extremely rare.
        
               | hgomersall wrote:
               | MATLAB seems to be rapidly being displaced by python is
               | my observation.
        
               | tails4e wrote:
               | The matlab licencing will be their downfall. Its the only
               | licence we have in work that is per seat vs being token
               | (floating) based, due to the cost of a floating license.
               | So instead of having a tool any of our engineers can use,
               | we have it assigned to a few engineers, and the others
               | make do with octave or python. The sensible long term is
               | to standardise on one language, and if it were not for
               | certain toolboxes, that would be python or Julia, most
               | likely. If the matlab licenses we had were floating,
               | mathworks would get the same money, but would be more
               | likely to keep our business, instead of pushing us to
               | look into how best we can replace them.
        
               | cultofmetatron wrote:
               | yup, I'm currently taking Andrew Ng's newly redone
               | machine learning course. the biggest change is that the
               | language has been switched from matlab to python.
        
               | bborud wrote:
               | Yes, I think you are right.
        
               | sveme wrote:
               | In physics and obviously math, mathematica is very
               | popular.
        
           | dhdc wrote:
           | Counter example: MATLAB. Proprietory software, proprietory
           | language, yet it remains unrivalled in control engineering,
           | DSP, communication systems and so on.
           | 
           | I genuinely hope that Octave can take off and trade blows
           | with MATLAB face to face, but not sure if that will ever
           | happen simply because of the amount of money MathWorks is
           | pumping into developing toolboxes.
        
             | catchclose8919 wrote:
             | > yet it remains unrivalled in control engineering
             | 
             | No, its usage is just _declining slower_ in those areas
             | because ppl don 't want unnecessary change introducing
             | unnecessary defects, esp since safety and reliability
             | matters a lot for some equipments, and also engineers spend
             | time on smth else than learning new languages and
             | frameworks.
             | 
             | In 20 years Matlab will be as legacy as Fortran is now,
             | still some left but mostly forgone.
        
               | BeetleB wrote:
               | > In 20 years Matlab will be as legacy as Fortran is now,
               | still some left but mostly forgone.
               | 
               | This is a joke, right?
               | 
               | In many academic disciplines that involve numerical work,
               | the amount of Fortran code in use _today_ greatly exceeds
               | that of any of the rivals.
               | 
               | Professors were forced to use Fortran by their advisors
               | when they were in school, so most of their code is in it.
               | These professors are not going to allow their students to
               | reinvent any wheels. And the cycle continues. To give you
               | an idea of how extreme this phenomenon is - almost all
               | the Fortran code out there in academia is still in
               | Fortran 77.
        
               | pjmlp wrote:
               | Given that Fortran is one of the few languages with first
               | class support for GPGPU development, including graphical
               | debuggers and IDEs, not bad.
        
               | dhdc wrote:
               | > In 20 years Matlab will be as legacy as Fortran is now
               | 
               | Not if MathWorks keep offering discounts to universities
               | for putting MATLAB in the courses, gotta get those
               | undergrads "hooked" early before graduating.
        
               | notagoodidea wrote:
               | Not really the reality imho. I was in a cursus where
               | mostly Matlab were taught 10y ago, while I was already
               | programming on the side in Python/R. Most of the students
               | realized after their master that neither academia nor
               | private company were using Matlab and because programming
               | was not the focus, they had a really hard time to
               | transfer their knowledge to any other programming
               | language. Not SW/SE/Dev here, just scientific/engineer
               | cross-over students.
               | 
               | After raising their voices, Faculty finally switched from
               | Matlab to Python for those courses because what matters
               | was your number of hire after their master not to get a
               | deal for a software nobody uses besides two old
               | professors.
               | 
               | And in general, the more academia moves away from private
               | solutions (be it STATA, ArcGIS, Matlab, SAS, etc),
               | education will move from it also. (Belgian University)
        
               | analog31 wrote:
               | I've been involved in some hires of new graduates in both
               | engineering and physics. What I've noticed is that
               | students are acutely aware of job market for programmers,
               | and to a somewhat lesser extent, the relative status of
               | "hardware" and "software." They're differentiating
               | themselves into programmers and non-programmers. I've
               | observed that anybody who can program well enough to do
               | it for money, will eventually be doing so.
               | 
               | They're all exposed to Matlab (it's on every resume), but
               | that could range from actually knowing how to program, to
               | having been given some pre-written scripts to run in a
               | class.
               | 
               | However, the ones who are inclined to program, want to
               | learn a language that they perceive to be relevant to the
               | software development job market. Some of them have gone
               | so far as to take a handful of CS courses and are as up
               | to date on good coding practices as the CS majors
               | themselves. This even includes some students in
               | traditionally non programming fields such as biology and
               | chemistry.
               | 
               | Remember that it's usually easier to learn your second
               | language, so if a student has the itch to program,
               | there's a pretty good chance that they will have learned
               | Python on the side by the time they graduate.
        
               | catchclose8919 wrote:
               | Programming languages are not heroin... people want a
               | tools offering some features and they use whatever has
               | them and is not too hard to learn a new one.
               | 
               | Matlab-class languages are <1 week for anyone smart to
               | learn and usably prodactive at then it's a smooth
               | learning curve up. They're not Scala or Haskell or
               | enterprise Java frameworks...
               | 
               | When Julia gets all the advatanges currently in the
               | Python ecosystem (and it's just a matter of time), it's
               | game over. Ppl use Matlab instead of Python bc Python is
               | weird and slow at many linear algebra stuff... AI/ML ppl
               | are OK with Python bc they rarely write low level
               | numerics code and when they do it has to run on stuff
               | other than regular CPUs so it's C anyway.
               | 
               | If Matlab looses (fairly) we all win. But
               | Mathematica/Wolfram is a different thing... there's all
               | the symbolic computing stuff and the idea of integrating
               | access to a general real-world-knowledge-DB into the
               | language itself in there that will take _decades_ to re-
               | invent...
        
               | bowsamic wrote:
               | No way, Simulink is way too popular for that
        
               | enriquto wrote:
               | > as legacy as Fortran is now
               | 
               | what are you talking about? There's a lot of numerical
               | code written (and actively developed) in Fortran today.
               | If you are anywhere near numerical mathematics, you are
               | running algorithms written in Fortran that somebody is
               | maintaining.
        
               | onikolas7 wrote:
               | 'Lots' and 'legacy' are compatible.
        
               | forgotpwd16 wrote:
               | >as legacy as Fortran is now
               | 
               | Disappointingly because modern Fortran is a nice language
               | for numerical computing.
        
               | catchclose8919 wrote:
               | Compared to C, sure it is. Probably compared to C++ to
               | since it's less opportunity for obsfucation. Compared to
               | anything else probably not.
        
               | forgotpwd16 wrote:
               | Issue is most such codes are written in C and C++. Also
               | anything else usually lacks native multidimensional
               | arrays, element-wise array operations, and parallel
               | programming facilities, let alone raw performance.
        
           | ur-whale wrote:
           | > Python, Julia, and Jupyter notebooks will simply wipe out
           | all usage of Mathematica outside of a few esoteric fields.
           | 
           | Yup, and all that's needed for the floodgates to open is for
           | someone to write some sort of converter.
        
           | tableofzero wrote:
           | > There is no other use for Wolfram Language scripts outside
           | of Mathematica, which comes with a "license server".
           | That's... a dead end.
           | 
           | Yes. They call it Wolfram Engine
           | 
           | >Can I publish Wolfram code in Docker Hub and expect it to
           | work (legally)? No.
           | 
           | Yes, they call it Wolfram Application Server (does require a
           | license)
           | 
           | >Can I throw some Wolfram code into an Azure Function and
           | have it compute something for me on demand? Nope.
           | 
           | Yes: https://reference.wolfram.com/language/ref/RemoteBatchSu
           | bmit...
        
             | Archit3ch wrote:
             | My Raspberry Pi 3 came with Mathematica. If I write
             | Mathematica code on it, put the device in a box and sell
             | it, I just violated the license agreement.
             | 
             | Contrast with gcc.
        
           | iancmceachern wrote:
           | As I understand, Matlab and it'd kernal ate also closed, it's
           | used everywhere.
        
           | bowsamic wrote:
           | I'll believe it when I see it, because right now there is no
           | alternative. I wrote a piece of physics software recently and
           | sympy (and indeed python in general) was so lacking in
           | features that I had to write half of the software as
           | mathematica packages, half of it as python. I would have
           | implemented those functions myself but they are actually
           | extremely non-trivial and I wouldn't be surprised if just one
           | of the basic functions I needed had many years of R&D and
           | thousands of lines and edge cases.
           | 
           | Until there is an open source software that can match the raw
           | symbolic power combined with the huge libraries nothing can
           | touch it for a lot of people.
        
             | sterlind wrote:
             | ran into this myself just today, but with Symbolics.jl
             | instead of SymPy. I just needed an algebra scratchpad, and
             | Symbolics was.. barren. and uninviting. I thought of
             | reaching for Mathematica but resorted to pencil and paper,
             | like a barbarian.
             | 
             | same deal with solvers more generally. the coin-or stuff
             | (e.g. Cbc) is slow and buggy, Cplex and Gurobi are far
             | better but very expensive. where are the PhDs in this
             | field? what are they building?
        
               | logicchains wrote:
               | >I just needed an algebra scratchpad, and Symbolics was..
               | barren. and uninviting. I thought of reaching for
               | Mathematica but resorted to pencil and paper, like a
               | barbarian.
               | 
               | Have you tried Maxima? It seems more ergonomic.
        
               | anthk wrote:
               | I use Maxima on a Atom N270 netbook. It works greatly,
               | fast and usable. Gnuplot for plotting, and I'm done.
        
               | sfriedr wrote:
               | > I thought of reaching for Mathematica but resorted to
               | pencil and paper, like a barbarian.
               | 
               | A very computer-science perspective with the obligatory
               | dose of hubris.
               | 
               | Pencil and paper is continuing to serve a much older,
               | much more consolidated discipline (mathematics) well
               | for... ever since paper was invented.
        
               | sterlind wrote:
               | the barbarian bit was tongue-in-cheek. it's just that
               | symbolic algebra is one of those old-school, classic use
               | cases for computers, like playing chess or guiding
               | missiles or scheduling routes. I enjoy those kinds of
               | moments.
        
               | bowsamic wrote:
               | Sympy is good as a scratchpad I think. For my case I
               | needed minimal state space realisations of MIMO transfer
               | matrices. In mathematica this is just two functions.
               | Implementing this in Python could take months
        
             | catchclose8919 wrote:
             | ...symbolic computation is a niche ...but
             | Wolfram/Mathematics is also a very good general purpose
             | language/tool.
             | 
             | It would be insane value for everyone if the symbolic niche
             | could also be covered by a general purpose language...
        
           | BeetleB wrote:
           | > Python, Julia, and Jupyter notebooks will simply wipe out
           | all usage of Mathematica outside of a few esoteric fields.
           | 
           | I'd wager that most of Mathematica's usage _today, and in the
           | past_ has been for those esoteric fields.
           | 
           | MATLAB always had higher market share for numerical work.
           | 
           | Mathematica's strength is in pure math. And _nothing_ out
           | there comes even close - not even SageMath. I wouldn 't be
           | surprised if all the pure math open source developers who are
           | also math experts out there are fewer in number than those
           | who contribute to Mathematica. You need detailed expertise in
           | a math discipline. William Stein - founder of SageMath, wrote
           | once on how impossibly difficult it is to get grants to
           | support SageMath - most of them go to Mathematica or MATLAB.
           | So if a math faculty member wants the extra income from
           | grants, he/she is going to write a proposal targeting
           | Mathematica, not SageMath.
           | 
           | Of course, once Stephen Wolfram dies, I don't know if
           | Mathematica will continue to survive. But as long as he's
           | alive, no open source pure math SW will overtake it.
        
             | david38 wrote:
             | Why would Mathematica die? You think Stephen writes code
             | today?
        
               | 7thaccount wrote:
               | He runs every aspect of the company. You can see his
               | "live CEO'ing" videos which are very interesting. It's
               | hard for companies like that to survive after the founder
               | dies.
        
         | agoose77 wrote:
         | Could you elaborate on
         | 
         | > The front-end is just lightyears in front of Jupyter
         | notebooks in just about every conceivable way.
         | 
         | I had the opposite experience, but it's a very broad statement
         | and I suspect we took different interpretations of "front-end"
        
           | kgwgk wrote:
           | Under what interpretation of "front-end" would Mathematica's
           | front-end be behind of Jupyter notebooks?
        
             | agoose77 wrote:
             | Hah, answering a question with a question ;)
             | 
             | A few pain points for me:
             | 
             | - No Markdown support. Yes, there's rich input, but I find
             | it more natural to write prose in a markup language rather
             | than with a rich editor.
             | 
             | - Single "kernel" support. This isn't a criticism of
             | Mathematica per-se: it doesn't care about other languages.
             | But, it's nice to be able to use Jupyter Notebooks with
             | C++, Python, etc.
             | 
             | - Limited UX w.r.t layout. JupyterLab lets me pin outputs,
             | split the view, run a terminal alongside my notebook etc.
             | 
             | - Restricted ecosystem. This is a big one - it's not
             | trivial to write an extension for Mathematica to extend its
             | UX / rich output mechanism. With Jupyter, this is fairly
             | trivial.
             | 
             | Don't get me wrong, they're different tools, and that's why
             | I'm reluctant to engage with "X is better than Y"
             | discussions. Mathematica is vastly unsuited to the kind of
             | analysis / work that I do, whilst I'm sure the same is true
             | of those who swear by Mathematica.
        
               | kgwgk wrote:
               | Ok.
               | 
               | If you like Jupyter more than Mathematica as a front-end
               | you can use wolframscript
               | 
               | https://www.wolfram.com/wolframscript/
               | 
               | as a Jupyter kernel:
               | 
               | https://github.com/WolframResearch/WolframLanguageForJupy
               | ter
               | 
               | You can use it with the free (for non-production use)
               | Wolfram Engine:
               | 
               | https://www.wolfram.com/engine/
        
         | ur-whale wrote:
         | >rehashing Cosma Shalizi's driveby on NKOS
         | 
         | https://archive.ph/5GX2
        
         | dig1 wrote:
         | I will second this. Wolfram (Stephen and company) marketing
         | isn't spot on, but I'm yet going to find a system like
         | Mathematica. People on HN forget that most of the places where
         | Mathematica is intended to (R&D, math/physics departments,
         | research facilities etc.) don't have tech people willing to
         | battle with Python versions, packages, Jupyter installations,
         | and all sort of nuances - they just want an installation they
         | are going to click and immediately have a huge library for
         | everything.
         | 
         | And no, "just run pip ..." will not work - who worked on these
         | facilities probably knows how some of the smartest people in
         | the world could be extremely dumb with the tech stuff.
         | 
         | Regarding Wolfram Language, at the beginning (when it was just
         | a "Mathematica"), I hated it as I came from the C/C++ world.
         | But after I embraced lisp et al., I found Wolfram Language very
         | expressive and easier to grasp than before. Moreover, if I'm
         | not mistaken, Wolfram Language is the only widespread
         | implementation of M-expressions [1], the original form of LISP
         | how John McCarthy wanted it to look.
         | 
         | > The front-end is just lightyears in front of Jupyter
         | notebooks in just about every conceivable way.
         | 
         | Absolutely :)
         | 
         | [1] https://en.wikipedia.org/wiki/M-expression
        
           | 7thaccount wrote:
           | It is a TRS (term rewriting system) and very cool. I've
           | posted on this before. There's not a whole lot on TRS, but
           | there is some information out there.
        
           | ISL wrote:
           | I recall some unpleasant fights with license-servers in my
           | past.
        
           | buescher wrote:
           | It only takes pip breaking once before "only free if your
           | time has no value" becomes all too real.
        
       | srvmshr wrote:
       | Just curious: apart from Wolfram language and C++, what is
       | Mathematica built on?
        
         | brutusborn wrote:
         | Wikipedia says Java:
         | https://en.wikipedia.org/wiki/Wolfram_Mathematica
        
           | bloaf wrote:
           | Mathematica predates Java by several years. Some capabilities
           | (e.g. database interop) were built with Java though.
        
           | [deleted]
        
         | defrost wrote:
        
         | rcollyer wrote:
         | The 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.
        
       | haberman wrote:
       | Can 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?
        
         | qubex wrote:
         | 1: "Wolfram Language" is the language that is used in
         | Mathematica notebooks, but can also be used on Wolfram Alpha
         | and on the Wolfram Engine.
         | 
         | 2: It is usually interpreted but can be compiled. If you RTFA
         | there's plenty of information about new compiler functions.
         | 
         | 3: All expressions in Mathematica have the same form. For
         | example 1+2 is just shorthand for Add[1, 2]. Think of them as
         | M-expressions from LISP (kind of). These can be evaluated or
         | manipulated. Symbolic expressions are not fundamentally
         | different from other types of expressions. Indeed everything is
         | a "symbolic expression".
         | 
         | 4: Wolfram Language/Mathematica goes to great lengths to hide
         | this from you. Indeed again if RTFA you'd have read mentions of
         | this with reference to interfacing with C code.
        
         | ianbicking wrote:
         | Ditto, I'd love to hear more of this talk. It feels like
         | Wolfram/Mathematica has its own terminology, but I'd love to
         | hear it interpreted in more mainstream programming language
         | terms.
         | 
         | The symbolic evaluation is pretty novel. I assume it's not
         | _just_ an AST. What do those structures look like?
         | 
         | What is the scoping? It feels like the emphasis is on global
         | variables everywhere, but is it more subtle than that?
         | 
         | Are the data structures what we expect? Just in this post,
         | Threaded implies some abstractions there. I would assume that
         | some kind of "deferred" values are pretty typical throughout,
         | is there a formal notion of that? A lot of it is deliberately
         | hidden in the language, but I assume you can write code that
         | handles that stuff directly.
         | 
         | Speaking of derivatives, I assume you can indicate how to take
         | the derivative of new kinds of functions. How does that work?
         | Generic functions, object oriented, ad hoc registries, or
         | something else?
        
         | chobytes wrote:
         | The wolfram language is kind of irrelevant. I dont think anyone
         | outside of HN and programming language people care about it or
         | how its done.
         | 
         | Mathematica is the star of the show. Its a large collection of
         | specialty libraries and tools, with (mostly) very nice
         | documentation, that all interoperate together well.
        
       | codeulike wrote:
       | Most 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 wrote:
         | It'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 wrote:
         | https://en.wikipedia.org/wiki/Risch_algorithm may be of
         | interest
        
       ___________________________________________________________________
       (page generated 2022-06-30 23:03 UTC)