List Info

Thread: OT: IDE framework




OT: IDE framework
user name
2006-03-02 13:39:47
Hi,

I'm sorry if this posting seems off-topic, but I would
regret not to
have contacted you about this.

Recently I've posted the following mail on the wxPython
mailing list
some days ago. As the reponse was quite overwhelming, I have
since
then been contacting more people of the whole Python
community and
plan an announcement on comp.lang.python very soon.

I'm trying to bundle open source efforts concerning an IDE,
instead of
having a fragmentated landscape as it is now. For now the
team
includes eleven lead developpers of IDE's and tools, but
the list is
still growing:
- Detlev Offenbach (Eric3 IDE)
- Limodou (NewEdit IDE)
- Matt Freyer (ActiveGrid IDE)
- Daniel Pozmanter (drPython IDE)
- Edward K. Ream (Leo IDE)
- Fabio Zadrozny (pyDev IDE plugin for Eclipse)
- Nir Aides (WinPdb debugger)
- Rocky Bernstein (Extended Python Debugger)
- Jeroen Vloothuis (Gaphor UML plugin)
- Martin Chilvers (Enthought Envisage workbench)
- Myself, Stani (SPE IDE)
A lot of other people are also eager to contribute to this
project as
well and I've also contacted the developers of IDLE.

The first step as I see it is try to bring all active IDE
developpers
together. Each of us wrote a decent IDE, but we would be
blind if
there is not a lot of duplicated effort, which is in a way a
pitty.
(This will remain as well in the future.) Fortunately it
looks like
this step is succesfully almost completed

If we can work together it might speedup the process and
make an IDE
which is even better, as the one we wrote till now.

But in order to build a solid IDE framework, we need a good
framework
in the first place. As the philosophy behind the project is
not to
reinvent the wheel and to avoid duplicating efforts, we
would be blind
if a lot of research and development is already not done by
other
larger Python projects. Chandler is for sure one of them.
Also
Enthought and Activegrid have expressed their will to
participate on
such a project and to collaborate on a basic framework with
plugins.

Before I contacted Phillip J. Eby with the same message as I
heard
nice things about PEAK. In his reply he mentioned Chandler.
In his
comments about PyCon on this mailing list, I read:

> The Zope and Enthought folks have a
>  lot of interesting overlaps with Chandler's
requirements for a Python
>  plugin system, library builds, etc., and I spent a lot
of time laying the
>  groundwork for co-operation and uptake that will help
ensure that Chandler
>  is part of a bigger picture of software reusability in
the Python community.

I'm sure that every Python developper has features in mind
which he
would like to see in an IDE. Unfortunately the treshold for
adding
these features into an IDE is too high. It would be nice if
this could
change. Python could be for this IDE what lisp is for Emacs.
Java is
much ahead of us with Eclipse. We could show of what Python
and its
community is capable of.

I started a project page on berlios
(http://
developer.berlios.de/projects/pyxides/) and created a
mailing
list which should be active soon:
http
s://developer.berlios.de/mail/?group_id=6241
(pyxides-devlists.berlios.de) I will announce this weekend the
project and mailing list publicly.

Please let me know what you think. I'm open for every
suggestion. I
subscribed on this mailing list, so I'll read your answers
here. If
you consider this off-topic, you can post on the pyxides-dev
mailing
list or if you prefer, you can email me privately about
this.

I'm eager to hear for your answer...

Stani

Ps The thread starts here:
http://lists.wxwidgets.org/cgi-bin/ezmlm-cgi?11:iis:4
8072#b nr98
Please read the next messages as much as you can.

---------- Forwarded message ----------
From: SPE Stani's Python Editor <spe.stani.begmail.com>
Date: Feb 21, 2006 1:18 AM
Subject: Discussion: 2 many IDE's...donīt we want more?!
To: limodou <limodougmail.com>, Josiah Carlson
<jcarlsonuci.edu>,
Kevin Altis <altissemi-retired.com>, riaane.co.za,
kaworu
<goku1980libero.it>, Ed Leafe <edleafe.com>, Matt Fryer
<mfryeractivegrid.com>, drpythonbluebottle.com,
wxPython-userslists.wxwidgets.org


Dear IDE developpers and wxPython NG,

I hope this might provoke an productive discussion with a
happy end...

The Python wiki (http://wiki
.python.org/moin/PythonEditors) boasts a
nice list of editors of which quite some are written in
Python.

Choice is always good. If these were commercial projects,
one could
add: competition is always better, as we all know the
disadvantages of
a monopoly. But I doubt this is the best. Open Source could
be about
collaboration, putting all our brains together and produce a
mind
blowing IDE, in which we offer the user also choice but in a
different
way. Instead of having to choose between IDE's, the user
can select
the components he wants and tailor his IDE. Even if we could
converge
all existing wxPython IDEīs to one there is still plenty of
choice.
Some of the IDE projects might be not so active anymore, by
which a
lot of labour and knowledge can vanish. In general a good
project
might be too fragile if not a team is behind it. This might
seem no
problem as another new IDE might pop up, who goes through
the same
history again and likely will not go further as where others
were
already.

