At the moment I’m using scripting languages to prototype algorithms.
I’m using Python and Beanshell.
Let me quote myself from another thread I made 4am this morning.
I’ve discovered the wonderful world of scripting.
[quote]I’ve done scripting before, however it isn’t the same when the scripting language you are working in is dynamic and ties into your normal programming routine.
http://www.beanshell.org/
I’m learning how to use this, so far it’s amazing as to what it can do.
Dynamic typing is awesome(I remember saying this before in a discussion about Ruby).
No more need for things such as Vector2f. Instead “v = Vector2(0.0, 0.0)” or “v = Vector2(0.0f, 0.0f)”.
Closures are supported.
Classpath modifications, so I can import my assignments and dynamically modify things from within my code to test it before it gets finalised.
I’m wondering if this can output into bytecode for re-use.
I wonder if there is anything like this for C++. Interpreted C++ would be awesome to sort out bugs and really mess around with things.
Soon I will be loading in OpenGL libs (LWJGL) into my scripting to complete my second assignment for Computer Graphics, then write it into C++.
Testing out algorithms on a scripting language saves heaps of time.
I can’t believe I only realised the usefulness of this just recently, I’ve read and been told millions of times before that scripting can save tremendous amounts of time but I’ve never personally realised it until I got myself a complex problem, scripted it and compared it to production code.
Debugging complex code is hard. Debugging scripted code is easy.
Finalise the algorithm in the scripting stage and throw it into the fire after sorting it out.
It takes very little time to go from A -> B, even if you’re implementing a complex design.
[/quote]