i am going to get crazy!!!

A

andresm

I cant believe there is no single decent open source for python, all
them miss some of the most core features an ide should have, i just
cant believe this!!! I have been looking for a decent ide for one
weak, i have tried all of them, all. the only kick ass one is ipython,
but thats a shell that shows how an ide should be.

I come from a java background using eclipse, netbeans,intellij,etc
and i realy liked to learn python =( , java sucks for tons of reasons,
but i dont now what to do the most important feature of an ide is
syntax coloring and "full code completion suport".

For example if i am learning how to use the sys module in my code and
while i am writing like :

sys .

A list should appear showing me all the attributes of the module or
class : variables,locals,globals,builtins,etc and when i focus on one
item for example " setprofile " method the documentation of the method
should appear in another popup , that way i can learn the libraries
fast and in an interactive way. Is all i want in an ide ALL IDES have
this. Why python ones dont ? in spe you get everything that is in the
namespace,not just the object before the dot triger,same in eric3, in
komodo you get just the functions, no docs.

Whats wrong with my common sense? all ides for php,java,c have this
feature , is all i want to be able to program fast =( .

But i have to alt-tab to konsole to the ipython shell, type help(sys)
, find the doc and info i need and go back to the editor again, is
like 20 seconds comparing to 1 with code completion suport.

How do you guys program without a feature like this? that is the only
reason i need an ide, how do you remember all the methods names,
parameters , attributes , classes, behavior while coding with an ide
not suporting this tools? i wont memorize all of them =( is
contraproducent if a tool can help, not to mention when learing new
libraries, memorize again? or take 10 seconds every time you dont
remember something to take the time to look into it? What should i
do? T_T
 
P

Paul Metzger

andresm said:
I cant believe there is no single decent open source for python, all
them miss some of the most core features an ide should have, i just
cant believe this!!! I have been looking for a decent ide for one
weak, i have tried all of them, all. the only kick ass one is ipython,
but thats a shell that shows how an ide should be.
Have you tried wxglade? It's pretty good, Not all that, but pretty good.
I come from a java background using eclipse, netbeans,intellij,etc
and i realy liked to learn python =( , java sucks for tons of reasons,
but i dont now what to do the most important feature of an ide is
syntax coloring and "full code completion suport".
As far as the syntax coloring goes, use vim. It's the best text editor
on the open source/gnu/gpl market IMNSHO and it's rather intuitive. As
far as the full code completion goes, the M$ .net studio killed me from
ever wanting to see another ide that does that. While it's useful(and I
think wxglade has a option for it) Personally I prefer to do most of
everything in vi:) but I am a command line junkie also.
For example if i am learning how to use the sys module in my code and
while i am writing like :

sys .

A list should appear showing me all the attributes of the module or
class : variables,locals,globals,builtins,etc and when i focus on one
item for example " setprofile " method the documentation of the method
should appear in another popup , that way i can learn the libraries
fast and in an interactive way. Is all i want in an ide ALL IDES have
this. Why python ones dont ? in spe you get everything that is in the
namespace,not just the object before the dot triger,same in eric3, in
komodo you get just the functions, no docs.

Whats wrong with my common sense? all ides for php,java,c have this
feature , is all i want to be able to program fast =( .
Python is quick in and of it's self. esp when you get into the functions
and make it pull in thoes functions...


Paul
 
C

Carlos Ribeiro

I cant believe there is no single decent open source for python, all
them miss some of the most core features an ide should have, i just
cant believe this!!! I have been looking for a decent ide for one
weak, i have tried all of them, all. the only kick ass one is ipython,
but thats a shell that shows how an ide should be.

If you look at it, I've been discussing IDEs in this forum over the
past few days. I have probably heard every possible tip regarding all
alternatives available, many on list, and several others off list.
I'll tell you what I have found so far.

-- There are two classes of developers: those who like IDEs and those
who doesn't. The latter camp includes people that swear by Emacs, VIM,
and stuff like that. I don't mean to sound badly, but such people
don't get what's the fuss about a good IDE. They come from another
background, and normally write another type of software, one that
doesn't need such "fancy" gadgetry to work. Don't try to argue with
them -- there's no right and wrong here, just different styles at
work.

-- If you listen to the IDE camp only, then you can still separate a
few groups.

1) If all that you need is a good editor with syntax coloring and a
few Python niceties, then you have several options -- free and
commercial. All Scintilla-based editors offer at least some basic
functionality. Light IDEs like PythonWin and DrPython offer automatic
code completion, block indent/outdent, and quick access to the
documentation. Good text editors such as EditPlus are also useful,
albeit less featured in their support for Python.

2) Some people understand IDEs as full fledged, highly flexible
programming environments. In this camp you can evaluate ActiveState's
Komodo and Boa Constructor. Komodo is a high quality commercial
product; Boa is free, well structured, still incomplete at parts, but
it works fairly well. I would like to point you to Wing IDE, but I
could not run the beta version that I've installed. Your mileage may
vary.

3) There are a few non-integrated design tools that provide parts of
what you expect from a good IDE. wxGlade is one such example -- it's a
GUI builder for wxPython that can be used together with other tools,
such as SPE - Stan's Python Editor, or any other light IDE I've
mentioned on item (1).

