Linked by Thom Holwerda on Fri 31st Aug 2007 19:17 UTC, submitted by ganges master
General Development Python 3.0, 'Python 3000', has reached its first public release. This version will be followed by beta releases throughout 2008, and the final release is scheduled for August 2008. "Python 3000 ('Py3k', and released as Python 3.0) is a new version of the language that is incompatible with the 2.x line of releases. The language is mostly the same, but many details, especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed."
Thread beginning with comment 267774
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[7]: I'm impressed
by unoengborg on Sun 2nd Sep 2007 01:32 UTC in reply to "RE[6]: I'm impressed"
unoengborg
Member since:
2005-07-06

Nice movie. It really shows how Zope/Plone shines compared to most other technologies when it comes
to ease of development. It really has it all, internationalization, good template language, code generation from UML, skinability, good security, accessability...

The java part of the movie is a bit out of date though. You don't need to write XML setup files in modern Java EE 5. Another thing you don't use EJBs for user interfaces, they are for business logic.

Today, EJBs contains just business logic, and not a lot of life cycle stuff like they used to do. You can generate Java code from database model or vice versa, just like you can in Rails and other similar with a few mouse clicks in modern IDEs like Netbeans. So I would say that modern java rocks at least as much as the various other technologies shown in the movie when it comes to rapid development.

However, unlike old python code, ugly old sucking EJBs still run unmodified on modern Java EE 5 servers using the latest version of Java. This is actually a good example of how you can make radical improvements can be done without breaking backward compatibility.
I wish python developers had taken a similar road in Python 3.

Zope/Plone is very specific about what version of Python it needs. E.g. the Zope 2.10 used for Plone
needs Python 2.44, version 2.5.x will not work, the same goes for some older plone 2.x versions.
Now they add even more incompatibilities, this is not good for an otherwise good platform. It results in that people will need to install several python version with the obvious chances of making mistakes.

Reply Parent Bookmark Score: 2

RE[8]: I'm impressed
by sbergman27 on Sun 2nd Sep 2007 04:12 in reply to "RE[7]: I'm impressed"
sbergman27 Member since:
2005-07-24

"""

The java part of the movie is a bit out of date though.

"""

The rest of the movie is a bit out of date, as well. ;-)

Best I could provide. It's a snapshot of 2006.

So you contend that Java used to suck for web development, but has turned a new leaf, recently?

Please, no links to Jonathan Schwart's blog. ;-)

Edited 2007-09-02 04:13

Reply Parent Bookmark Score: 3

RE[9]: I'm impressed
by unoengborg on Sun 2nd Sep 2007 11:45 in reply to "RE[8]: I'm impressed"
unoengborg Member since:
2005-07-06

The rest of the movie is a bit out of date, as well. ;-)

Yes, among other thing, Plone have just released Plone 3 with a lot of AJAX goodies that makes the application feel snappier. They have also tidied up a lot in the code. It is also faster probably due to that they now use Zope 2.10.

So you contend that Java used to suck for web development, but has turned a new leaf, recently?

Oh yes it has changed! Pre Java EE 5 web development for java not only sucked, it sucked major. In fact they probably compete for the title of worst API ever.


The main difference is the introduction of annotations in Java SE 5 and used by Java EE 5. This made it possible to get rid of the XML config files.

Another big difference is the Java Persistance API that makes it very easy to map properties of java objects to a relational database, in most cases you will not have to write any code at all for this to happen, the only thing you have to do is to give the class an @Entity annotation directly before the class declaration. Java will automagically try to map property names in your java object to field names in your database.

Yet another change is that EJBs now have lost all the life cycle stuff and only contain business methods. They look much like ordinary java classes, What makes them special are again in the annotations. I really don't know why the movie talked about EJB for web GUIs, they are normally part of the business logic, where the speaker in the beginning of the movie oddly enough seamed to be satisfied with the bad old J2EE.

Contrary to what your movie tells us, java programmers hate XML files just as much as anybody else, its Just that JBoss/Red Hat haven't noticed yet.

The difference to your movie, is also that there now are good GUI tools to handle things, for us so we don't have to manually write a most of the stuff that is written in the emacs examples of your movie. Even if you use bad old J2EE, the typing to create a hello world servlet would probably be one or two lines of code.

Speaking of Application logic, again using annotataions or a few mouse clicks in Netbeans you can turn a java method into a web service that can interact with .Net or be used as backend for AJAX stuff in your web pages.

Another major enhancement is that JSF now is standard part of Java EE 5. This makes it possible for IDEs like NetBeans to do drag and drop development of web pages, much like how it is done in Dreamweaver, but with more focus on application logic.

So yes, Java for the web isn't hard anymore. Still, if you know python but not Java and don't have extreme needs for speed I would say stick with what you know. That java doesn't suck anymore, doesn't mean that all other methods of doing web applications have become obsolete, merely that Java caught up with the others.

Again, what makes the comparison interesting here is that Sun almost threw out everything they got, and started fresh while still maintaining backward compatibility.

The tradition in the python world seam to be that if something sucks throw it out and replace it with something new and elegant and the smart people will follow. This Python 3000 thing is not the only example, e.g. look at Zope2 vs Zope3.
It is probably true that the smart people will follow, but unfortunately smart people seldom work for free so this attitude adds to the cost of the platform.

Reply Parent Bookmark Score: 2