I'm trying to find a programming language I feel really comfortable learning and using for desktop/GUI application development. I realize it's unlikely that any language meets ALL of these criteria, but I'd like to find one that meets as many as possible. I've listed the following features ROUGHLY in order from most desirable/important to least.
Ideal Language Features:
- Code Style: C/Java-like
- GUI Development: Easy, elegant, and platform-Native styling
- Community: Widely documented, active development, friendly & helpful, unity of focus
- Object-oriented
- Garbage Collection, no worrying about pointers, etc
- Native compilation, NO 3rd-party runtimes like GTK or .NET
- Multi-platform (can be compiled on *nix, Windows, Mac)
- Reasonably fast
- Mixed typing (soft-typed, OR both soft- and strict-typed -- i.e. Pike)
Background:
Most importantly, I need something that is straightfoward and reasonably familiar, and something that isn't going to require a deep understanding of platform-specific APIs. I can't afford to spend a lot of time learning to develop Win32 apps in C++ for example. I've used wxWidgets, and liked the basic usage, but I'm really wanting to use a language with garbage collection, dynamic typing, and so on.
My frustration with Java, C#, and others is the need for a 3rd party runtime. I don't want end users to have to worry about installing and maintaining a separate platform. Also, Java's community has a reputation for academic pretentiousness which really annoys me, and Microsoft's platform is oh-so proprietary.
Now then. Ideas??