4) PythonCard is slightly different in that it's based on Hypercard.
It's a IDE in some senses, but it's simpler than Boa, and uses a
slightly different paradigm.

For now, it's late, and I really have to sleep now :) I hope to have
helped. Feel free to drop me a line if you're still in need of help.


--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: (e-mail address removed)
mail: (e-mail address removed)
 
I

Ian J Cottee

Carlos said:
-- There are two classes of developers: those who like IDEs and those
who doesn't. The latter camp includes people that swear by Emacs, VIM,
and stuff like that. I don't mean to sound badly, but such people
don't get what's the fuss about a good IDE. They come from another
background, and normally write another type of software, one that
doesn't need such "fancy" gadgetry to work. Don't try to argue with
them -- there's no right and wrong here, just different styles at
work.

Must resist religious wars. Must resist religious wars BUT :) ... Emacs
*is* an IDE. More integrated than many others. And to be fair VIM is an
IDE.

If, within emacs I can get syntax hilighting, code completion, block
indent/outdent, debugging, project management, code folding I would call
that an IDE. And I have the same functions if I then need to edit some
SQL, Javascript, ZPT etc. And when I want to play with Lisp in my spare
time I can use the same environment. It's that flexibility that I like.

It isn't perfect though. Hence why I have been searching for something
better as well. Maybe the future is Eclipse. Maybe the future is
Emacs++. We shall see and I will continue to evaluate :)

Ian
 
S

Steven Bethard

Cliff Wells said:
I don't know if this is any good, but since you like Eclipse:

http://sourceforge.net/projects/pyeclipse/

Actually, if you like Eclipse, I'd suggest pydev:

http://pydev.sourceforge.net/

It's actually still updated from time to time (last in July of this year), and
I've played around with it a little back when I had to write in Java (ugh!)
and it did integrate pretty well with Eclipse. If I remember right though, it
doesn't use the code-completion that all the wxPython based apps do...

Steve
 
E

Elbert Lev

I cant believe there is no single decent open source for python, all
them miss some of the most core features an ide should have, i just
cant believe this!!! I have been looking for a decent ide for one
weak, i have tried all of them, all. the only kick ass one is ipython,
but thats a shell that shows how an ide should be.

