ako... wrote: > Hello, > > one thing that might be difficult to learn with no programming > experience is Ruby's meta programming. in this respect Java is easier. On the contrary, if you start with a dynamic language such as Ruby, metaprogramming is much easier to pick up. Java encourages the idea that message == method, whereas Ruby teaches you that the message a client sends to an object need not map to any actual object method, and how the object handles the message request is none of the client's business. Metaprogaming *is* programming. You just learn it as you would anything else in Ruby, and it should be a natural part of any program (albeit where appropriate). It only gets harder if you start off with misconceptions fostered by other languages. > one of the languages that they use in academia to teach programming is > lisp. you might want to take a look at that too. but just to learn > because doing something real in lisp is painful. Is this true for people who learn Lisp as their first language? James -- http://www.ruby-doc.org - Ruby Help & Documentation http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted http://www.rubystuff.com - The Ruby Store for Ruby Stuff http://www.jamesbritt.com - Playing with Better Toys http://www.30secondrule.com - Building Better Tools