For scripting I almost always turn to the Tool Command Language.
The Tcler's Wiki
http://wiki.tcl.tk/
The Tcl/Tk 8.5 Manual
http://www.tcl.tk/man/tcl8.5/
Hello world (console program)
1 2
|
#! /usr/bin/env tclsh
puts "Hello, world!"
|
Hello world (GUI program)
1 2 3 4
|
#! /usr/bin/env wish
package require Tk
button .b -text "Hello, world!" -command exit
pack .b
|
Both of these examples work equally well on Windows, Unix, Linux, Minix, Mac Classic, Mac OS X, etc. The first is a standard console program. The second is a full-fledged GUI program, with a window and a button and everything.
Tcl is exceedingly powerful. It is introspectable. It is ... well, it can do anything you want.
Anything.
It is old, and does have a few rough edges, but far fewer than other languages I've encountered. It is mature and available in some form or other on nearly any piece of hardware you can find.
Tcl was designed as an embeddable scripting language, and its C interface is done the Right Way. So if you are looking at an embeddable language, this is it.
I also like Python. It is a pleasurable programming language. It does have some internal inconsistencies... but typically they are cosmetic.
http://www.python.org/
Python Documentation Index
http://www.python.org/doc/
PyGame Game Development (SDL)
http://www.pygame.org/
Python is likewise embeddable as an internal scripting language, and it isn't hard, but it isn't pretty. But that's just small grapes from me.
Scheme is a very standardized, small, and efficient dialect of Common Lisp. I like its simplicity and power.
http://www.schemers.org/
PLT Scheme
http://plt-scheme.org/
MIT Scheme
http://www.gnu.org/software/mit-scheme/
Teach Yourself Scheme in Fixnum Days
http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html
Revised (5) Report on the Algorithmic Language Scheme
http://www.swiss.csail.mit.edu/~jaffer/r5rs_toc.html
There are many good implementations of Scheme. I prefer the PLT brand -- it is very mature and has excellent documentation and reference capabilities, and it comes with a very nice IDE and you can easily develop GUI applications with it.
PLT scheme has facilities to properly embed modules into a C program, and are pretty easy to use.
I use some other obscure scripting stuff on occasion... but that's all you're gonna get out of me today.
Hope this helps.
[edit] BTW,
garob I don't know what you are talking about with "all these problems it has with windows". What problems are you referring to? (I do most of my Tcl/Tk development on Windows.)
chrisname
Tcl/Tk also has the finest
socket library you'll ever find. Better than Python's. And python's is pretty nice!