I've found ruby very useful for prototyping and rapid development. Don't need a GUI when you've got something like Notepad++, but there are ruby editors out there as well. Indentation doesn't mean squat as it should be. The language offer the nicest and cleanest syntax while being purely object-oriented. Everything is an object, offers reflection and most everything is modifiable. Modifying or replacing the String-class, or even the Class-class, just for fun and curiosity? You got it!
Downsides include not very fast execution by intepreter, lack of types means everyone in the team needs to be excellent programmers or you need to be a one man show, and the mess that is Rails means the language is doomed to the fringes. No need to use Rails yourself, although ActiveObject is massively useful, can and should be included stand-alone.
Despite some downsides, I've found the upsides makes programming fun again, and really really fast to get something working, while spending as little time massaging the language as possible, involving of course more danger of simple errors. However, ruby offers many coding patterns and libraries that simply eliminates alot of simple errors, so when ie. iterators are used instead of creating your own for-loops all the time, simple coding errors becomes less of an issue while logical errors become smaller and fewer.
Seems Python is getting traction these days. Go is more of an infrastructure language. Functional languages like Clojure might be interesting, but not if they interfer with how complex I can make my algos (hey, just let me shoot myself in my foot, won't ya!). Avoiding imperative forms have many advantages though, but the second you need mutation, it's a huge pain. If anyone has some tips to make me see the light though, that's cool (ie. Haskell?).
At some point I will need to refactor into new clean code as now it's a prototype involving many different languages and technologies, even Excel! (brr). C++ might be the choice due to bare metal speed and possibility to extend into intraday analysis. Python interesting due to momentum. Functional might be interesting due to possibility for cleaner logic.
Downsides include not very fast execution by intepreter, lack of types means everyone in the team needs to be excellent programmers or you need to be a one man show, and the mess that is Rails means the language is doomed to the fringes. No need to use Rails yourself, although ActiveObject is massively useful, can and should be included stand-alone.
Despite some downsides, I've found the upsides makes programming fun again, and really really fast to get something working, while spending as little time massaging the language as possible, involving of course more danger of simple errors. However, ruby offers many coding patterns and libraries that simply eliminates alot of simple errors, so when ie. iterators are used instead of creating your own for-loops all the time, simple coding errors becomes less of an issue while logical errors become smaller and fewer.
Seems Python is getting traction these days. Go is more of an infrastructure language. Functional languages like Clojure might be interesting, but not if they interfer with how complex I can make my algos (hey, just let me shoot myself in my foot, won't ya!). Avoiding imperative forms have many advantages though, but the second you need mutation, it's a huge pain. If anyone has some tips to make me see the light though, that's cool (ie. Haskell?).
At some point I will need to refactor into new clean code as now it's a prototype involving many different languages and technologies, even Excel! (brr). C++ might be the choice due to bare metal speed and possibility to extend into intraday analysis. Python interesting due to momentum. Functional might be interesting due to possibility for cleaner logic.