I come from a java background using eclipse, netbeans,intellij,etc
and i realy liked to learn python =( , java sucks for tons of reasons,
but i dont now what to do the most important feature of an ide is
syntax coloring and "full code completion suport".

For example if i am learning how to use the sys module in my code and
while i am writing like :

sys .

A list should appear showing me all the attributes of the module or
class : variables,locals,globals,builtins,etc and when i focus on one
item for example " setprofile " method the documentation of the method
should appear in another popup , that way i can learn the libraries
fast and in an interactive way. Is all i want in an ide ALL IDES have
this. Why python ones dont ? in spe you get everything that is in the
namespace,not just the object before the dot triger,same in eric3, in
komodo you get just the functions, no docs.

Whats wrong with my common sense? all ides for php,java,c have this
feature , is all i want to be able to program fast =( .

But i have to alt-tab to konsole to the ipython shell, type help(sys)
, find the doc and info i need and go back to the editor again, is
like 20 seconds comparing to 1 with code completion suport.

How do you guys program without a feature like this? that is the only
reason i need an ide, how do you remember all the methods names,
parameters , attributes , classes, behavior while coding with an ide
not suporting this tools? i wont memorize all of them =( is
contraproducent if a tool can help, not to mention when learing new
libraries, memorize again? or take 10 seconds every time you dont
remember something to take the time to look into it? What should i
do? T_T

I agree with you. I find myself jumping from TextPad or vim to
PythonWin, because TextPad does not have help/autocompletion, but is
fast (not so vim or emax). PythonWin is slow but has a debugger and a
sort of semyfunctional help/autocompletion.

SPE looks good, but lacks debugger and project/workspace management.
In short: none of this tools does not come close to Visual C IDE.
 
X

Xavier Noria

I agree with you. I find myself jumping from TextPad or vim to
PythonWin, because TextPad does not have help/autocompletion, but is
fast (not so vim or emax). PythonWin is slow but has a debugger and a
sort of semyfunctional help/autocompletion.

Just being curious, what kind of autocompletion do you guys expect for
a dynamic language? Some people have mentioned Java IDEs talking about
this feature, but since there is no place in the source that says that
in

name = user.name

User.name() returns a string, after that line name.<ctrl-spc> cannot
complete for string attributes, it just doesn't know name is expected
to be a string. The method theoretically could return objects of
different types depending on something, indeed.

There are partial solutions that use a substring approach, but none
type-aware that I know (for instance Emacs has C-M-/ that is really
helpful in practice, the Perl plugin for Eclipse does some completion
as well).

Am I missing some sophisticated code analysis that allows conventional
code-completion?

-- fxn
 
D

Daniel Dittmar

Xavier said:
Am I missing some sophisticated code analysis that allows conventional
code-completion?

I think Wing IDE tries that approach, at least according to some posts
in similar threads. It won't be perfect. I haven't tried it so I don't
know if it's helpful because it works half of the time. Or annoying,
because it beeps half of the time.

Daniel
 
P

Peter Hansen

Carlos said:
-- There are two classes of developers: those who like IDEs and those
who doesn't. The latter camp includes people that swear by Emacs, VIM,
and stuff like that. I don't mean to sound badly, but such people
don't get what's the fuss about a good IDE. They come from another
background, and normally write another type of software, one that
doesn't need such "fancy" gadgetry to work. Don't try to argue with
them -- there's no right and wrong here, just different styles at
work.

Carlos, you're right that different styles are involved, and this
could be considered yet another "religious" matter, but don't make
the mistake of assuming those of us who prefer no IDE "come from
another background" or "don't get the fuss". I suspect many or
most of us have used very fancy GUI IDE tools *extensively*, but
have after long years and for various reasons rejected them in
favour of simpler or lighter weight approaches.

-Peter
 
C

Carlos Ribeiro

Must resist religious wars. Must resist religious wars BUT :) ... Emacs
*is* an IDE. More integrated than many others. And to be fair VIM is an
IDE.

Ian, I sincerely don't want to spawn a religious war. That's why I
made my point clear: there are two types (classes?) of developers, and
there's nothing wrong with it -- it's just a matter of choice,
dictated to a great extent by their particular needs.

Now, while *great* for what it's proposed to do, Emacs is not an IDE,
in the sense that people that actually use IDEs mean. It's an editor
(and a powerful one at this), but it's not an IDE. What *I* (and
other IDE-lovers) mean when mentioning IDE is a different type of
software.

A true IDE is a one-stop-shop. There you do everything a programmer
need: write code, debug, manage source code files, read help, and even
write the documentation. Of course, you can do several tasks such as
the ones mentioned above from within Emacs, so what's the difference?
In an IDE, each and every tool are an integrated part of the design,
and they do work seamlessly together. It's not the same thing as to
use an editor to fire up an external compiler or debugger. Believe me:
for those who are used to it, *its not the same thing*. Another trait
of good IDEs is the visual component. Most of the things mentioned
above are easily accessible, making management of big projects
somewhat easier.

However, I *have* to point out something that I just realized after
debating the whole IDE issue over the past few days. One of the things
that many IDE-type programmers miss is not the IDE itself... but a
common framework to develop new applications. Good IDEs go a step
beyond code editing, and are very well integrated with a framework for
application development. They will automatically generate much of the
code that is needed to start the design of a new application. Many
business programmers love this stuff, as it frees them from thinking
about event loops, message handling, etc -- and allows them to focus
on the form design and business logic (that's whats business
programming is really about).

For Python, the only such examples that I've seen so far are Boa and
PythonCard. Both offer a good framework to start with. Boa writes most
of the code that is needed to start a new wxPython for you, so you
don't have to bother writing it -- you can concentrate on the problem
at hand. But both Boa and PythonCard are still work in progress. Boa
is almost there, though; and I sincerely hope the best for Riaan [1],
because he's doing fine.

--
[1] For those who don't know him, Boa's author.

--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: (e-mail address removed)
mail: (e-mail address removed)
 
C

Carlos Ribeiro

Carlos, you're right that different styles are involved, and this
could be considered yet another "religious" matter, but don't make
the mistake of assuming those of us who prefer no IDE "come from
another background" or "don't get the fuss". I suspect many or
most of us have used very fancy GUI IDE tools *extensively*, but
have after long years and for various reasons rejected them in
favour of simpler or lighter weight approaches.

I'm really sorry if I you (or anybody else) read it this way. I never
meant to say that people that don't like "fancy GUI IDEs" had not
knowledge about them. In fact, some of the best programmers all around
don't like IDEs, and it must tell us something about it :) But there
are lots of valid reasons to choose one or other type of tool.
Personal choice is one of them, and I think that it may be one of the
most important things to be considered here. But I still think that
the type of programming work at hand is essential to understand why an
RAD-style IDE is so important to some people.

I've commented a few minutes ago that one of the problems, in the
particular case of Python IDEs, is not with the IDE itself, but the
lack of a simple framework for application development. This framework
is integrated in every top commercial IDE available -- be it Delphi,
VB, Visual Studio, whatever. Of all Python IDEs, only Boa and
PythonCard come close to such offering, but fall short on several
fronts; for example, the lack of database editing controls is one such
a problem.

Why is it so important, you may ask? I may be over generalizing again,
so take it as my own personal opinion and with a large grain of salt.
Business programmers don't like to have to worry about event loops,
message handling, database marshalling, initialization or finalization
code. They want to design forms, glue them together, add a few
business rules, and have an application running as quickly as
possible. That's has nothing to do with skill or technical competence.
It's just the way it is -- when you're paid relatively low wages to
finish a lot of small programs, you're better of making the most of
your time. And writing code by hand to tie the database to the text
editing control is not going to help much in this regard.

--
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: (e-mail address removed)
mail: (e-mail address removed)
 
I

Ian J Cottee

Carlos said:
Ian, I sincerely don't want to spawn a religious war. That's why I
made my point clear: there are two types (classes?) of developers, and
there's nothing wrong with it -- it's just a matter of choice,
dictated to a great extent by their particular needs.

Well - I did put a smiley in but ... awwwww. What'a a little religious
war between friends? ;-).
Now, while *great* for what it's proposed to do, Emacs is not an IDE,
in the sense that people that actually use IDEs mean. It's an editor
(and a powerful one at this), but it's not an IDE. What *I* (and
other IDE-lovers) mean when mentioning IDE is a different type of
software.

