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 -- http://mail.python.org/mailman/listinfo/python-list