It is probably worth enumerating which technologies I am familiar with so I can determine if I need to concentrate on any obvious deficits or if I could substitute a mediocre tool with a superior one. I will only talk about languages here.
C++ is my main enterprise statically-typed language. I have used it for a number of years and I am very comfortable with it. The main alternatives (as I would need something that I could easily get paid for) are Java and C#. However, there is a huge barrier for me to consider either as it would take me so long to get to the same level. If it wasn’t for needing to get paid, perhaps Ada, Eiffel or D would be reasonable substitutes for C++, Java or C#.
Perl is my primary scripting language and I’ve been using it for both ad-hoc tasks and small to medium projects as required at work since the 90s. Again, I’m not really interested in a direct competitor to Perl at the moment because of familiarity and also because neither Ruby nor Python provide any compelling advantages.
Unix, shell and related utilities are another ‘language tool’ that I use frequently. I can’t think of a competitor at the moment, but that might be due to limited imagination on my part. I should briefly mention a couple of other languages I use at work: ELisp and SQL but again I can’t think of any alternatives.
Outside of work, I have a much greater flexibility in choosing a language to do a project and so far I have chosen Scheme. MzScheme provides a nice native GUI on Windows built on a solid, relatively performant, strong & dynamically typed, garbage collected language.
For the past few months, Chicken Scheme has been my tool of choice for delivering native executables on Windows. I chose it initially because of the excellent FFI and theoretical portability of the code. However, I could be looking for something else, as it doesn’t work on Windows Vista.
I have invested a fair amount of time in scheme, but of all the languages I use, it is the most likely to be replaced. Python with WxWindows could probably handle many of the small scripts I whip up in MzScheme. I’ve often wanted to give Ocaml a proper whirl too, but perhaps library availability on Windows will be limiting.
Conspicious by its absence, is a good tool for developing Web applications. Ideally, I would like something open, portable and easy to install and to me, Squeak and Haxe both stand out as options here.
Read Full Post »