7 ms·
When I was 18, back in 1999, I had an internship at WRI (Wolfram Research) in Illinois. I'd applied armed only with a library copy of the Mathematica book, so t
by SteveCoast 9y ago
When I was 18, back in 1999, I had an internship at WRI (Wolfram Research) in Illinois. I'd applied armed only with a library copy of the Mathematica book, so they sent me a CD with Mathematica on it. I made some demo things and got a slot, and flew to Champaign.
I worked on polyhedra for a summer, writing code that could unroll a polyhedral model to its 2D net. Find the volume, the number of faces and all kinds of stuff. I met a bunch of interesting people and it was a blast.
I also fell asleep at my keyboard more than once. It was a beautiful summer, biking to work and working with what I still think is one of, if not the, best language ever.
Here's why all this is relevant - I came back to real life to study CompSci on these old Sparc machines. And it was like, here's the power button. What's an object in Java? What's a compiler? All reasonable stuff.
But: Wolfram Research and Mathematica had, in a sense, ruined my undergraduate life before it started. Why were we using all these bizarre tools? Can't we do this a million times faster? Why are we learning all these bizarre integrals?
It was similar to being denied graphing calculators in A-Level Mathematics (in the UK, think high school). I get it - we need to learn 'the basics' and survive without tools to some degree. But, it would have been nice to use them in some contexts and not just deny their existence.
There's an anecdote I think about Milton Friedman being shown people building a dam with shovels and not digging machines, to keep people employed in some God-forsaken country. He asked, why don't you use spoons instead? Then, more people would be employed.
Mathematica and Alpha are wonderful tools, and I highly recommend applying for an internship if you're of the right age or whatever the requirements are today.
- adamnemecek 9y ago> we need to learn 'the basics' and survive without tools to some degree This is the wrong approach. There's no way you wouldn't understand math much better with these tools. I'm hoping that in the future, math will be less about equations and symbols and more about graphing and being able to move around in the spaces described by the equations. I would draw an analogy with a compiler. After using it for some time, your brain will take on the shape of the compiler and you'll write correct (lol is it ever tho) code without even having to compile it.
- reikonomusha 9y agoI would claim that most folks who have a reasonable understanding of fundamental computer architecture and assembly are those who actively learned it. Folks who have just used a compiler for everything, in my experience, rarely actually develop the understanding innately. Compilers still have this "magic" element associated with them.
- adamnemecek 9y agoIt's not either or, it's a dance. You make a hypothesis in your head, verify it with a compiler. If result matches your hypothesis, move on. If not, investigate. For me personally, I thought I kinda knew assembly until I started using https://godbolt.org https://godbolt.org when I realized that I really didn't know assembly. This site helped a lot of other people as well. Note that all it does is make the process of discovery faster. But it's a tool in the same category as a calculator.
- btilly 9y agoBoth are true. Clearly we are more productive with the tools. However it is very, very easy for people to see the tools as magic. At some point we need to actually understand what it is that we are doing. For which those equations and symbols are essential. Yes, the computer can draw a pretty picture. Pretty pictures are helpful in conveying information. But they are a horrible way to understand inherently complex topics. For example pictures are essential for conveying basic concepts in in multi-variable calculus. But you won't make much sense of the topic until you actually understand the three basic mathematical representations of a surface embedded in a higher dimensional space (function, level surface, and parametrized coordinates), how each connects to the tangent to the surface at a point (whether that tangent is a line, plane, or something higher dimensional). And you need to understand this in an n-dimensional way because that comes up, a lot. So no, we won't lose equations and symbols. Ever. They are essential, and there is no possibility of real understanding without them.
- adamnemecek 9y ago> So no, we won't lose equations and symbols. Ever. They are essential, and there is no possibility of real understanding without them. I didn't say get rid of them. But I think that if you see a complex equation, you should be able to roughly imagine it in your head. Working only with symbols won't get you there.
- roumenguha 9y agoTo add another point, my A-Level teacher always said anything the calculator can do, you can do, and just as fast. And then she chose a question from the book, had one of us start typing, and she started at the board solving the same thing. She finished first. Not by much, and obviously the calculator is the faster choice more often, but she finished first.
- FeepingCreature 9y agoThat says more about the book than about calculators. :)
- adamnemecek 9y ago> She finished first. Not by much, and obviously the calculator is the faster choice more often, but she finished first. This is more of an interface problem I believe.
- WorldMaker 9y agoIt's a low level magic trick: she chose the problem. Even supposing she didn't have the answer memorized, she knew exactly what to min/max to favor herself in the challenge. (A real magician would also work to make sure that the kids thought they chose the problem, but the choice had already been primed for them.)
- HillaryBriss 9y agosounds like she proved that she could do it just as fast as a calculator. good thing i wasn't in that class. i would have proved her wrong: i couldn't out compute the calculator. then again, they wouldn't have let me in that class in the first place.
- scarmig 9y agoReminds me of the story of Feynman vs the Abacus. [1] Though, as a story, the conclusion he draws is pretty self-congratulatory and bothers me a bit. The substrate on which you implement an algorithm like arithmetic doesn't really speak to whether you "know numbers." It's like the high schooler thinking being very good at computing integrals makes you good at math. [1] http://www.ee.ryerson.ca/~elf/abacus/feynman.html http://www.ee.ryerson.ca/~elf/abacus/feynman.html
- HillaryBriss 9y ago> ... why don't you use spoons instead? reminds me of one of the arguments against minimum wage hike theory: if raising the minimum wage makes workers better off and has absolutely no drawbacks for anyone, why raise it to a mere $15/hour? why don't we do some real good and crank it all the way up to $100/hour?
- Robotbeat 9y agoAnd why not eliminate it, if it's bad? That way we can pay people to dig with spoons instead of expensive backhoes. Seriously, though, to answer the question: there's a point where a raise in the minimum wage will stop being helpful, and everyone who supports the minimum wage understands this.
- HillaryBriss 9y ago> ... why not eliminate it, if it's bad? Did I say that the minimum wage was bad? I view the minimum wage as something with both advantages and disadvantages. Depending on its level, different workers and businesses are helped or hurt. If $15 is helpful, then $20 must be more helpful, except to the workers whose hours are cut back, etc. At each point along the scale some workers are helped but others are hurt. If everyone who supports the minimum wage thinks that, beyond a certain level, it is no longer "helpful", what is the official, universally accepted definition of "helpful"? How many workers can lose their jobs vs how many experience an improved standard of living?
- opaque 9y ago> working with what I still think is one of, if not the, best language ever. Really? Mathematica is amazing and uncontested for symbolic algebra, but writing anything more than a notebook/paper is a nightmare. In built stuff is good, but functions you have to define yourself instantly become an incomprehensible mess of parentheses. Leaving aside the fact that it's a propriety language and the many flaws of its eponymous founder. I long for the day SymPy or similar gets good enough that we can dispense with it.
- limeblack 9y agoI would agree the language can be confusing but they language isn't exactly propriety. There are open source implementations of it like mathics.net
- Adrock 9y agoI also interned at Wolfram in 2000. I spent the summer writing coverage tests, which meant getting to run Mathematica through gcov and seeing what lines weren't being hit by the test suite. Writing coverage tests for most things would have been incredibly boring, but this was anything but. There were lines of code that required me to spend two days in the Wolfram library reading up on branches of math I had never heard of before (wtf is a Gröbner basis?!). My favorite discovery was a line of code in the integer factoring function that I could only hit if I constructed a number by multiplying several Carmichael numbers IN A CERTAIN ORDER. If you like math and computer science, it's hard to imagine a better place to intern. Sorry to hear about the rest of your undergrad experience. I was really fortunate that I never had a professor complain about me using Mathematica for everything. Even just typesetting math in Mathematica instead of LaTeX was a huge benefit for me. One of my favorite classes was Computational Algebra taught by Dana Scott. He did the entire class in Mathematica. Each lecture was just him walking through a notebook and the problem sets were all about writing Mathematica code to solve interesting problems. I think I still have them somewhere...
- Veratyr 9y ago> But, it would have been nice to use them in some contexts and not just deny their existence. My high school classes in Victoria, Australia, had tests and exams both with and without TI CAS (graphic calculator that also does algebra and calculus with a pretty screen) and I agree that it's pretty nice. Interestingly, I think our curricula were based on the UK's originally. I think it's similar to learning all the simpler math. You're taught to add large numbers on paper but in the end doing it with a calculator saves you a lot of time and effort. Learning to use a CAS or Mathematica or the like seems essential if you're going to be working in a field that uses calculus for practical things like engineering, medicine or finance.
- gautamdivgi 9y agoI use alpha quite frequently. I have these big formulae that need differentiating/integrating (non-linear solvers, jacobian matrices, etc.) for a paper I'm looking to publish. Now, the algebra kind of gets seriously tedious and error prone. Here alpha comes to the rescue. I don't have the budget for a complete mathematica package. So, in the end I take the results and use scipy/numpy to write the code to use them in numerical computation. So, to that end I agree here. They are absolutely wonderful tools if you know what you're applying them for. However, they can be pretty bad if you're trying to use them to cheat (just like everything else).