I started SPE because I needed a Python IDE which could run
inside
Blender and Gimp. Unfortunately no editor was able to do
that. I had a
little bit success by hacking their source code, but it
turned out to
be such a hassle, I started writing my own lightweight
editor, while
even learning Python and wxPython. During time SPE grew
bigger and
bigger, got more community and developers and it went much
further
than what I had in mind. Although this can be pleasing, it
does not
really satisfy me. Something absurd is happening. A lot of
users
request for example SVN integration. Why should I reinvent
the wheel
if already some editors support it? Of course I could dive
in their
code. That's not the point: even that is just simply a
waste of time
and effort. SPE also might have some features like uml,
realtime
updating sidebar without collapsing the explore tree or
realtime
syntax error highlighting, which are not in (most) other
open source
ide's. Why they should reinvent the wheel or dive in my
code?

Python has a very active community full of energy, but a lot
of it
could be even better used.

Purposes:
# fully cross-platform

Although this sounds evident, it is not obvious.

# build on good design pattern or Framework
Examples are:
- PEAK
- Envisage (Enthought)
- PlugBoard
- Dabo
- MVP
- MVC (ActiveGrid)
- ...
At least the UI code should be separated from the inner
working, so
that ports to the various UI toolkits may be possible.

The code should be as much reusable as possible by creating
api libraries
(not locking all code up in framework).

# minimal core + extensible with plugins

The core should be 100% stable, require only Python
(preferably older
versions should work as well) and the UI toolkit (wxPython,
Tkinter,
curses, ...), not memory or cpu consuming. Users can choose
themselves
to (b)load it with plugins. This should be as user friendly
as
possible.

I think it would be nice if there could be even a very
minimal toolkit
which might be the base of an Python AJAX editor or who
knows what
could be possible when Firefox 1.9
(http://wiki.mozilla.org/Roadmap_Scratchpad#Python_for_X
UL) starts
supporting Python.

The plugins could range from some small code snippets to
count words
to more advanced features, such as (eg from my own
experience):
- uml view
- documentation view
- pychecker/pylint/pyflakes
- pylint code validation
- CVS/SVN integration
- todo lists
- syntax error highlighting
- web framework support
- TaskCoach plug-in
- debugger (eg seamless integration with WinPdb and/or
others...)
- etc...

Extensions should be easy to install or uninstall for an end
user like
in Firefox. Installation over the internet might be
considered using
the egg technology.

# user = developper

The advantage of an IDE is that its users might turn into
developers.
The blurring of this border should be encouraged as much as
possible.
There could be a simplified framework to develop plugins.

So what is this email about? In my ideal scenario I would
like if all
the IDE developers would gather together and discuss how we
could define our extensible framework and what is the core.
Then we
could start developing a new IDE with a new name. (If
everyone agrees
to use an existing IDE as a starting point, that is also
fine.) As we
all have the know how it should go quite fast and even other
experienced wxPython programmers could speed it up, although
in such
collaboration quality of code should be more important than
speed. In
a worst case scenario I am even prepared to team up with the
only one
other wxPython IDE developper (I know that dabo is a
framework, but
please let me simplify) who thinks that this makes sense.
But ideally
we would have a team in which during time some people enter
and leave
but with a stable core.

The IDE could be tailored to different
users:from newbies, students to experienced developers.

Iīm curious for feedback of the whole mailing list,  So
whoever wants
to reply on this email: please donīt start a discussion
about which
IDE is the best, etc... Or not about which features should
be core or
plugins. I just gave examples, not a holy list. Letīs please
use all
our efforts to put a team together for the next generation
IDE...

(But I especially want the IDE developers to step forward,
so these
last words are especially for them. As if no one of them
reacts, this
proposal doesn't make sense.)

IDE developers, please say what you think. Why you would or
would not
participate? And if it is a matter of not having time,
please share
your knowledge. It is too precious to let it die. Of course
there will
be a need of active developers. Say first if you are
interested or
not. Think of the possibilities, it will be for sure more as
you could
do alone. It would be a pity if this discussion would
immediately
begin with a fight with which editor should be taken as a
starting
point. I would be happy to leave SPE aside if I can fuel my
experience
and some new ideas into a new project, which doesn't belong
to me, but
to an enthusiastic team.

So I am in, who is next?

Stani

PS If you are not an IDE developer but would want to code,
work on the
website, documentation, artwork, etc... Please step forward
as well.
For those who are on PyCon, spread the word.

--
http://pythonide.stani.be
http://pythonid
e.stani.be/screenshots
htt
p://pythonide.stani.be/manual/html/manual.html
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev"
mailing list
h
ttp://lists.osafoundation.org/mailman/listinfo/dev
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )