File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Jython/Python and the fly likes Mine and Jungle Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Jython/Python
Bookmark "Mine and Jungle" Watch "Mine and Jungle" New topic

Mine and Jungle

Hussein Baghdadi
clojure forum advocate

Joined: Nov 08, 2003
Posts: 3479

I'm considering learning a scripting language very well, Python and Ruby are the candidates.
No flame wars, no nukes and nothing at all. I just want to share my primitive impression.
I think Ruby is much more interesting than Python, things like Meta-programming, open classes and a purer objected-oriented language.
Python is a respected, mature and clean language but I can't see what advantages is going to give to me.
Would you please share your own thoughts?
(I have doing a very little and trivial Ruby and Python in the past).
Chaim Krause

Joined: Jan 04, 2011
Posts: 2
I have not used Ruby, but that is mostly because I chose Python. My personal view is that Ruby is web-centric. You aren't going to be building standalone applications to run on a Windows box in Ruby. However, if I was a web-centric developer, I would have gone with Ruby.

And as far as "things like Meta-programming, open classes and a purer objected-oriented language", Python is well recognized as one of the best programming languages to do meta-programming, and it is a pure object-oriented language with classes that are in no way restricted. So I am uncertain why you have that opinion of the language.

So, to over simplify things: If you are going to program strictly for the web, choose Ruby, otherwise I highly recommend Python.
Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

No offense to Chaim, but I think that's precisely the kind of answer you'll get from anyone who knows one of those languages and not the other. They both have complex ecosystems that have produced tools to allow them to be used in almost any environment. Both Python and Ruby will tell you they're pure object-oriented, and that they have complex metaprogramming systems, and yet each language interprets these terms differently and offers completely different capabilities.

The thing about Ruby's Web-centricity is untrue; perhaps Chaim is thinking of Rails, which is a Ruby-based Web development system. Similar systems exist for Python, of course. Either language can be, and has been, used to write Web apps, and standalone apps, and small scripts, and large systems, and everything in between.

Which should you learn? Personally, as someone who has used both fairly extensively, and is currently doing a lot of Python work, I prefer Ruby. I find it far more elegant and aesthetically pleasing. Python often feels clunky to me.

But you know, right now scripting language for the JVM are a big thing: Scala, Clojure, and Groovy are all capable and interesting languages that you could consider.

[Jess in Action][AskingGoodQuestions]
Hussein Baghdadi
clojure forum advocate

Joined: Nov 08, 2003
Posts: 3479

Actually I have been investing heavily into Clojure for the last 4 months.
The JVM have a plethora of languages (Clojure, Scala, Groovy, Kawa, JRuby, Jython and many others) but sometimes I feel that I have to step out the JVM (not to tie myself to a single platform) and explore other tools and languages natively.
Like creating Rails application, not JRails one. Scheme installation instead of Kawa.
Your answer is exactly what I'm looking for, thank you.
I agree. Here's the link:
subject: Mine and Jungle
It's not a secret anymore!