This made me laugh: http://www.wolfram.com/mathematica/new-in-10/key-value-assoc... Version 10 introduces fundamental new constructs called associations. They associate keys with values, allowing highly efficient lookup and updating, even with millions of elements. Associations provide generalizations of symbolically indexed lists, associative arrays, dictionaries, hashmaps, structs, and a variety of other powerful d…
A very broad generalization of hash tables has been built into the language since day 1 so this feature is mostly for people who just want a structure that they are already used to (or don't want the extra behavior for performance reasons or whatever). Hash-tables in previous versions of Mathematica: >mymap["abc"]=1 >mymap[2]=2 >mpmap[hello]=3 >mymap["abc"] 1 >mymap[2] 2 >mymap[hello] 3 Whoa: >myDerivative[a_ x_^n_]…
Launching Mathematica 10
41–50 of 82 posts
Re: Launching Mathematica 10
#42This made me laugh: http://www.wolfram.com/mathematica/new-in-10/key-value-assoc... Version 10 introduces fundamental new constructs called associations. They associate keys with values, allowing highly efficient lookup and updating, even with millions of elements. Associations provide generalizations of symbolically indexed lists, associative arrays, dictionaries, hashmaps, structs, and a variety of other powerful d…
A very broad generalization of hash tables has been built into the language since day 1 so this feature is mostly for people who just want a structure that they are already used to (or don't want the extra behavior for performance reasons or whatever). Hash-tables in previous versions of Mathematica: >mymap["abc"]=1 >mymap[2]=2 >mpmap[hello]=3 >mymap["abc"] 1 >mymap[2] 2 >mymap[hello] 3 Whoa: >myDerivative[a_ x_^n_]…
Re: Launching Mathematica 10
#43Re: Launching Mathematica 10
#44I'm very impressed by this stuff--especially the new computational geometry features. I'm just a little hesitant to do any meaningful work in such a closed ecosystem.
I once tried to do meaningful work and, while things such as the NDSolve[] function are positively amazing, programming in Mathematica (which means using its editor) is a huge pain when you are used, say, to vim. In the end I moved everything I had to the Python scientific stack and I'm very happy I did it.
In fact Mathematica shows its advantages most when used interactively (compared to languages, like Python, which were not really designed for this).
Re: Launching Mathematica 10
#45Earlier quoted context omitted.
300 for non-commercial use.
Also based on the Mathematica 10 kernel is the Programming Cloud which you can try for free: http://www.wolframcloud.com/
And it uses "CTRL" to mean "Command", throughout. Tantalizing, but not a perfect first-impression, and it reinforces the feeling the I'd be let down if I stray from the path of polished examples and into real work.
...and it seems I corrupted the master copy of the "Things to Try" notebook -- clicking on the link again, from the home page, launches the corrupted notebook I made earlier.
Re: Launching Mathematica 10
#46I hate to be that guy, but I wish to share my opinion about closed source mathematical software. There is no doubt that what Wolfram Research has done with Mathematica is amazing and tempting. It is a very complete and uniform engine, and can be very useful for very different kinds of mathematics. However, Wolfram Research deliberately keeps their methods and source code closed. Note that this is more serious than ju…
Open source systems like Sage always look desirable, simply by virtue of being open source. But every time I look at it I'm left with a very bad taste in the mouth because of the constant badmouthing of non-open-source systems that is going on in that community. Companies do that sort of thing, and it doesn't inspire trust. But we know that it can happen just because a few people in the management made bad decisions. But when a community (!) around an open source (!) system takes on that attitude, it looks much worse. Don't you realize you're driving people away?
Why not put all that energy into improving your own system instead of trying to actively hinder others? Examples of that are forking GMP and making in GPL (not LGPL); actively pointing out to people (as Mr. Hermoso did to me) that no you can't link Octave to Mathematica because Octave is GPL (which is just a hindrance for my research, as well as to others); building on the fallacy that results obtained with Sage are inherently better because Sage is open sourced software is _theoretically_ verifiable. All software is buggy, and the only thing that makes a research result more trustworthy is if it is indeed verified, not if it's theoretically verifiable, but no one ever does it. Practical verification is almost never about reading the source code. It's about making sure the result is consistent and computing it with alternative tools.
Re: Launching Mathematica 10
#47I hate to be that guy, but I wish to share my opinion about closed source mathematical software. There is no doubt that what Wolfram Research has done with Mathematica is amazing and tempting. It is a very complete and uniform engine, and can be very useful for very different kinds of mathematics. However, Wolfram Research deliberately keeps their methods and source code closed. Note that this is more serious than ju…
My impression is that you don't hate to be that guy, but actually love to express this opinion. Open source systems like Sage always look desirable, simply by virtue of being open source. But every time I look at it I'm left with a very bad taste in the mouth because of the constant badmouthing of non-open-source systems that is going on in that community. Companies do that sort of thing, and it doesn't inspire trust…
Re: Launching Mathematica 10
#48I hate to be that guy, but I wish to share my opinion about closed source mathematical software. There is no doubt that what Wolfram Research has done with Mathematica is amazing and tempting. It is a very complete and uniform engine, and can be very useful for very different kinds of mathematics. However, Wolfram Research deliberately keeps their methods and source code closed. Note that this is more serious than ju…
The proposed frame is "mathematica is somewhat better in polish and functionality, but we should stick to OSS on principle."
The problem is, by this argument, no will actually ever know what Mathematica is, what it does, and what cool ideas it had that could potentially inspire further work.
All the examples of alternative software have lots to learn from Mathematica; but thinking of Mathematica as a collection of algorithms for math is both wrong and misses the point. Mathematica is increasingly about knowledge computing; its moved on from where other systems are now just thinking about getting to.
Instead of competing with and replacing mathematica, everyone would be better off first learning from it, and then trying to apply and extend the fundamental principles in their own work.
Re: Launching Mathematica 10
#49I hate to be that guy, but I wish to share my opinion about closed source mathematical software. There is no doubt that what Wolfram Research has done with Mathematica is amazing and tempting. It is a very complete and uniform engine, and can be very useful for very different kinds of mathematics. However, Wolfram Research deliberately keeps their methods and source code closed. Note that this is more serious than ju…
My impression is that you don't hate to be that guy, but actually love to express this opinion. Open source systems like Sage always look desirable, simply by virtue of being open source. But every time I look at it I'm left with a very bad taste in the mouth because of the constant badmouthing of non-open-source systems that is going on in that community. Companies do that sort of thing, and it doesn't inspire trust…
I don't consider what I said "bad mouthing". Maybe it was. I tried to be as respectful as possible, and provide links where I could.
I am certainly trying to improve existing systems. I've written a library for doing computational group theory, for which a paper was just published, and I plan to include it in Maxima.
Regarding verifiability, Sage has a lot more going for it than "theoretical verification". Professional mathematicians, especially those in algebraic combinatorics, regularly hold conferences and write software along with papers to show correctness of the system, and write new mathematically grounded functionality.
I apologize to both the authors of open source systems and to potential consumers of such systems if I am driving them away. My goal is to at least spark the idea for one to step back and evaluate what it means/implies/etc. to make use of proprietary mathematical systems, especially in professional or academic settings.
Re: Launching Mathematica 10
#50Earlier quoted context omitted.
My impression is that you don't hate to be that guy, but actually love to express this opinion. Open source systems like Sage always look desirable, simply by virtue of being open source. But every time I look at it I'm left with a very bad taste in the mouth because of the constant badmouthing of non-open-source systems that is going on in that community. Companies do that sort of thing, and it doesn't inspire trust…
I should add that every time I asked WRI support about implementation details, I did receive an answer with references to the method used.
They do have some notes on internal implementation, that do not seem up-to-date, here [0]. Were they any more detailed than this?
[0] http://reference.wolfram.com/language/tutorial/SomeNotesOnIn...