More about Alcides Fonseca
Go Back

Thoughts on Python 3000

Written by Alcides Fonseca at 1186486338

I’ve been reading about Python 3000 either in Guido’s blog and all around the web. There are some features I like to see implemented, but mostly I don’t like the course the language is taking.



Among the features I look forward to use, there are the Metaclasses, Revamped Dictionary methods, Module renaming and UTF-8 as default encoding.



There are a few more that I think it gives cohesion to the language, like function annotations (useful for pydoc), new string formatting and making print a function, but I don’t like them. I’ve loved python for being simple, and easy to write and read. This changes are making Python a more “closed” language with the feeling of “There is only one way to write things” that I kinda like. But I really like Ruby’s “function_name parameter1, parameter2” and making all functions callable like that. I mean, if Python hates braces, why does Python can't loose the parenthesis too?



There are other things that are important for me and could be implemented in 3k version. First, the possibility to change core classes. Being a OOP language, makes sense to be able to add methods to the string class for example, so I can call “string example”.send_to_friend(). Some other functions like len() and str() should also be available as methods ( instead of __len__() and then use the function).



One last thing I really miss in Python is a module management system like gems, that could work like ubuntu’s apt-get and have a GUI. I know there is the egg system, but in my opinion is quite weak compared with those. Oh, and a default DB adapter (to make DB-API v2 a real standard).