[EVALUATION] - E01: The Java Failure - May Python Helps?

Ilias Lazaridis ilias at lazaridis.com
Sat Feb 5 09:44:11 EST 2005


Jeremy Bowers wrote:
> On Thu, 03 Feb 2005 09:26:08 +0200, Ilias Lazaridis wrote:
> 
>> My question is essentially:
>> 
>> How many of those constructs are already supported by python (and 
>> the surrounding open-source-projects):
>> 
>> http://lazaridis.com/case/stack/index.html
> 
> This post is hard to follow, but I'm going to assume this is the core
>  question, as it is labelled as such.

ok

Thank you for your thorought comments.

> The first thing that leaps to mind is that you need to play with 
> Python for a bit to get a full analysis of it. Due to the nature of 
> Python, some of the things you have in that list don't really apply.
> 
> 
> The most obvious example of this is "code generation": Assuming you 
> mean
[...]

I want to generate things (code, txt, html etc.) out of my object-model,
  whilst using with a flexible generator, if possible a standard one.

Does such generator exist?

[...]
> "Use of metadata within the design (on text level [code file])" can 
> mean a thousand things. For what it's worth, Python tends to make it 
> so easy I do it all the time, but for any given way you mean it, I 
> can't promise there exists a pre-rolled framework for you.

I want to add metadata to everything within my design (functions, data,
classes, ...), if possible with a standard way.

Does such metadata-functionality (build-in, add-on-library, framework) 
exist for python?

> So I can only speak generally. Given your list, you may find that 
> Python is weak in the "graphical programming" department; 
> drop-and-drop GUI generation isn't as well-tuned as VB. (I, for one, 
> consider that development methodology toxic and actively dangerous, 
> but I can understand why you miss it.)

I prefere generic GUI's.

But sometimes there is a need for simple predefined GUI's.

Thus: I want to create GUI's in an generic way, and/or in an standard
way (via GUI editor).

> Skipping down to your evaluation sequence:

http://lazaridis.com/case/stack/index.html#evaluation

> * Create a class: Well, I'll show you this one:
> 
> class Something: pass
> 
> There, a class.

ok
-

you've missed:

"declare this class as persistent"

> * Simple GUI: You may wish to check out Boa Constructor, as the 
> closest thing to the GUI generator you probably want. There are at 
> least 3 major viable GUI toolkits for Python and several other minor 
> (but still capable) ones.

=> {GUI Generator: Boa Constructor}

> * Embedded DBs: I don't know, Google for your embedded DB name + 
> Python. Failing that, there are several ways to wrap your embedded DB
>  such that a Python program can use it.

ok

Clarification: standard way to save python objects into an embedded db 
(in conjunction wiht "declare this class as persistent")

> * Web GUI: There are more Python web frameworks than you can shake a 
> stick at, and I don't mean "some guys hacked together templating 
> system" either; there are a lot of very mature systems out there, 
> expressing a lot of different philosophies. Given some of your other 
> requirements, for a web-based application I'd recommend examining 
> Zope.

ok.

Can please someone name some of them?

[they should work together with simple python classes and the standard 
metadata]

> * Deployment: I don't generally have enough problems with this to be 
> worth thinking about. I don't know what the state of the remote 
> debugging is on Python; Google "remote debugging Python".

[I like to avoid interaction with google.]



> * For your "complex updates", I see two distinct things there; half 
> of the depend on the database, not Python.

It depends on how my python-build system binds to the underlaying database.

> For the other half, it depends on if you mean "while the program is
> still running". If so, they are challenging. If not, they are
> trivial.

You are right.

New Requirements:

a) While the programm in shutted down.
b) While the programm in still running.

> * I'd recommend adding "testability" to your stack, and refer you to 
> the "unittest" module; others can suggest their preferred testing 
> modules, but I tend to stick with that as the general framework is 
> available in a lot of languages that I use. If by evolutive 
> development you are including the ideas behind "agile software 
> development" (hard to tell if you mean that, or a community open to 
> change*)

I don't know "agile software development", thus I cannot answer you.

I'll think about to add "testability" to the stack.

> Based on what I see here, I have two basic comments. First, yes, 
[...]
>  have, that even if it isn't perfect it's a helluva lot better than 
> Java!

I've not evaluated Java.

Just it's communities.

Thus I can "dive" immediately & fully into python, without any philosoph 
switch (if i select python finally).

> *: Community open to change: One caveat, from what I've seen when 
> other people talk about this. The Python community is open to change,
>  but it is still a meritocracy, and you will still need to convince 
> others your change is good. 
[...] - (standard library etc.)

I understand.

-

A rational change suggestion does not need time to be accepted.

Just rational decision takers (e.g. community).

.

-- 
http://lazaridis.com



More information about the Python-list mailing list