The only one I can think of that matches his criteria is Cincom Smalltalk (http://smalltalk.cincom.com/index.ssp). I started to play around with it, and it wasn't bad, but I couldn't get my head around smalltalk. The GUIs are pretty, native looking (actually native? dunno), and easy to make.
The "decent native Win32 GUI" issue drives me bonkers as well. I'm using C# + WinForms at work, but I'm mostly a fan of C# because it isn't C++, which isn't much of an endorsement.
Does DrScheme have a decent GUI library?
I've only worked with it a little, but ruby-gtk seems to be mature and well-documented. GTK+ for Windows using the WIMP native theme engine is almost at the same level as wxWidgets, in my opinion. (This is a GTK theme engine that actually uses the native Windows theme DLL to draw the controls.) I use GIMP and Gaim under Windows and usually don't notice that they are GTK+ instead of native interfaces.
Also, wxHaskell might be interesting...
Maybe JRuby, because it sits on the JVM, gets around the problem with Ruby and your #2 point? Or one of the scheme implementations for JVM, though I don't think its syntax is very compact. I'd personally vote for Scala, since it gets all the JVM and/or .NET libraries, and does enough type inference to make Scala programs pretty concise while remaining nearly as readable as Python. It's not dynamic, but I'd sneak it past that one like with OCaml.
Have a look at the alt.lang.jre series of articles on developerworks. Maybe one of those languages will fit.
You might want to check out REALbasic. It's about the best cross-platform development environment I've ever used.
Why not Jython? This should be easy transition from Java to Python. Java skills won't be wasted.
I'm confused - what lead to the "it can't be delphi or python" critereon? Not to say that Python's perfect, but for the other things he listed, it sounds like it's exactly what he wants...
Once you've gotten rid of Python and Ruby, it is highly unlikely that any other language is going to meet the rest of his demands seriously. "Why don't you write your own tool, then" is what leaps to mind.
I'm sorry, my last post wasn't clear - I didn't want to get into a discussion (as you said you didn't want) of why Python wasn't appropriate - it was an expression of frustration with the way you phrased the question. What I meant was something closer to:
Your critereon #6 rules out any potentially obscure new projects which meet all of your other criterea - your critereon #2 (allegedly) and #1 rule out all well-known established candidates.
You can't have your cake and eat it too. You already know about the mature, established dynamic languages out there. If you're unwilling to try something new and exciting, why are you asking for pointers to new and exciting things? :)
(FWIW: Cincom and Franz's products are very good technically speaking, but every project I've worked on in a proprietary environment has crashed and burned horribly when the vendor decided to hold some feature or information hostage in exchange for a lucrative "support contract" or hefty upgrade. (in terms of man-months of work AND of price) I don't know anything about either of those vendors specifically, but I suspect that it is unconsciously their business model to do the same thing.)
Jython meets all the criteria except possibly #1.
1. Without knowing why Python is ruled out, I can't say if Jython is OK or not.
2. Swing can build decent Windows GUIs
3. Most databases are supported with JDBC
4 & 5. Hey, it's Python!
6. Maybe a little too stable - Jython 2.1 has been out for over a year. You can use pretty much any Java library. There is a fairly active and helpful mailing list.
Unfortunately, Jython (being a Python implementation) is not acceptable either. It's not CPython that's excluded, it's all Python implementations. :-/
And yes, the exclusion of mainstream dynamic languages like Python, Perl and Ruby (for various reasons) makes it difficult to solve this "puzzle". :-(
We are willing to try something new and exciting, but the existing user base shouldn't be *too* small, and the language shouldn't be too unstable. (Needless to say, it's hard to write production code if your language keeps changing under you.)
There are tons of languages for .NET and the JVM, maybe we can find a few that don't do too bad in the #6 department...
Try a language that sits atop of the JVM. When you cant use jython or jruby then try jscheme or SISC.
Lua with wxLua is worth looking into.
1. It's not Delphi or Python.
2. It has wxLui bindings to wxWidgets.
3. It has a number of database interfaces, e.g. LuaSQL, LuaBDB
4. Yes, yes, yes. It's a compact language with support for goodies such as closures. Note that it doesn't support a particular Object-oriented model in syntax (the Lua book shows two different approaches).
5. Probably similar to Python in productivity.
6. Yes, not as popular as Python or Perl, but it is increasing in popularity. It's been around since 1993, and it's pretty stable now, and there is a book in print.
Note that I haven't used Lua much yet (I've done a good amount of Python programming), but I am looking at using it for a microcontroller project.
Well, since Python's off the table, I feel like there's some strange requirement that's not listed. Unless it's truly as simple as a person who just really dislikes Python and Delphi, but is otherwise open minded. Eh, as long as they're paying you, right?
Anyway, Rebol seems interesting, and I believe it has decent GUI support. It's like a friendlier Lisp. There's several mature Smalltalk implementations out there, and probably several of them use nice native widgets. VisualWorks is one, but you should look at Dolphin and the others, with a mind to creating an encapsulized program (many Smalltalks target internal projects, and fold the GUI together with the IDE in ways that might be awkward for you). I doubt Glyph's concerns will be too much of a problem -- I don't think those companies do business in the style of Oracle or its ilk.
Does Erlang have a decent Windows GUI interface? Other than that possible hitch, it seems to meet all your other criteria.
Has anyone considered dynamic languages' forgotten cousin.
notice that tk does look perfectly native on win(xp) if you use tile:
The tile extension is included in tcl 8.5 and usable from ruby 1.8.2.
I'd suggest going with tcl, it is mind blowing enough.