top | item 48876

Python 3000 Alpha 1 Released

26 points| mattculbreth | 18 years ago |python.org | reply

25 comments

order
[+] euccastro|18 years ago|reply
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.
[+] mattculbreth|18 years ago|reply
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.
[+] sri|18 years ago|reply
I made this http://defcraft.org/hacks/pycmds/pii.py to help define "commands" in the interactive interpreter. Commands like "ls" and "h os".

"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.)

[+] davidw|18 years ago|reply
> 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...

[+] palish|18 years ago|reply
Sheesh.. Emotions are running hot in this thread.
[+] rob|18 years ago|reply
If only it was as fast as Ruby.
[+] jamiequint|18 years ago|reply
If only Ruby had built in Unicode support
[+] amichail|18 years ago|reply
Why is Python still interesting? Just use Scala.
[+] euccastro|18 years ago|reply
Please don't feed the troll.

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
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.

[+] mattculbreth|18 years ago|reply
Well the two aren't exactly apples and apples. Why do you prefer Scala over Python?
[+] kashif|18 years ago|reply
I have no clue either...fill us in.