8 ms·
I Wrote a Book to Teach the Wolfram Language
- brudgers 11y agoDirect link to book [because it's not all that obvious]: [HTML]: http://www.wolfram.com/language/elementary-introduction/ http://www.wolfram.com/language/elementary-introduction/
- deleted 11y ago[deleted]
- sriram_malhar 11y agoBeautiful! Much as I dislike Stephen's self-aggrandizing style of presentation, it would be lovely to be taught this way. It (the language and environment) is functional, has real examples that readily lend themselves to visualization, has extensive databases of useful real world data ... there's no wasting time on pointer arithmetic or reversing strings.
- nnq 11y ago...if only S. Wolfram would finally have the most obvious insight that he's totally missing: Open-source it! The only programming languages that will ever succeed from now on will be the open source ones. Yeah, he can keep special-purpose libraries closed-source. And the server-software behind Wolfram. Maybe even the Mathematica GUI if he also offers a free "community version" or something on the side. But otherwise this will just not work. But the core language and core engine must be open-source with a liberal MIT or BSD license for it to ever grow an ecosystem around it. Even Microsoft gets it now (with C# and many other stuff)! Apple also gets this with Swift! Typesafe gets it with Scala. Even Oracle partially got it in a twisted way, by allowing things like OpenJDK to exist! Really, Mathematica and Wolfram seem wonderful tools, but probably as many as 10x the number of paying users would start to use them and contribute to their development (and most of them would also pay for "pro versions",trust me), if only they had an open-source core... But it's probably too late and any future scientific computing platform will be built around Python and Julia and all the great work done by Wolfram Software will simply be forgotten because they simply don't grok how "business growth" and "software ecosystems" work in the 21st century...
- deleted 11y ago[deleted]
- droelf 11y agoYeah, I agree. In the meantime there is an awesome re-implementation in Python called Mathics. It's also fun to hack some of the not-yet implemented Mathematica commands (I did that last summer). https://github.com/mathics/Mathics https://github.com/mathics/Mathics
- sn6uv 11y agoMathics maintainer here.I'm glad you find Mathics fun to contribute to, I certainly do. Each function is a small independent part so it's really easy to get involved (that's a major goal of mine at least) Thanks for your contribution.
- pjmlp 11y agoI don't know if that would help, but what I really like about the it is how close it feels to the whole Xerox PARC vision of software development.
- jacobolus 11y agoA mathematica license costs $2745 or $1000/year for “professional” use, $300/year for “hobbyist” use, or $115 for students. Every serious university in the world and a large number of technical businesses need to pay for site licenses. If it were open source, many more people around the world would have access, but Wolfram’s cash cow would dry up. Thankfully, open source programming environments keep improving, and between R, Python/Numpy/Scipy, Julia, etc., platforms like Mathematica and Matlab become less relevant every day.
- DonaldFisk 11y agoHe's spent time, thought, and money developing software, and people are expecting him to just give it away, and allow others to make money out of it without giving back anything in return? That would be fair only if the companies which use it to increase their profits also open sourced their software. Before you suggest developers the consultancy route, that penalizes the developers of software which is so well written and documented it can be used straight out of the box. One thing I'd do differently to him: whenever the user isn't goint to profit from the software financially (in this case, hobbyists and students), there's a good case to be made not to charge for it, as without an initial user base, it will be difficult to sell it to companies. But if he wrote the code, he can decide on its licence.
- deleted 11y ago[deleted]
- xupybd 11y agoJust me or does that guy seem to lack humility, I don't know something about the way he wrote that.
- junke 11y agoRead http://bactra.org/reviews/wolfram/ http://bactra.org/reviews/wolfram/ to know more about him, or at least how he is perceived by other people.
- vixen99 11y agoIt's not just you. Browse through the 372 reviews of A New Kind of Science on Amazon!
- JonnieCache 11y ago"Does anyone want to bet as to which will gain self-awareness first: Wolfram Alpha or Wolfram, Stephen?" - Casey Muratori
- frou_dh 11y agoThe like-clockwork sniping at the man whenever he's brought up borders on being more irritating than his original "offence".
- TeMPOraL 11y agoThis is what 'dang famously described as a Pavlovian hashtable reflex[0]. [0] - https://news.ycombinator.com/item?id=9722096 https://news.ycombinator.com/item?id=9722096
- jjoonathan 11y agoThe root of this comment tree was written by someone who wasn't familiar with Wolfram's reputation but saw cause to gripe anyway. The transition from "Stephen Wolfram" to "absurdly self-centered" occurred by observation, not hashtable. I hadn't heard of "Pavlov's hashtable" before, it's a neat concept, and I'm glad you brought it up. I just don't think it's responsible for the direction of this particular comment train. Which is in itself a testament to the peculiar qualities of Wolfram's personality.
- danso 11y agoGoing to have to join the, I don't quite get what Wolfram thinks is the big deal crowd: > The goal of the book is to take people from zero to the point where they know enough about the Wolfram Language that they can routinely use it to create programs for things they want to do. And when I say “zero”, I really mean “zero”. This is a book for everyone. One of the examples he gives is how to: Make a word cloud from the first letters of all the words: WordCloud[StringTake[WordList[], 1]] OK, leaving aside the debate of whether word clouds are the text-analysis equivalent of a 3D rainbow donut chart, this simple example quickly leads to questions about how to express natural variations, such as a word cloud that is more spaced out. Or not shaped like a ball. Or how to render into something I can connect to my Twitter account so I can tweet out a cool viz. The tutorial treats the novice with the promise of doing very visual things in a seemingly more direct way -- what other language could generate a word cloud in so few commands? -- but...so? The power of programming, to me, is the ability to get into the details, to create something that uniqueness expresses something in my mind...and the trade off is that we start by learning syntax and abstract concepts (e.g. Loops and functions). Going past the non-trivial examples gets us quickly into the butting heads against the magic involved, and from first glance, the Wolfram syntax does not look particularly elegant for software design. Sure, "Times[2,3]" might seem more human friendly than 2 * 3...until I get tired of writing that phrase out and doing an explicit function call just to get 2 numbers. But of course, in most software development, when am I really ever multiplying 2 numbers? Infrequently enough that I imagine I'll have to frequently Google whether the function name is "Times" or "Multiply", proving the first example of the classic adage about the 3 hardest things about computer science. So there's a lot of things about the language that seem like a disaster to me, but I'm not smart enough to design my own language. Sometimes I'll take the opinions of the masses into account...for example, Python's use of significant white space seemed profoundly annoying but plenty of smart people are able to build profound things elegantly with it, so I took the jump. If Wolfram language is such a step beyond competing languages, where are the examples of things elegantly built with it? Edit: apparently David Auerbach has said the things I think I want to say, but more eloquently http://www.slate.com/articles/technology/bitwise/2014/03/stephen_wolfram_s_new_programming_language_can_he_make_the_world_computable.html http://www.slate.com/articles/technology/bitwise/2014/03/ste...
- 11y ago
- relojeje 11y agoWhat I like about W. Language is that the full name is used for many commands. When you want to develop a big library you have to stay away of short cuts like using two or three letters for a name. Long name is a distintive of a language designed to be used in a wide ecosystem. Numpy names are longer than R names, for example for rnorm (random numbers from a normal distribution). One way to connect (pipe things) would be to use a full name version of a language using an option like: use fullnames.
- bloaf 11y agoThat, and there is a sort of consistency to most of the commands. E.g. it is possible to develop an intuition about the order of arguments while solving one type of problem, and have that intuition still apply when you switch to commands from a completely different domain.
- igravious 11y agohttp://www.wolfram.com/language/elementary-introduction/06-making-tables.html http://www.wolfram.com/language/elementary-introduction/06-m... https://reference.wolfram.com/language/ref/Table.html https://reference.wolfram.com/language/ref/Table.html Strange that this function is called Table when what it clearly is is an iterator that outputs a list. Its output is no more tabular than Range; it outputs an ordered list as does Range. In fact Range[10] seems to be shorthand for Table[n,{n,10}] yet they have completely different names.
- maurits 11y agoI really don't like the fact that he is forever hinting that higher level functions, such as recognizing an image of a cheetah, are (only) possible due to the unique omnipotent nature of the mathematica language.
- sjg007 11y agoMathematica is great. The whole notebook concept was light years ahead of its time.
- edtechdev 11y agoHe has the same 'expert blindspot' as so many others when it comes to learning and pedagogy. If you show this book or go through this book with a true novice, like a child or complete non-programmer (no one has 'zero' knowledge like he says), this would turn them off programming for a long time. To hook people in, to give them an actual /reason/ to learn programming, you need to show them how programming can be used to do something fun or useful. For example making a little game, or making something to help with a spreadsheet or so forth. Instead, he waits until the very end of the book to start thinking about using the language to create something useful: "OK, so now everything is ready to talk about deploying things to the web. And at this point, people will be able to start creating useful, practical pieces of software that they can share with the world." Start with how to make a simple web page, or a simple game that others can play, etc. Don't end with that. Make it easier for people to use your tool to make games or practical applications. Then again, as others have pointed out, the fact that this tool is proprietary though makes it a non-starter for novices, anyway, in my opinion.
- kesselvon 11y agoThat already exists using Wolfram tech: http://www.wolfram.com/programming-lab/ http://www.wolfram.com/programming-lab/
- munificent 11y agoThis page contains the word "Wolfram" 102 times. Really outdid yourself today, Stevey.
- nswanberg 11y agoA free version of the "Wolfram Language" (I can't help but still think of it as Mathematica) runs on the Raspberry Pi, which makes for not only a fast way make little hardware prototypes and tinker, but also a cheap way for someone to learn to be comfortable getting a computer to do things. I would have loved something like this in addition to the Lego, Construx, chemistry, and physics kits I toyed with as a kid.
- kesselvon 11y agoAn open version of the language exists for individuals to try on the cloud: https://www.wolfram.com/development-platform/ https://www.wolfram.com/development-platform/