Which language should I learn?



I am considering learning a programming language.

I'm not a 'programmer' or a computer scientist but an artist, but I do have
good understanding of java and php, of several different programming
methodologies like OOP, of server-client programming, simple UI
programming, usability factors, etcetc..

Which language I should learn?

My wish list:
* The language should be available for both Windows and GNU/Linux.
* The language should be advanced enough to build complex programs for GUI
apps, graphical visualization and what not (ie. not only a scripting
language).
* The language should have a ready set of XML tools for parsing XML files,
preferably manipulating DOM trees.
* The language should have a future - learning a new language takes time
for me and I dont want that time to be wasted after only few years.
* The language should be as easy and take care of as many things for me as
possible (like garbage collection, automated memory handling..)
I have initially looked into Python and Ruby.

Python seems simple, even too simple - I am not convinced that it is more
than just a scripting language, and am wondering if it will be around in 4
years. Ruby seems sweet, but I am not convinced on its maturity level or
future.

I am wondering if there are nice, 'abstract' programming languages for
humans out there already, or do I really have to become a half-human half-
computer-scientist? (j/k)

Any comments are welcome :)
.



Relevant Pages

  • RE: C# book for 16 yo?
    ... First I would suggest first learning Visual Studio.NET. ... Then I suggest 2 books to actually learn C# - Microsoft has a book called ... important to quality programming. ... language that combines all the best features of previous languages and is ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Lisp Ruby Scheme
    ... :> pure functional programming in Haskell and learning it in Scheme ... prototypical language to incorporate it, so if I wanted to really grok ... I would find me a compiler for Eiffel and start feeding it ...
    (comp.lang.scheme)
  • Re: Opinions on intro lisp books
    ... But Lisp is a little different, ... Some languages support one style of programming better than they ... Even if that weren't the case, I'm not sure that a language being a ... I don't believe that learning to program in CL requires more theory ...
    (comp.lang.lisp)
  • Re: Ruby as First Language
    ... } My order was Quick BASIC, then C++, PHP, then Ruby. ... Most forms of Basic are, indeed, impediments to learning to ... I learned AppleSoft BASIC as my first language. ... } the basics of C or C++ in parallel with Ruby. ...
    (comp.lang.ruby)
  • Re: Newbie (Followup)
    ... level language (as I believe I will end up learning more). ... know a little bit including the basics of pointers, ... Alas I am forced to learn a "language" that deviates from even the most basic principles of programming (from what I have seen so far/ ...
    (comp.lang.c)