Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Combining The Best Of Python, Ruby, & Java??????

2 views
Skip to first unread message

Tim Daneliuk

unread,
Jun 12, 2006, 7:03:37 PM6/12/06
to
So it is claimed:

http://www.infoq.com/news/Scala--combing-the-best-of-Ruby-;jsessionid=CC7C8366455E67B04EE5864B7319F5EC

Has anyone taken a look at this that can provide a meaningful contrast
with Python?


--
----------------------------------------------------------------------------
Tim Daneliuk tun...@tundraware.com
PGP Key: http://www.tundraware.com/PGP/

bearoph...@lycos.com

unread,
Jun 12, 2006, 8:04:45 PM6/12/06
to
Scala seems terse and fast enough, few examples:

http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=psyco&lang2=scala

Bye,
bearophile

Ravi Teja

unread,
Jun 12, 2006, 10:18:43 PM6/12/06
to
Tim Daneliuk wrote:
> So it is claimed:
>
> http://www.infoq.com/news/Scala--combing-the-best-of-Ruby-;jsessionid=CC7C8366455E67B04EE5864B7319F5EC
>
> Has anyone taken a look at this that can provide a meaningful contrast
> with Python?

I find the language very interesting but it is not like Python or Ruby
at all. Feels a lot more like OCaml + Haskell for JVM with a more
mainstream (Java) syntax.

Message has been deleted

Paul McGuire

unread,
Jun 13, 2006, 12:02:15 AM6/13/06
to
"Tim Daneliuk" <tun...@tundraware.com> wrote in message
news:nf81m3-...@eskimo.tundraware.com...

> So it is claimed:
>
>
http://www.infoq.com/news/Scala--combing-the-best-of-Ruby-;jsessionid=CC7C8366455E67B04EE5864B7319F5EC
>
> Has anyone taken a look at this that can provide a meaningful contrast
> with Python?

Ok, here's the Hello World example from the Scala website:

object HelloWorld {
def main(args: Array[String]) = {
Console.println("Hello, world!")
}
}

Opening and closing braces?
"def main(args: Array[String])"?
Console.println?

About the only Pythonic thing I can see here is the "def" keyword.
Otherwise, it looks too much like Java - no, thanks!

-- Paul


Ravi Teja

unread,
Jun 13, 2006, 2:44:09 AM6/13/06
to
> Ok, here's the Hello World example from the Scala website:
>
> object HelloWorld {
> def main(args: Array[String]) = {
> Console.println("Hello, world!")
> }
> }
>
> Opening and closing braces?
> "def main(args: Array[String])"?
> Console.println?
>
> About the only Pythonic thing I can see here is the "def" keyword.
> Otherwise, it looks too much like Java - no, thanks!
>
> -- Paul

Don't be too harsh on it though. It is a language built for the
JVM/CLR. The author perhaps intended the library to be natural to the
users of the respective SDKs regardless of its' aesthetics and it
explicitly seems to provide a unified API for Java and .NET. Of course,
that is nothing new. Many languages have interchangeable backends for
these platforms these days but there seems to be a specific focus on
that here. The syntax does resemble Java/C#, which is also important if
you want buy in from the Java/C# crowd.

But semantically it is a proper functional language. The features may
not attract Python users who might prefer Boo/Jython/IronPython. But it
does offer something to disillusioned Groovy users.

But on the other hand, there are some neat features even for Python
programmers.
Tail recursion
Pattern matching
Currrying
Macros
Concurrency
Native XML support

Of course, you can get by without some of these in Python with
workarounds, libraries or hacks.
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496691
http://www.python.org/dev/peps/pep-0309/ (in 2.5)
http://logix.livelogix.com/ (offline)

Diez B. Roggisch

unread,
Jun 13, 2006, 9:42:46 AM6/13/06
to
> But semantically it is a proper functional language. The features may
> not attract Python users who might prefer Boo/Jython/IronPython. But it
> does offer something to disillusioned Groovy users.

Are they disillusioned? Just wondering.

Diez

Luis M. González

unread,
Jun 13, 2006, 2:12:53 PM6/13/06
to

Whay talking about disillutioned programmers?
These are tools, not religions...
I love python, and I like it more everyday. And with the advent of
Pypy, its future looks brighter than ever.
But I also find very interesting these new options that are coming up.
Although I'm not a professional programmer (not even a serious
aficionado), I love to be able to translate my python skills very
easily to .NET through Boo, for example.
I even find it more appealing than Ironpython, because it was created
from the ground up to take advantage of the CLR.
On the other hand, porting pure python to .NET is in many aspects like
trying to fit a square on a circle (I don't know if this sentence makes
sense in english...).
Because many of the design choices taken by GvR back in the early
nineties were surely conditioned by the platform he chose to write
python, which is the c language.
The good thing is that python is having a lot of influence in these new
languages.
As far as I could see, even C# 3.0 is showing up some pythonic traits.

Ravi Teja

unread,
Jun 13, 2006, 4:17:29 PM6/13/06
to

Nah! Just a poor passing attempt at humor. Groovy is a great language
too. I should watch out. Maybe Groovy programmers have knives too :-).
http://cardboard.nu/blog/2005_02_02/gosling_on_jvm_scripting.html

Ravi Teja

unread,
Jun 13, 2006, 4:30:29 PM6/13/06
to

I did not realize the flame potential of that remark. Just to clarify,
I have no criticism of any kind on Groovy. I mentioned Groovy since
Scala, the original topic of the thread addresses the needs of the same
group (a modern language with a Java friendly syntax). I am not a
language bigot. Note that I am defending Scala, a new language, in this
thread so far. I do not want this thread to break into a language war
from my remark. I hope that Python gets some of the features listed in
my above post in it's own unique Pythonic way eventually. The
discussion perhaps is more constructive if we can see some good in
Scala that is worth adopting.

0 new messages