[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)