I think my problem with your comments is you think the world is split
between those who 'get' IDEs and those who don't. I think the first IDE
I ever used was Think C on the Mac. Since then I've used quite a few -
the most commonly known was Delphi which fulfilled most of your criteria
from below. For full integration I'll shudder at the memories of VB and
Access.

Now, I was going to comment on the remaining points you made but I'll
start sounding religious again. ;-). Honestly, I understand what you are
after (well, I believe I do) - it's probably similar to what I am after
as well. I haven't found it and therefore use Emacs.

Somebody else commented a few weeks back that they'd thrown away all
their fancy tools and gone back to just using Scintilla and were more
productive for it. I think I can understand that. Sometimes I spend so
much time modifying modes and tweaking settings that productivity
slumps. I should stop my quest and get on with some work.

Ian

PS You have a very well written blog. I'm enjoying reading it.

PPS For the record, I use wxDesigner for wxPython form design.
http://www.roebling.de/. It's commercial but cheap.
 
A

andresm

Steven Bethard said:
Actually, if you like Eclipse, I'd suggest pydev:

http://pydev.sourceforge.net/

It's actually still updated from time to time (last in July of this year), and
I've played around with it a little back when I had to write in Java (ugh!)
and it did integrate pretty well with Eclipse. If I remember right though, it
doesn't use the code-completion that all the wxPython based apps do...

