Peter Norvig's rationale for why the next edition of AI: A Modern Approach will include Python code as well as Lisp code:
Most of these I can at least sympathize with. The lack of standard libraries is definitely a pain. And while most of the cross-implementation issues are relatively minor, they exist. (Don't tell me that everything will be OK if you just write ANSI conforming code. I try to, and it just brings into relief the fact that no Lisp implementation is perfectly conforming, and that conformance bug fixes can take a long time to be released.)
The rest I think are more relevant to a textbook author than to an application developer. Maybe I am sheltered, but does anyone really use cross-platform GUI kits for commercial code?
Posted by jjwiseman at January 22, 2002 02:29 PMThe folks at the U of Oregon (Matt Ginsberg, et al.) who were writing the Best Bridge Program in the World were doing it in Java, because Swing, though slow, was cross-platform. I don't know if they stuck with Java for a GUI or gave it up eventually.
For a student or amateur programmer -- or anyone who wants to easily share code with friends -- a cross-platform GUI would be a really nice feature. If Python has it, and for free, that's actually pretty amazing.
Posted by: Michael on January 23, 2002 11:22 AMThe main problem I have with cross-platform GUI libraries like Swing is that they rarely give the native platform look-and-feel, which is important, especially for a commercial application. Limewire looks the same on every platform, which means it looks at home in none.
Swing can render its UI in a native look, but I think that might be a hack; It used to be able to display a Windows-style UI on a Mac, which would mean that it is just drawing graphics that look like Windows widgets instead of using the underlying native widgets. And that will look strange as soon as Microsoft tweaks the OS, or a user installs an enhanced version of a control. (I haven't used Swing in a while, so I could be wrong about this.)
I think the situation you described, people wanting to easily share code (like the code associated with a textbook), is the most compelling case for a cross-platform GUI. And definitely an important reason to have one.
I did a cursory search, but wasn't able to determine what the canonical cross-platform GUI for Python looks like.
Posted by: jjwiseman on January 23, 2002 01:08 PMWhere I work we actually have a Java GUI and it works fine. Any slowdown in our's is due to the network communication and I don't think language choice has much influence over that:) OTOH our app is one of those "enterprise" things so we're not trying to sell in CompUSA, and as the backend is J2EE there is little point in trying to bolt a MFC or VB front end onto it.
Posted by: Alex on February 11, 2002 08:43 AM