Python IDE

Started by
37 comments, last by CodeTitan 19 years, 6 months ago
Since I feel that there is no Python IDE out there that suits my needs, I want to write my own. However, since this will be the first IDE that I am writing, I have no idea where to begin. First: What programming language should I use? Java, C++, or Python itself? I am confident in my programming skills, so that is not a problem. I know C++ is faster in the end, but Java is faster development, as is Python. Second: I am confused whether I have to write my own interpreter for this. All Java IDE's that I've seen use the SDK; is it normal for me to use the Python parser? Third: What IDE should I borrow ideas from? I'm thinking Eclipse and MSVC. Are there any others? I would like to thank all those who answer these questions in advance. I intend on making this project open source, if that clears up any doubts [smile].
Advertisement
1) Given that Python itself is most accessible to... Python, that's probably a good language to consider using [smile]. C++ ties in nicely too. You should consider starting by adding features to IDLE. The Scintilla code editing component is also widely used.

2) You can easily embed the Python interpreter into your IDE, there definitely is no need to write your own (plus, you'd have to play catch-up with the language evolution).

3) IDLE? Komodo? Pythonwin? Visual Python (python add-on for VC.NET)? PyCrust? KDevelop? various 'programmer's text editor'?
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
In my experience an IDE does not have to be so fast that it absolutely needs to be written in c++.

edit: there's boa constructor which might be a good starting point for you.
I like Boa Constructor, especially as it helps you create wxPython GUI apps. However, I find it slow on my PC and the debugger *can* sometimes be unreliable. At least in my experience.
---------------------http://www.stodge.net
Thank you for your useful information. It is exactly the kind I need. According to your statements, I am leaning towards Java and/or Python, and will look at this Boa Constructor. Where could I find more on this Scintilla code editing component?

EDIT: I found that the Scintilla Code editing component is in C++. This is a considerable enough fact to make me deviate from my original choice of Java. Any ideas on this?
If you want to try Boa Constructor, download the CVS version, as it's more recent. I think you can only use the 2.4 tree of wxPython as well. The 2.5 tree doesn't work with Boa I think.
---------------------http://www.stodge.net
Quote:Original post by CodeTitan
What IDE should I borrow ideas from? I'm thinking Eclipse and MSVC.
What ideas would you borrow from MSVC? That one can type text and it appears on screen? ... My suggestion is that you look into IntelliJ IDEA, a Java IDE. (or should I say, *the* Java IDE)
IDEs are tied to the increasingly antiquated idea of code being text. Consider other methods of representing code, and see where that leads you.
Quote:Original post by Oluseyi
IDEs are tied to the increasingly antiquated idea of code being text. Consider other methods of representing code, and see where that leads you.
I think he wants to make something useful, not a toy.. Visual help is always a good thing and alternative views (like UML) to the code can be useful, but trying to get rid of text leads to no good.
Quote:Original post by Anonymous Poster
I think he wants to make something useful, not a toy...
IDEs are glorified, integrated text editors and makefiles. What you fail to see is that there is a never-ending progression towards easier to use technologies and lower barriers to entry.

Quote:Visual help is always a good thing and alternative views (like UML) to the code can be useful, but trying to get rid of text leads to no good.
Think flowcharts. That opens software development up to an even broader audience, because many people can deal with flowcharts who can't comprehend Python.

Of course, you're free to restrict your thinking and dismissively regard anything outside of your ken.

This topic is closed to new replies.

Advertisement