[Tutor] Better (free) IDEs than IDLE for Linux ?
Aztech Guy
aztech1200@yahoo.com
Mon Dec 23 11:23:03 2002
--0-210206220-1040660530=:20322
Content-Type: text/plain; charset=us-ascii
I'm replying to this thread after a long time.
Thanks, to all (Alan, Derrick, Kevin, etc.) who responded. I learnt a lot of things from your posts (I read all of them, I think).
(Also, sorry for the rather long mail below).
Alan (and any others who have an opinion on what I say below), I just wanted to clarify a few points regarding your post below (and regarding a later one, where you asked - what does an IDE offer that UNIX (with vim/emacs/ctags/etc.) does not.
To address that last point (above) first - surely one thing an IDE offers (which the UNIX tools combination does not) - is graphical construction of the GUI - by drag and drop, setting widget properties, etc. - a la VB / Delphi / etc. ? Now, whether people consider that an advantage or not is another thing I'm interested in. As I said, I've done only a little GUI development (on either platform, Win or Lin). Done a very little bit of Win/C/SDK type development which is similar to the UNIX approach that you describe, i.e. just a text editor - both to write the code and to create resource files, then compile/edit/test/debug - both the logical errors and for GUI problems such as wrong size/placement of widgets etc. I think people would agree that this is a tedious and error-prone approach to getting the GUI just right. Also done a little in VB / Delphi as said earlier. But, I don't think its necessary to do a lot to realize the fact stated above - that visual GUI construction can't be done without an IDE or a GUI builder of some sort - (I used the term IDE since the products I've used on Win combined the editing/compiling/debugging features with the UI builder part, all in one product. I am aware, though, that they can be separate - I believe Glade is something on those lines - where it's mainly a GUI builder and can generate XML and/or C/C++ code (not sure of my facts here - caveat reader), but doesn't have editing/compiling/debugging support).
I am, however, interested in knowing what others think - those who done UI development (speaking both generally, about any language/toolkit combination, and specifically about Python-based GUI development) - i.e. whether they think it's "better" (that word again - maybe I should say - "they prefer") to design the UI purely via code (i.e. not using a GUI builder), then compile/run/see how it looks/if not ok, then modify the code - for changing the appearance) - or whether they find it preferable to use a GUI builder to interactively and visually prototype and finalize the GUI part, then plug in code to handle events, etc. I ask this, not to disparage anyone, but because I really want to know - what people who have more GUI experience prefer; realizing, of course, that my prefs. might differ.
A few final points :
I do have a good amount of UNIX dev. experience, all of it with the approach you describe below - vim et al - (with some limitations, see below) though it was mainly vi, not vim (earlier, on UNIX, not Linux). So I know what you are talking about - at least to some extent. For e.g., I'm fairly proficient with vi, and know about commands like cw, C, D, map, abbr, the colon commands (last line mode) like :w, :s, :n,ms/old/newpat/, :!, , even !! cmd to filter a range of lines thru the filter called "cmd", and it output of cmd replaces those lines in the vi buffer, shelling out of vi, even multiple levels, etc. Also with cc/gcc, make, ld, nm, sed, awk, grep, egrep, and the rest of the familiar UNIX command-line tools for general users as well as for s/w developers.
So I agree with a lot of what you say below. But, I also have some points to make.
The rest of them are inline with your words below, marked with [Az].
alan.gauld@bt.com wrote:> Which other (free) IDE's / enhanced Py interpreters do you like better the > standard Python interpreter and IDLE - for Linux ? The best development environment for Linux(or any Unix) is Linux itself.Linux is a complete and fully integrated development environment, it just doesn't look like a Windows IDE thats all. Using vim and the :! command and a couple of xterm sessions may not look like an IDE but the fact that they all talk to one another and use a common language - text - means it is. And once you get used to it its more effective than any Visual Basic type IDE can ever hope to be. If you want more pampering use emacs(with python mode on) and geta whole bunch of other goodies too, including integration with RCS/CVSand grep etc.[Az] As said above, I have used RCS/grep/make etc.I don't want pampering - or, rather, I do :) - which is why I like the UNIX dev. env. myself - and have been known to evangelize it, like you. I agree that its the one of the best s/w dev. envs. I've worked on. > I am using PythonWin on Windows, is good enough for me at present. [Az] I think I didn't word some of my statements precisely enough - possibly this caused you to interpret them differently from what I meant - I've found that this does happen at times when using email.
Case in point - my statement above - by "good enough for me", I did not mean to imply that nothing else is needed, or that the UNIX approach is bad (obviously) - I simply meant that for my present needs, as a relative beginner in GUI development, I hadn't yet found the need for anything more powerful or featureful. If you like the pythonwin editor you can get Scite for Linux - its the same editor but without the debugger etc. > Both non-GUI enhanced interpreters - of which I think IPython is one - and > proper GUI IDE's are of interest. What exactly do you expect to gain using one of these "proper" IDEs over a multi window setup in native Linux? [Az] Another miswording by me - by "proper GUI IDE" I didn't mean to imply - if that's what you thought - since you quoted the word proper - that anything like a non-GUI-IDE is "improper" or whatever. Proper was used in the sense of "actual GUI tool" - i.e. the tool itself is a GUI app, and allows you to build GUI apps, as opposed to the command line + vi approach to building GUI apps. I was actually more interested in the GUI builder component of the IDE - for the reason given at the top of this mail - i.e. visual building and refining of my app's GUI - rather than the editing/compiling/debugging support - I don't need an IDE for that - can manage quite well with vi and friends. Finally, as I said, I am not trying to criticize or start a flame war - was just asking questions with a view to learning. Let me also say that, despite my UNIX experience, I learned some things from your post - such as the stuff about stepping thru the lines found by grep (in *vim* as well as emacs - was vaguely aware that emacs is considered more powerful than vi (not vim, perhaps)) by many - due to eLisp and other reasons), but had never learnt it as vi was adequate for my needs - my approach for the grep would be to run the grep either from vi or from a shell (with filename and line number options enabled -l and -n), then redirect the output to a file, either my own current file or a new file, edit that file, and use the filenames and line numbers to go edit those places in those files and do whatever changes were needed. (If you can type quite fast, as I can, this works reasonably well). But the ability of vim that you describe is easier - since, even for a fast typist, less need to type (to get to each filename and line number in that file) means faster development, and also less chance of typing errors). I had not updated myself with vim's features as opposed to traditional UNIX vi, hence didn't know that it could do all that. I guess it's a reminder of the need to constantly - or frequently - get back to the never-ending job of keeping oneself updated about new things - and also one of the benefits of mailing lists. Thanks.Az.
Alan g.
Author of the 'Learning to Program' web site
http://www.freenetpages.co.uk/hp/alan.gauld
---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
--0-210206220-1040660530=:20322
Content-Type: text/html; charset=us-ascii
<P>I'm replying to this thread after a long time.
<P>Thanks, to all (Alan, Derrick, Kevin, etc.) who responded. I learnt a lot of things from your posts (I read all of them, I think).
<P>(Also, sorry for the rather long mail below).
<P>Alan (and any others who have an opinion on what I say below), I just wanted to clarify a few points regarding your post below (and regarding a later one, where you asked - what does an IDE offer that UNIX (with vim/emacs/ctags/etc.) does not.
<P>To address that last point (above) first - surely one thing an IDE offers (which the UNIX tools combination does not) - is graphical construction of the GUI - by drag and drop, setting widget properties, etc. - a la VB / Delphi / etc. ? Now, whether people consider that an advantage or not is another thing I'm interested in. As I said, I've done only a little GUI development (on either platform, Win or Lin). Done a very little bit of Win/C/SDK type development which is similar to the UNIX approach that you describe, i.e. just a text editor - both to write the code and to create resource files, then compile/edit/test/debug - both the logical errors and for GUI problems such as wrong size/placement of widgets etc. I think people would agree that this is a tedious and error-prone approach to getting the GUI just right. Also done a little in VB / Delphi as said earlier. But, I don't think its necessary to do a lot to realize the fact stated above - that visual GUI construction can't be done without an IDE or a GUI builder of some sort - (I used the term IDE since the products I've used on Win combined the editing/compiling/debugging features with the UI builder part, all in one product. I am aware, though, that they can be separate - I believe Glade is something on those lines - where it's mainly a GUI builder and can generate XML and/or C/C++ code (not sure of my facts here - caveat reader), but doesn't have editing/compiling/debugging support).
<P>I am, however, interested in knowing what others think - those who done UI development (speaking both generally, about any language/toolkit combination, and specifically about Python-based GUI development) - i.e. whether they think it's "better" (that word again - maybe I should say - "they prefer") to design the UI purely via code (i.e. not using a GUI builder), then compile/run/see how it looks/if not ok, then modify the code - for changing the appearance) - or whether they find it preferable to use a GUI builder to interactively and visually prototype and finalize the GUI part, then plug in code to handle events, etc. I ask this, not to disparage anyone, but because I really want to know - what people who have more GUI experience prefer; realizing, of course, that my prefs. might differ.
<P>A few final points :
<P>I do have a good amount of UNIX dev. experience, all of it with the approach you describe below - vim et al - (with some limitations, see below) though it was mainly vi, not vim (earlier, on UNIX, not Linux). So I know what you are talking about - at least to some extent. For e.g., I'm fairly proficient with vi, and know about commands like cw, C, D, map, abbr, the colon commands (last line mode) like :w, :s, :n,ms/old/newpat/, :!, , even !! cmd to filter a range of lines thru the filter called "cmd", and it output of cmd replaces those lines in the vi buffer, shelling out of vi, even multiple levels, etc. Also with cc/gcc, make, ld, nm, sed, awk, grep, egrep, and the rest of the familiar UNIX command-line tools for general users as well as for s/w developers.
<P>So I agree with a lot of what you say below. But, I also have some points to make.
<P>The rest of them are inline with your words below, marked with [Az].
<P> <B><I>alan.gauld@bt.com</I></B> wrote:
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<META content="MSHTML 5.50.4807.2300" name=GENERATOR>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>> </FONT></SPAN>Which other (free) IDE's / enhanced Py interpreters do you like better the <SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2> </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>> </FONT> </SPAN>standard Python interpreter and IDLE - for Linux ? <SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2> </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>The best development environment for Linux(or any Unix) is Linux itself.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>Linux is a complete and fully integrated development environment, it </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>just doesn't look like a Windows IDE thats all.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>Using vim and the :! command and a couple of xterm sessions may not </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>look like an IDE but the fact that they all talk to one another and </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>use a common language - text - means it is. And once you get used </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>to it its more effective than any Visual Basic type IDE can ever </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>hope to be.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>If you want more pampering use emacs(with python mode on) and get</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>a whole bunch of other goodies too, including integration with RCS/CVS</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>and grep etc.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" size=2>[Az] As said above, I have used RCS/grep/make etc.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New">I don't want pampering - or, rather, I do :) - which is why I like the UNIX dev. env. myself - and have been known to evangelize it, like you. I agree that its the one of the best s/w dev. envs. I've worked on.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New"></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002>> </SPAN>I am using PythonWin on Windows, is good enough for me at present. <SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2> </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" size=2>[Az] I think I didn't word some of my statements precisely enough - possibly this caused you to interpret them differently from what I meant - I've found that this does happen at times when using email.<BR>Case in point - my statement above - by "good enough for me", I did not mean to imply that nothing else is needed, or that the UNIX approach is bad (obviously) - I simply meant that for my present needs, as a relative beginner in GUI development, I hadn't yet found the need for anything more powerful or featureful.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New"></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>If you like the pythonwin editor you can get Scite for Linux </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>- its the same editor but without the debugger etc.</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002></SPAN><FONT face="Courier New"><FONT color=#0000ff><FONT size=2>><SPAN class=010161217-16122002> </SPAN></FONT></FONT></FONT>Both non-GUI enhanced interpreters - of which I think IPython is one - and <SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2> </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>> </FONT> </SPAN>proper GUI IDE's are of interest.<SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2> </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>What exactly do you expect to gain using one of these "proper" </FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>IDEs over a multi window setup in native Linux?</FONT></SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff></FONT></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002>[Az] Another miswording by me - by "proper GUI IDE" I didn't mean to imply - if that's what you thought - since you quoted the word proper - that anything like a non-GUI-IDE is "improper" or whatever. Proper was used in the sense of "actual GUI tool" - i.e. the tool itself is a GUI app, and allows you to build GUI apps, as opposed to the command line + vi approach to building GUI apps. I was actually more interested in the GUI builder component of the IDE - for the reason given at the top of this mail - i.e. visual building and refining of my app's GUI - rather than the editing/compiling/debugging support - I don't need an IDE for that - can manage quite well with vi and friends.</SPAN></DIV>
<DIV><SPAN class=010161217-16122002></SPAN> </DIV>
<DIV><SPAN class=010161217-16122002>Finally, as I said, I am not trying to criticize or start a flame war - was just asking questions with a view to learning. Let me also say that, despite my UNIX experience, I learned some things from your post - such as the stuff about stepping thru the lines found by grep (in *vim* as well as emacs - was vaguely aware that emacs is considered more powerful than vi (not vim, perhaps)) by many - due to eLisp and other reasons), but had never learnt it as vi was adequate for my needs - my approach for the grep would be to run the grep either from vi or from a shell (with filename and line number options enabled -l and -n), then redirect the output to a file, either my own current file or a new file, edit that file, and use the filenames and line numbers to go edit those places in those files and do whatever changes were needed. (If you can type quite fast, as I can, this works reasonably well). But the ability of vim that you describe is easier - since, even for a fast typist, less need to type (to get to each filename and line number in that file) means faster development, and also less chance of typing errors). I had not updated myself with vim's features as opposed to traditional UNIX vi, hence didn't know that it could do all that. I guess it's a reminder of the need to constantly - or frequently - get back to the never-ending job of keeping oneself updated about new things - and also one of the benefits of mailing lists.</SPAN></DIV>
<DIV><SPAN class=010161217-16122002> </SPAN></DIV>
<DIV><SPAN class=010161217-16122002>Thanks.</SPAN></DIV>
<DIV><SPAN class=010161217-16122002>Az.</SPAN></DIV>
<DIV><SPAN class=010161217-16122002><FONT face="Courier New" color=#0000ff size=2>
<P><FONT size=2>Alan g.<BR>Author of the 'Learning to Program' web site<BR><A target=_blank href="http://www.freenetpages.co.uk/hp/alan.gauld">http://www.freenetpages.co.uk/hp/alan.gauld</A></FONT> </P></FONT></SPAN></DIV></BLOCKQUOTE><p><br><hr size=1>Do you Yahoo!?<br>
<a href="http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com">Yahoo! Mail Plus</a> - Powerful. Affordable. <a href="http://rd.yahoo.com/mail/mailsig/*http://mailplus.yahoo.com">Sign up now</a>
--0-210206220-1040660530=:20322--