On Feb 3, 2005, at 09:48, Alan Gauld wrote:
Pythons lambda feature is a bare minimum (and Guido wants to remove it!).
Does he? Damn, just when I was learning functional programming! (in Haskell, if you're curious ^^)
Yes the Japanese thing is an issue. THere are a few English books now, and the original one by Thomas and Hunt is free on the web.
A little bit outdated, however. Ruby lacks a proper series of O'Reilly books; last time I checked the only one available was "Ruby in a Nutshell", which is a few years old and covers Ruby 1.6 (2 versions behind the current one).
What Matz needs to do IMO is to gather a couple of the l33test Ruby hackers in the world in a nice house in the Japanese countryside, pick a cool-looking animal (what about an eastern dragon?), and sit down with them to write a thousand-page "Programming Ruby".
is a thing of beauty compared to Perl for OO! In fact I actually don't mind VB OOP at all, especially in its .NET variant which includes inheritance and polymorphism. But Perl OOP is a hideous bodge.
I haven't tried VB.NET (and don't intend to, I don't like BASIC-style languages), so I can't comment on this.
But unfortunately built very badly as an OOP environment. Its more accurate to call it a class based language since its perfectly possible to build a Java program with no objecs but lots of classes! I'd go so far as to say that if you followed Java's lead on OOP you would pick up some very bad OO habits and write code that was not really very OOP at all!
Thats not to say you can't write good OO code in Java just that Java does little to encourage it. You need to read a good OO book, like BRuce Eckels Thinking IN... series) to see how to do it properly!
Well, of course, it all depends on how you're learning it. I'm sure there are some C tutorials out there that teach you (and encourage you) to use GOTO statements. :-D
Me? I learnt Java by reading Eckel's "Thinking in Java" (and then followed with Wigglesworth/McMillan's "Java Programming: Advanced Topics"). I agree with you: it's an excellent book, that encourages good coding style and proper OOP.
And whats worse is that there are few native code compilers for Java. The JVM thing is a big hype factor IMHO. We've been writing C/C++ programs for years that ran on Windows/Unix and IBM boxes with only minor #ifdefs inserted. The performance (and hence costs for servers!) differences are huge! Its no coincidence that 2 of the biggest supporters of Java (IBM and Sun) are hardware vendors!
Agreed. I'm no compiler programmer, but it seems to me that they could just have written a nice cross-platform API and then platform-specific compilers, while keeping the specification of the language intact (i.e. platform-independent endian-ness, type sizes, etc.).
The reasoning behind the JVM is that you don't need to recompile your code to run it on a different platform. But most existing Java projects have platform-specific versions, if only to make the GUI (try to) look native. You can spot a Java app from a hundred meters away.
(then again, the same critic could be made of Python's and Perl's "standard" GUI toolkits)
-- Max
maxnoel_fr at yahoo dot fr -- ICQ #85274019
"Look at you hacker... A pathetic creature of meat and bone, panting and sweating as you run through my corridors... How can you challenge a perfect, immortal machine?"
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor