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).
Is there a way to use any of these languages this way? Is there tool out there that I'm missing?