[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