The thing that I admire the most about this is how small a change Py3K really is, considering it's the first major compatibility breaking release AFAIK. The change from 1.x to 2.x version numbers was for historical and cosmetic reasons: if you wrote a module in Python 1.5 there's a very good chance you can run it in Python 2.5 with only trivial modifications at worst (e.g., one of your identifiers has become a keyword). This is a testament to the excellent taste of the Python designers, and to their rare mix of restraint and practicality.
The print(x) instead of print x thing is going to kill me in interactive sessions. I can feel it now. It's those little things that get ingrained in your daily work that are hard to break.
"ls" is a simple command -- invokes the Unix command "ls -l". A more complicated one: "h os" -- run help on the os module (just like "help(os)"). This is kinda tricky because "h os" is actually a syntax error in Python. When interactive, I catch syntax errors and see if they are user defined commands, in which case I execute the desired command. This works for Python 2.5, but shouldn't be too hard to port to Python 3.0.
I briefly looked at IPython, but that seemed to complicated for my needs.
> We're switching to a model known from Java: (immutable) text strings are Unicode, and binary data is represented by a separate mutable "bytes" data type.
Tcl had that something like 5 years ago. Of course, that's one of the reasons it's slower...
If you want to start a language war, why don't you just make a new post rather than hijacking this one? In a post about Python 3000 I was expecting debate about Py3 vs Py2, not about Python in general vs other languages.
I don't see the equivalence. Some people don't want to the bloat of the JVM, nor the bloat of Java libraries themselves. Some people prefer dynamic typing over static typing (and yes, I know Scala is type-inferred). Some people love Python's libraries and/or community.
It isn't clear to me why Scala is obviously better than Python as you imply.
[+] [-] ivankirigin|18 years ago|reply
[+] [-] euccastro|18 years ago|reply
[+] [-] mattculbreth|18 years ago|reply
[+] [-] sri|18 years ago|reply
"ls" is a simple command -- invokes the Unix command "ls -l". A more complicated one: "h os" -- run help on the os module (just like "help(os)"). This is kinda tricky because "h os" is actually a syntax error in Python. When interactive, I catch syntax errors and see if they are user defined commands, in which case I execute the desired command. This works for Python 2.5, but shouldn't be too hard to port to Python 3.0.
I briefly looked at IPython, but that seemed to complicated for my needs.
(Also, http://defcraft.org/hacks/pycmds/strftime_helper.py uses the above file to help the user with strftime spec usage. I can never remember all the special characters.)
[+] [-] mattculbreth|18 years ago|reply
[+] [-] bootload|18 years ago|reply
Interesting perspective I found on Coding Horror suggesting that it wasn't so much a language change as a change of platforms ~ http://www.codinghorror.com/blog/archives/000839.html
[+] [-] nostrademons|18 years ago|reply
[+] [-] davidw|18 years ago|reply
Tcl had that something like 5 years ago. Of course, that's one of the reasons it's slower...
[+] [-] palish|18 years ago|reply
[+] [-] rob|18 years ago|reply
[+] [-] jamiequint|18 years ago|reply
[+] [-] amichail|18 years ago|reply
[+] [-] euccastro|18 years ago|reply
If you want to start a language war, why don't you just make a new post rather than hijacking this one? In a post about Python 3000 I was expecting debate about Py3 vs Py2, not about Python in general vs other languages.
[+] [-] AF|18 years ago|reply
It isn't clear to me why Scala is obviously better than Python as you imply.
[+] [-] mattculbreth|18 years ago|reply
[+] [-] kashif|18 years ago|reply