14 ms·
Wolfram Language
- xradionut 13y agoThe more interesting details aren't on this page. The license and the costs associated with the license.
- trurl42 13y agoSo far it seems like the "Wolfram System" and the future "Mathematica 10.0" are the same thing (see: http://reference.wolfram.com/language/tutorial/WolframSystemFileOrganization.html http://reference.wolfram.com/language/tutorial/WolframSystem... ) Licensing doesn't seem to have changed: http://reference.wolfram.com/language/guide/SystemAndLicenseManagement.html http://reference.wolfram.com/language/guide/SystemAndLicense...
- xradionut 13y agoSo it's "A New Kind of Marketing" ?
- tokipin 13y agopart of the problem Mathematica has is that people assume it's just for math, which isn't the case. it's a very general system. this renaming, while utterly dorky and aesthetically hamhanded, will at least help clear that misunderstanding
- spitfire 13y agoCorrect, it seems to be a repackaged Mathematica, with better deployment options.
- xfax 13y agoSerious question - is Mathematica popular outside of academic circles? I remember being blown away in college but haven't used it since.
- bhouston 13y agoI've seen it used for prototyping, proving and equation simplification in the simulation space, but then those algorithms were converted to C++ for production use. MATLAB can also be used in this fashion: http://www.mathworks.com/products/matlab/ http://www.mathworks.com/products/matlab/
- kcorbitt 13y agoI know an engineer at Boeing who leans on it heavily for his research. I'm not sure exactly what his department/responsibilities are, but there's one data point anyway.
- stevenbedrick 13y agoI know several industrial physicists who use it very heavily.
- jwr 13y agoI use it for prototyping, analyzing data, and explorative research. When considering a new approach to a computational or machine learning problem, you can often try it out in Mathematica and see if it's the right direction at all.
- tr 13y agoI work at a biotech startup in the bay area and we use it heavily. Every piece of scientific data is parsed, analyzed, and shared in Mathematica.
- msutherl 13y agoI built some utilities with it, like a Wheatstone Bridge calculator, that I use sometimes when I'm doing electronics.
- gaius 13y agoIt and MATLAB are popular in finance.
- hsmyers 13y agoExcellent platform for fractal research. And trust me not all of those who search are academics :)
- berntb 13y agoTo me this looks like a Lisp variant with a large set of utility libraries. Am I missing something? Is the point the quality/volume of the support libraries?
- jessriedel 13y agoI don't know, but to me most of the power of Mathematica is basically the wide-ranging and compatible utilities. Not having to write my own basic math functions, nor spending hours trying to get some C++ package working, is huge.
- berntb 13y agoYeah, but wasn't this sold as something qualitatively new?
- dagw 13y agoYes. The language in itself isn't that interesting, but the collection of libraries is vast and mostly world class.
- Jtsummers 13y ago> To me this looks like a Lisp variant with a large set of utility libraries. I feel like I'm missing something because I read this a lot, but don't see it when I look at Mathematica. The language seems to be a higher-order, functional programming language with dynamic (?) typing. That part sounds like lisp, but syntactically it looks nothing like lisp to me. Is there a portion of the language that I'm overlooking?
- brandonbloom 13y agohttp://reference.wolfram.com/language/ref/FullForm.html http://reference.wolfram.com/language/ref/FullForm.html
- deleted 13y ago[deleted]
- oleganza 13y agoWhen I was a student and working with Mathematica 5 and 6 a lot, I was always amazed about its simplicity and power. I had just two windows: typing in a white document window without any toolbars (only zoom control in the bottom) and having another window with documentation. And the documentation was great: you could evaluate examples right inside the doc page, play with parameters, like in your own document. The design of the language, user interface and depth and clarity of documentation makes me think that Wolfram Research is even more design-obsessive than Apple. Stephen Wolfram takes credit for too many things (like Jobs), but he also delivers amazing stuff.
- sampo 13y ago> a white document window without any toolbars How did you set that up?
- oleganza 13y agoI think it was a default. Or, at least, with one formatting toolbar which I simply disabled. I never used palettes of special symbols: it was easier to remember some common shortcuts via "escape" key (e.g. Euler constant is <escape> ee <escape>)
- tokipin 13y agoyou can do SetOptions[EvaluationNotebook[], DockedCells :> {}] and there are options to remove the window frame, etc. but i think if you are using certain licenses the toolbar may not disappear. and the main toolbar never disappears, to my dismay
- jcutrell 13y agoGot really excited about Language Processing, then I saw what's on the page. https://reference.wolfram.com/language/guide/LanguageProcessing.html https://reference.wolfram.com/language/guide/LanguageProcess... I do look forward to what's next on this, especially because I have yet to buy a Pi.
- klrr 13y agoI like what they write about functional programming. "Functional Programming Long viewed as an important theoretical idea, functional programming finally became truly convenient and practical with the introduction of the Wolfram Language." Not sure if anyone can take that seriously.
- sudont 13y agoSeems more like mathematician ego rather that Wolfram's ego. I see the same attitude in xkcd, for example. http://xkcd.com/435/ http://xkcd.com/435/ There was also a recent article on here about how programming is a dead-end, non-prestigious job in research circles. Sounds like a continuation of that sentiment.
- scott_s 13y agoRandall Munroe is making fun of that attitude in xkcd, not supporting it. He was a physicist at NASA, but has done a decent amount of programming.
- deleted 13y ago[deleted]
- sudont 13y agoFair enough. I do think it does make a good example of prevailing attitudes, regardless of whether the author has them.
- sp332 13y agoReally? I always read it as an endorsement.
- scott_s 13y agoThe science "stack" is something that, I think, most people agree exists. Just as it exists in technology. But I always read the comic as making fun of the feeling of superiority in being deeper down the stack.
- xntrk 13y agoIs there a PDF of this doc somewhere? I would like to scroll through it to see what is in there. but I don't think i'm going to click on 10000 links to see every language construct...
- vseloved 13y agoThe better name would be Wolfram standard library
- petercooper 13y agoI'm always struck by how slick and well produced everything related to Wolfram is. It's not what I've come to expect from most academically leaning companies at all. This goes for NKS which is a beautifully presented book whether or not you go along with its contents.
- ThomPete 13y agoAgree. And Wolfram surely is genius in some ways. But ironically he is a much better entrepreneur than he is a scientist. If only he was looking for praise in the former rather than the latter he would get all the recognition he seems to crave.
- jordigh 13y agoIt seems that whenever Wolfram makes these grandiose and dubious claims, there are always people cheering him on. The comments on his blog posts are always unending adulation. You sound just like those people. I very much doubt that those of us who doubt just about all the marketing fluff that he exposes are just not understanding his genius. I have read parts of NKS, and I don't think it's all that fascinating other than "cellular automata produce pretty pictures, and there's no reason to try to understand why they do this." It's very cranky. I think Stephen Wolfram is just a rare breed of socially successful crank. He scores high on the crackpot index, but not high enough to be completely discredited as a lunatic. His litigious nature and ability to wrangle the legal system in order to label everything "mine" is what keeps him in business.
- JabavuAdams 13y agoWolfram made a really useful tool. This is independent of how you may feel about NKS. Try to take yourself back to 1988. Macs are newish. Desktop publishing is new. There's this neat new program called Mathematica. You can type in equations, solve them, and even graph them in 3D. You can laser-print the notebooks and they look better than textbooks. Wolfram may be an egomaniacal self-promoter, but it's not all empty hype.
- 13y ago
- lispm 13y agoThe language lacks a spec. For a language with mathematical background this is a joke. The descriptions of core features are just not existing - not even talking of a semantic definition, like Scheme has now since a few decades. Maybe they want to prevent alternative implementations.
- tokipin 13y agothe spec of the underlying language would be very simple. it's basically just repeated pattern matching. beyond that, knowing where to draw the line would be a bit weird. for example, does the function TextRecognize [1] need to be specified? and by the way, Mathematica's documentation is enormous so i don't think a single spec would be necessary. maybe a few functions here or there would need some clarification in certain edge cases, but those would be higher-level functions like Plot [1] http://reference.wolfram.com/mathematica/ref/TextRecognize.html http://reference.wolfram.com/mathematica/ref/TextRecognize.h...
- lispm 13y agoWrong. Just check the core language. It large and there is much more than repeated 'pattern matching'.
- tokipin 13y agoright, but in those cases you can just go to the documentation, which is pretty clear in the various ways you can use functions. for example: https://reference.wolfram.com/language/ref/Map.html https://reference.wolfram.com/language/ref/Map.html
- lispm 13y agodoes it provide closures?
- tokipin 13y agoyes, using Module primarily. here's one way you might make a basic object-like thing (though i would generally advise against OO stuff in Mathematica. part of the power of the language is due to how it keeps everything straightforwardly manipulable): makeObj[] := Module[{obj, i = 0}, obj["inc"] := ++i; obj["dec"] := --i; obj[] := i; obj]; precisely speaking, however, Module simply renames symbols to make them unique. the effect is the same as a closure, but it isn't a "pure" closure like you would find in other functional languages, because you can do for example Names["i*"] and find that the supposedly-private 'i' has the name i$2656 and you can alter its value that way another point is that you could, if you wanted to, create your own version of Module and other scoping stuff, since it's a matter of making a macro by using the HoldAll atttribute [1] and using 'ReplaceAll' to replace specific variables or arbitrary structures [1] http://reference.wolfram.com/mathematica/ref/HoldAll.html http://reference.wolfram.com/mathematica/ref/HoldAll.html
- Xdes 13y agoSo how do I use this language? Do I need to buy Mathematica?
- mcguire 13y agoOr get a Raspberry Pi: http://www.raspberrypi.org/archives/5282 http://www.raspberrypi.org/archives/5282. (Or get someone else to buy it, etc., etc.)
- klausnrooster 13y agoSearched for REBOL from Wolfram's site (hope that language can 'flatten' it's own nest of URLs, jeez...). Didn't find REBOL but interesting NLP blog post from 2010: http://blog.stephenwolfram.com/2010/11/programming-with-natural-language-is-actually-going-to-work/ http://blog.stephenwolfram.com/2010/11/programming-with-natu...
- vph 13y agoOne has to take a grain of salt with Stephen Wolfram's claims of superiority. Nevertheless, it appears that people have to pay to use "the Wolfram language" (although there might be scenarios that allow "free usage" for the purpose of attracting users who will eventually pay for using the language if they want to scale up their work). The concept of paying to use a language is troublesome in terms of common understanding of what a language is.
- jwr 13y agoI find it amusing that many people (seemingly Hackers) concentrate on Wolfram's ego rather than on the actual thing at hand. I don't care about egos, lipstick color, or the pants the language creator wears. I care about the language, so let's talk about it now: From a long-time Mathematica user: this is not a language I like. I use it, but there is little to no fun. Many things aren't immediately clear or become problematic if you stop using the language for a while. As an example, quick, what is the difference between Module[], Block[] and With[]? Even if you remember that With[] is a lexical scoping construct, Module[] and Block[] can be confusing. It doesn't help that Mathematica is absolutely horrible for debugging code. I don't know why they put so little emphasis on their REPL, but it's way behind the times. Even mismatched parentheses can cause serious pain (and I hate the fact that things move around when I edit parentheses). That said, I have a lot of respect for Mathematica as a complete system. It is incredibly useful, most mathematical tools you will ever need are there. It is also a great tool for explorative data analysis. Have a pile of data you'd like to see patterns in? Load it up, mash it into shape with high-level functions, then quickly produce great-looking graphics. Nothing even comes close to the flexibility of Mathematica here.
- maaku 13y agoBecause ego blinds one to effective criticism. And the criticism many of us have with Wolfram products is that while smart in limited domains, they can be blindingly stupid in others (your various examples providing evidence for this). If he listened to and respected our complaints, maybe we'd have a better product. But no.
- taliesinb 13y agoNot really. Stephen knows how poor our debugging facilities are (and I regularly tell him how bad the situation is) -- we've just had limited bandwidth to actually fix it properly to our satisfaction. Luckily I have a totally revamped debugging and logging system that will put us ahead of the curve here (imagine DTrace at a program level). Probably a point release of V10. Same goes with multiple undo and retina support -- we know how embarrassing their absence is, and we've luckily been able to fix these for v10. I've been in design meetings where the multiple undo has bumped several other desirable features off our roadmap.
- ianbicking 13y agoThese comments would be a lot more interesting if people identified what was cool rather than just bitching about ego or syntax or licensing. I'm not going to be using the Wolfram Language, but I'd love to identify the best ideas from it. And it's a different enough language that I am confident there are interesting ideas in it. My own contribution: Idly looking about I come upon this page, which is not particularly notable: https://reference.wolfram.com/language/ref/Sow.html https://reference.wolfram.com/language/ref/Sow.html What is notable is this example: In: Reap[Sow[a]; b; Sow[c]; Sow[d]; e] Out: {e, {{a, c, d}}} Reap/Sow ss a funny language feature that I haven't imagined before, but that's not really the point. The point is that this is a runnable example – that's actually what is output. Typically when you run something like that you get "NameError: a is not defined". And "a" here is really a variable, of sorts – it's not a string or symbol (at least not a symbol in the sense that we know them in programming). Given this, snippets of code are just as executable as entire programs. Every expression is like a function with the free variables as its parameters, and a sequence of expressions is a bit like function composition. This is all natural from the perspective of mathematic notation. In a more traditional programming environment I think it's reminiscent of partial evaluation: https://en.wikipedia.org/wiki/Partial_evaluation https://en.wikipedia.org/wiki/Partial_evaluation – where you analyze a program and execute expressions opportunistically. It's really almost the same as partial evaluation, but the Wolfram Language knows a lot more about how you can execute different combinations of expressions than a typical language. A typical language does not really "believe" that (a+b) and (b+a) are equivalent. It doesn't know how to relate different operations. Nor do normal languages have a concept of simplification, so they can't speculatively try other arrangements (where none in isolation is clearly better or simpler than another) to see if simplifications are possible.
- andolanra 13y agoI know it's not the point of what you were mentioning, but I wanted to briefly mention that reap/sow are not unlike Haskell's so-called Writer Monad: newtype Farm a b = Farm (b, [a]) deriving (Eq,Show) instance Monad (Farm b) where return x = Farm (x, []) Farm (b, as) >>= f = let Farm (b', as') = f b in Farm(b', as ++ as') reap :: Farm a b -> (b, [a]) reap (Farm x) = x sow :: a -> Farm a () sow a = Farm ((), [a]) -- prints ("e", ["a","c","d"]) main = print (reap (do sow "a" return "b" sow "c" sow "d" return "e")) (Reimplemented in a simple way here to show the underlying machinery; usually, instead of lists, a writer is parameterized by an arbitrary monoid.)
- leoc 13y agoSo, it employs term-rewriting magics of some kind rather simple evaluate-the-subexpressions, doesn't it?
- deleted 13y ago[deleted]
- memracom 13y agoRealistically, rather than work with the fussy syntax of this pseudo functional language, most people who work in data science would be better of using Python because of the IPython Notebook http://ipython.org/notebook.html http://ipython.org/notebook.html which provides similar mixing of code and graphical results. The matplotlib, inspired by Mathematica, can produce a wide variety of graphical plots. Newer libraries like pandas have been bringing all the power of R into the Python world. Five years ago, Wolfram may have been worthwhile, but today the wave has formed and it is converging on Python.
- GuerraEarth 13y agoThe red fire truck russianed in a lot of Wolfram interest.