3 ms·
The very concept of unified computation has been largely led by Wolfram. For "unified", try sandboxed, walled harden or evolutionary dead end. Just look at th
by jpatokal 8y ago
The very concept of unified computation has been largely led by Wolfram.
For "unified", try sandboxed, walled harden or evolutionary dead end. Just look at this literal Hello World example:
GeoGraphics[Text[Style["Hello!", 150]], GeoRange -> World]
In any other language, if I wanted to write some text on a graphic, I would find a routine to load an image into memory and another to render text into that memory. That's genuinely easy.
But in Wolfram's case, I'm apparently just supposed to know that there's something called "GeoGraphics" that does this kind of thing, that the text goes in a Style[] block (what?), and "GeoRange -> World" is how you tell it to create a worldmap as a background. WTF. And don't tell me "read the docs", because even if I found this, it wouldn't help me much with the rest:
http://reference.wolfram.com/language/ref/GeoGraphics.htm http://reference.wolfram.com/language/ref/GeoGraphics.htm
- pilchardbreath 8y agoLike WL... ImageCompose[ Import["someworldimage.jpg"], Rasterize["Hello world" ]
- codeulike 8y agoThat's not really fair criticism. The Mathematica approach to things is very different to most other platforms. Have a look at some of the maths stuff and symbolic manipulation stuff, that's the core that it was built out from.
- jpatokal 8y agoSure, I'll buy that Mathematica has its niche in (surprise!) math, but that's very different from the friendly article's claim that Wolfram has a superior approach to, well, everything: Wolfram’s vision for computation is much more profound—to unify and automate computation across computational fields, application areas, user types, interfaces and deployments. They even mention blockchain further down!
- pfortuny 8y agoIf you look a bit over S.Wolfram’s posts, it looks like the Wolfram Language is just “what he decides based on his tastes and needs”. The syntax/options/quirks are manifold...
- coldtea 8y ago>In any other language, if I wanted to write some text on a graphic, I would find a routine to load an image into memory and another to render text into that memory. That's genuinely easy. But in Wolfram's case, I'm apparently just supposed to know that there's something called "GeoGraphics" that does this kind of thing, that the text goes in a Style[] block (what?), and "GeoRange -> World" is how you tell it to create a worldmap as a background. WTF. How's that different from finding a routine (eg. one called GeoGraphics()), or JSX, or HTML/CSS for that matter? You still need to know where to look, and you need to find the construct (routine, markup, builtin primitive, whatever) that does what you want. The whole example is moot.
- hjk05 8y agoYou are arguing against higher level abstractions. Absolutely nothing in your post is in anyway specifi to Mathematica. You could substitute the language and the api call to any other and have the same argument.
- raphar 8y agoIn an OSS, that sentence would never have survived a review. Or someone would have implemented a saner option. In a product with an explicit owner, all you'd hear is "yes boss". Is not that one want wolfram to be oss, one (me) wants a product with wolfram abilites and features, that you can grow, expand, correct, etc.
- esjeon 8y agoYou're nitpicking, and you do need to "read the docs", or at least understand the language. Wolfram language is Lisp-like, and is fully symbolic. This allows some definitive programming, and Mathematica does take advantage of this. Graphics in Mathematica is symbolic (according to the documentation). You can think of it as a Lisp-based vector graphics. It's still possible to manipulate pixel data extracted w/ "ImageData". It's just that "Image" object never allows direct pixel manipulation, which is the same in some other frameworks. Also, "Style" is a function, not a block, that attaches styling information to its first argument. "Text" is a graphics primitive that provides placing information for text inside "Graphic". "GeoGraphic" is not neccessary here, and you can load map images with "GeoImage", and "Inset" them into graphics object. "GeoGraphics" is only good for rendering map-related data, like country borders, regions, roads, names, etc. Wolfram language has its own patterns, and is pretty solid. Personally, I like it because it fully abuses its Lisp-like design, yet everything is curated by one single sane entity. I just dont want to endure a bunch of pretty hax0rs who never stop coming up with half-baked in-house solutions.