Hi! I like zope for its pure OO framework. is it the only work among the CMSs take this design? If it is true, why not any other clone in java, c# or cpp? I agree Python is a good language, but it faces many challenges also like relative slow speed, short of programmer(compare with java cpp) and short of elite programming environment (like MS visual studio). Some articles explain why the zope can't port from CPython to JPython. But how about a rebuild in pure java/cpp/c#? is it possible and deserved? This is only an crude idea for I have just several months experience in zope. Any argument is welcome :) ===== Remote Scensing Satellite Ground Station Chinese Academy of Science _________________________________________________________ Do You Yahoo!? 美女们的秘密武器! http://yahoo.eachnet.com/fu/co/rd.php?http://pages.eachnet.com/st/page/women...
At 07:15 PM 3/12/2003, =?gb2312?q?Chen=20Fu?= wrote:
I like zope for its pure OO framework. is it the only work among the CMSs take this design? If it is true, why not any other clone in java, c# or cpp?
If people who programmed in c# or java cared about using good tools, they'd have switched over to Python by now. :-)
I agree Python is a good language, but it faces many challenges also like relative slow speed
Python code won't execute as fast as assembler, but you'll finish your project a lot faster and have an easier time maintaining it.
, short of programmer(compare with java cpp)
Python is today poised where Linux was about 6-7 years ago... most people have barely heard of it and only a few have found out first-hand how utterly it eclipses just about everything other choice in a wide range of applications. Six years ago was a great time to be building your credentials as a Linux guru... now is a great time to be investing your time in Python.
and short of elite programming environment (like MS visual studio).
There are overpriced IDEs for Python too. :-) Anyway, 90% of the problems solved by IDEs just aren't problems in Python. Turn on syntax highlighting in Vim and you've got pretty much all the environment you could possibly need.
Some articles explain why the zope can't port from CPython to JPython. But how about a rebuild in pure java/cpp/c#? is it possible and deserved?
A more important question is why you'd bother. Why waste important development time achieving barely any more performance than you might have gotten out of a memory upgrade? Besides, who want to recompile every time you upgrade a product? Evaluating Python (or Zope) for its speed of execution is asking the wrong set of questions about this kind of software. Performance matters *some*, but not nearly as much as development cost, maintenance cost, and time to market. If you work in an environment where software gets validated or audited, you just can't beat Python for its clarity. When push comes to shove, it's usually a lot easier to get more hardware than more hours of good programming talent. If you want to improve Zope's performance, you can start by delegating more. Proxy aggressively. Serve all static content (especially images) out of Apache. Do more load balancing. Upgrade to ZEO. Once you look at the big picture, there are very few situations where tweaking low-level code is the most efficient way to conceive of improving performance. Just because Zope *can* serve as an all-in-one tool doesn't mean that's the best way to use it. There are situations where writing the smallest, fastest thing possible is critical... most web apps just aren't in that domain. If you're having performance problems in a web app, your time is almost always better spent tweaking the graphics than just about anything else. My $.02, Dylan
short of programmer(compare with java cpp)
Not really bear in mind it takes most programmers a couple of days (at most) to be productive in Python and learn 90% of the language. It takes a lot longer in other languages.
and short of elite programming environment (like MS visual studio).
What vim, emacs? There are plenty of expensive IDE's that support Python. Visual Python for example: http://www.activestate.com/Products/Visual_Python "Visual Python is the high-productivity Python plug-in for Visual Studio .NET. Powerful, Python-specific features within the familiar Visual Studio environment provide ease of use and accelerated development cycles"
Some articles explain why the zope can't port from CPython to JPython. But how about a rebuild in pure java/cpp/c#? is it possible and deserved?
Because IMHO the best thing about Zope *is* Python. Take away Python and it would be much less powerful. The thought of writing a product in C# gives me the willies ;) There is a PHP port of some bits out there if you are curious BTW :) -- Andy McKay
I like zope for its pure OO framework. is it the only work among the CMSs take this design? If it is true, why not any other clone in java, c# or cpp?
I'm not aware of any. I think it would be good it Zope had some closer relatives (both for zope and the world in general), but for some reason there aren't. One can find several reasons: 1) stuck in the database. A significant number of people in the web app server area are dead stuck in the relational/SomethingServerPages mode. They aren't likely to come up with a zopish system. 2) sticky developers. Those who would like such a system found Zope and no reason to try to redo it. Zope got there first, well, and open. Later, poorer, or closed hard time up against that. 3) 800-pound gorillas. Other language communities have existing unzopish frameworks that make other players in that space invisible. Once upon a time there were competing Java frameworks. Then J2EE and EJBs came along, and suddenly there was no room anymore. C# was born that way. Perl has always been THE CGI laanguage. As to C++, well, nobody seems too interested in web programming in that, and I can see why.
I agree Python is a good language, but it faces many challenges also like relative slow speed, short of programmer(compare with java cpp) and short of elite programming environment (like MS visual studio).
Speed is an illusory issue on the server side. It is important for system-level components, real-time operations, and to some extent interactive applications. App servers are non of those, and speed on the server side is really a question of hardware. Anything that isn't grossly slow is probably fine; what you really want is development speed, maintainability, and other people-related factors. Besides, the difference between interpreted and compiled languages if fairly constant, and real speed differences come with the algorithm. As to programmer populations, there is a valid difference. But I don't take it for granted that a trying to cater to larger population is necessarily better: it makes it easier to get lost. And to my way of thinking, a programmer who can't or won't work in some other scheme isn't much of one. Especially with such an easy language as Python. I'll lay off of IDEs and why I think they're a mostly illusory benefit.
Some articles explain why the zope can't port from CPython to JPython.
Every once in a while someone tries this, but it never really takes root. I don't think the problem is primarily technical: there's just no real reason. Python is already more portable than Java, and various RPC schemes make it unnecssary to access Java components in-process. I happen to think it would be a good thing if Zope were clean enough to run on any Python implementation, if only to ferret out bugs. But if the only justification is to be buzzword-compliant, I can live without.
But how about a rebuild in pure java/cpp/c#? is it possible and deserved?
Anything's possible. There's nothing really to stop someone from making a persistent-object/through-the-web/acquisition-ruled/easily-extensible web application server in Java or Perl or Smalltalk or OCaml or whatever. One could conceivably even do it in FORTRAN, save that it would be an abomination and makes my eyes hurt thinking about it. Is is a good idea? I don't think so. The loss of momentum, if nothing else, would be deadly. I don't think being Java or some sort of C would bring significantly more interest, or make the product better: certainly not to the extent of the risk. Is it deserved? Not really. Every programmer feels the urge to throw it all away and rebuild it "knowing what we know now." That should be resisted unless you're running into serious walls. There is occasional justification for a rewrite or major refactor: hopping on bandwagons isn't one of them. Will it ever happen? Almost definitely not. Besides whatever else above, Python is the soul of Zope: deceptively simple, flexible, ad hoc, powerful, and a little mysterious. Zope without Python would be, well, something completely different. In the end, it's not really about implementation but results. If it's good, it'll grow, and who really cares how it's written. --jcc
There's been a lot of discussion on the tread you started - I'll add my 2 cents. I don't believe there's any need to port to Java or .Net just because there is 'too small' a community of python developers. Here's a good reason to give python a shot. There are few things python can't do that java can that are useful in a medium-sized system which applies to 99.99% of all systems. As soon as you move to .Net you are held hostage for a number of reasons: you will pay for everything. How many .Net open source projects will you find? Reason is that .Net developers pay for their OS, IDE, and server licenses - why should they give away their code for free? You are missing out on the fact that the python community is an open community where much code is shared. The value of this sharing or intellectual capital is very high - higher IMO than that of a ready-made python community. I encourage you to take a look at the website http://www.skippingdot.net where the author talks about zope, python, linux and .Net. It's not super-in-depth but boy is it in line with this thread. I also agree that a visual studio-like ide is untirely uneccsary for a good developer. It is more heavily needed by beginners than experts. There is no reason, either, that a beginner should need this either. It may take you longer to get productive without an automate-everything ide but you'll end up a far better developer for it. Python is not slow. Asad Quraishi Skye Object Systems Inc. Chen Fu wrote:
Hi!
I like zope for its pure OO framework. is it the only work among the CMSs take this design? If it is true, why not any other clone in java, c# or cpp?
I agree Python is a good language, but it faces many challenges also like relative slow speed, short of programmer(compare with java cpp) and short of elite programming environment (like MS visual studio).
Some articles explain why the zope can't port from CPython to JPython. But how about a rebuild in pure java/cpp/c#? is it possible and deserved?
This is only an crude idea for I have just several months experience in zope. Any argument is welcome :)
===== Remote Scensing Satellite Ground Station Chinese Academy of Science
_________________________________________________________ Do You Yahoo!? 美女们的秘密武器! http://yahoo.eachnet.com/fu/co/rd.php?http://pages.eachnet.com/st/page/women...
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
participants (5)
-
Andy McKay -
Asad Quraishi -
Chen Fu -
Dylan Reinhardt -
J Cameron Cooper