What kind of stuff do you need to write? Or is the goal
more to learn about programming than to actually
write a program? Java is not a bad choise if the
goal is general purpose and educational. Once you
have the basics down moving to another language
for some specialized usage is not hard.
People here see the word multiplatform and immediatly say Java. If you have no
programming experiences, I would highly oppose starting with Java. Java is an
Object Oriented programming language and it makes more sense to start by
learning non-object oriented languages first then jumping on the OO bandwagon.
I would recommend to start by Pascal or Python and then move to Java. The
optimal sequence would be Pascal -> C -> C++/Java.
Not only is Ruby on OSX, but OSX is the platform of choice for Ruby developers. That said, good documentation (for beginners) is still pretty thin on the ground, so you're probably better off going with (blech!) Java.
Other choices for cross-platform work would be Python or Perl(actually no, forget I said that, Perl is just a ridiculous idea for beginners - hell, it's a ridiculous idea for anyone)
I program in it, as well as other languages, and it is amazing!!! Extremely powerful and it is a true RAD package. Applications faster than you can imagine. Program for Windows, MAC, and Linux. (at the same time 😀 ).