Thursday, November 04, 2010

I use SAS and Maple the same way... and nothing else

Today I was thinking about how I use SAS: write some code that creates some stuff, select and run it, write some more code that looks at that stuff (usually in a separate tab), select and run it, then write some code that builds more stuff off of the old stuff, and repeat.

At times it's awkward and ungraceful. But it's also super handy that I don't have to know ahead of time that some code is going to take a few minutes to run so I had better write some code that stores the output somewhere. And it's also almost exactly how I used Maple. And how I understand one uses Mathematica (which I've used all of once, but I think I would love it if I used it more).

But I use no other language this way. And I've had opportunity. There were several years before I ever touched SAS where I had mostly stopped using Maple when I wrote a lot of JavaScript and PHP. And sometimes some Python and maybe some Ruby. And Java keeps popping up. Oh, and R. But this pattern of use has never been a consideration for me for anything other than SAS or Maple.

Is there a way to use any of these languages this way? Is there tool out there that I'm missing?


cputney said...

I use Squeak workspaces this way; the workflow is simple and natural. You can sort of do it with Python and Ruby, but I find a REPL gets in my way a lot more than a workspace does.

Steven H. Noble said...

Thanks Colin. That's a really good example that I should have remembered. Though I seem to recall that what I always struggled with was putting the objects somewhere where I could find them from the workspace.
And maybe that's something close to a point. Because SAS and Maple are so crude virtually everything I want to look at is a global variable or dataset. Which is also why lines of code grow so massively anytime you try to do any form of automation.