> 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) -- http://mail.python.org/mailman/listinfo/python-list