Steve


Sorry for my bad english =( i am from bolivia plus i
havent sleeped at all last night plus i am kind of
disapointed.

I am not interested in gui design in particular,
the only thing i want in an ide is that it have full
code completion like i tried to describe with that
mess of words =P i will try to refactor:
-------------------------------- case 1 ----------------------------
if i am learning how to use the sys
module in my code,then i type:

sys .

A list should appear showing me all the
attributes of the module or
class : variables,locals,globals,builtins,etc.

like typing dir(sys) or sys.__dict__

when i focus on one
item in the list of attributes , for example "
setprofile " method of the sys module, the
documentation of the method should appear in another
popup
----------------------------------- case 2----------------------------

I dont have an ide that suports this feature , so i have
to press alt+tab to go to the shell ( ipython is spectacular)
type help(sys) , look for the member i want, in this case the
set profile builtin function , or i type help(sys.setprofile) or
i type sys. +tab and i python ' shows me all the members of'
sys modules, Then i have to go back to editor and keep
writing
------------------------------------ conclusion
------------------------
with an ide i can scan object's behavior and their members's
doc in 1.5 seconds while not changing the enviroment , in situa
tion 2 i can do exactly the same, just that it takes 5 to 10 sec
which is way to much time for an operation i do so so frecuently
This is an example of how an ide makes a huge diference . This
is the only feature i want in an ide, it saves tons of time
------------------------------------------------------------------------------------------------

If you still havent tried a ' powerfull ide' please try downloading
netbeans and coding a simple class :
http://www.netbeans.org/downloads/index.html

I have tried a number of python ides, and eclipse-plugins for
python, all the eclipse plugins are abandoned or are just text
editors with sintax highlinting , none of the ides i tried fully
suport
full code completion dot-trigered with docstring thing, i have tried:

Pycrust or py, komodo , wingide , kate , spe , boa ,idle, drpython,
eric3 , blackader , scite , etc and no luck. Komodo is 100% the best
but it still lacks a litle and it totaly SUCKS for linux , and is
beautifull
for windows.

I am sure most people have used this kind of code
completion - help system since it is part of many
ides, like netbeans, eclipse , zend studio , jcreator
, sharp develop , .net , etc.


But the question again, how do you remember all
methods,attributes,parameters , builtins , etc without
code completion-calltip-auto doc help of any modern
ide? except python ones =(

Are you in case 1 ? cause is too time consuming
 
D

Daniel Dittmar

andresm said:
with an ide i can scan object's behavior and their members's
doc in 1.5 seconds while not changing the enviroment , in situa
tion 2 i can do exactly the same, just that it takes 5 to 10 sec
which is way to much time for an operation i do so so frecuently
This is an example of how an ide makes a huge diference . This
is the only feature i want in an ide, it saves tons of time

As someone else wrote in this thread:
- Python is dynamically typed
- thus, the types of most expressions can't be inferred by an ide
- when the type of an expression is unknown, no useful code completition
is possible
- modules are an exception, but having code completition on the re
module doesn't help that much as most of the time you'll deal with
objects out of that module like re objects and match objects
- at least one company provides a commercial IDE (Wing IDE) which claims
to support auto completition by sophisticated data flow analysis. How
well it works probably depends on your programming style

Daniel
 
P

Paul McNett

Carlos said:
However, I *have* to point out something that I just realized
after debating the whole IDE issue over the past few days.
One of the things that many IDE-type programmers miss is not
the IDE itself... but a common framework to develop new
applications. Good IDEs go a step beyond code editing, and
are very well integrated with a framework for application
development. They will automatically generate much of the
code that is needed to start the design of a new application.
Many business programmers love this stuff, as it frees them
from thinking about event loops, message handling, etc -- and
allows them to focus on the form design and business logic
(that's whats business programming is really about).

Carlos, I've been reluctant to post anything because all I have
to offer is vaporware at the moment, but everything you have
said you want, we want too, and plan on putting into our
product, "Dabo", which we hope to have a 1.0 of by year-end
2005. That may be too ambitious, but if you ignore the fact
that there is no IDE and no report writer yet, it is already
quite capable.

http://dabodev.com

3-tier business app development framework and IDE.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top