Last night I got to wondering, how many kinds of programs can I write on my computer? If I was stuck on a desert island, how many kinds of programs could I write to keep myself amused? I have a JDK installed, so I can write Java programs. I have a browser that can run my JavaScript programs. I can write Windows batch files. I used to be able to run Quick Basic, but apparently that's gone.
Interestingly, I can write programs inside of two games I have installed. Half-Life 2 has a complete suite of development tools, as does Neverwinter Nights Aurora Toolset. Both games have a Turing complete scripting language inside of them.
You can write VBA programs in MS Office. OpenOffice.org is scriptable in BeanShell.
I heard somewhere that Photoshop CS2 is scriptable in JavaScript.
Steinburg Cubase probably has a macro language, although I've never needed to use it. Certainly Cakewalk had a full-blown macro language.
I used to have Cygwin installed for those times when I absolutely had to have a bash prompt to do something in windows, and if I had that installed I would have almost the full array of Unixy programming languages at my disposal, most of which are represented by Perl (shell, sed, awk, etc). IIRC it comes with gcc, allowing me to write programs in C or C++.
I have an IBM ThinkPad, some of who's utilities are written in Python, so I probably have a python interpreter lurking around somewhere.
There are a handful of languages that are based on Java worth mentioning. I would consider JSP (odd that the wikipedia article is called 'JavaServerPages' when the meaning of JSP is officially undefined) to be a Java language variant that is text-oriented. In the same veign, I have an XSL interpreter (Xalan), and XSLT is definitely a full-blown computer language. 'Ant' is kind of a language, too (it has conditionals, assignments, and 'functions', but no arithmetic AFAIK). At some point I had a Groovy interpreter installed, but heaven knows where that is. I'm almost certain something I have installed is using BeanShell, which means I could write programs with BeanShell, too. Because I have a Resin appserver installed, I can write programs in PHP. (I used to have an Apache 2.0 win32 binary installed with PHP support, too).
The very esoteric languages like OCAML or Scheme are nowhere to be found as they aren't used in any of the software I use. Alas.
No comments:
Post a Comment