On 12/19/2013 12:56 AM, Steven D'Aprano wrote:
On Tue, Dec 17, 2013 at 09:28:14PM -0500, Keith Winston wrote:
On Tue, Dec 17, 2013 at 7:26 PM, <tutor-requ...@python.org> wrote:

What else do I need to do to make this version of Python an actually
usable programming environment?

Chris Acreman


Chris, I'm also a noob, but I would recommend you install/use an IDE, such
as IDLE which comes free with all (I think) Python installs. An Integrated
Development Environment will help with formatting & debugging, but the way
I like to use IDLE is open up a window on the right side of my screen with
the file I'm working on, and whenever I want to run it I save (ctrl-S, or
menu) and run (F5, or menu), and then watch it go in the other window. Very
efficient.


I do the same thing, but the IDE I use is called "Unix" or "Linux". With
just two windows, possibly three, I have access to everything I need to
program:

- I have an editor open in one window;

- a terminal open in another;

- and optionally a web browser for looking things up on the Internet.


In the editor, I can have as many tabs open as needed. I normally use
kate (the KDE Advanced Text Editor), but from KDE 3 only, not KDE 4
which is rubbish. I've also started using Geany, which isn't bad.

Sometimes I'll use kwrite, but that has the disadvantage that it doesn't
have window tabs, but if I just need one or two files open it is
perfectly adaquate.

In the terminal, multiple tabs are also needed. I'll have at least two
tabs open: one is set to an interactive Python session, where I can try
out small code snippets, look up help, and so on; another is set to a
shell prompt where I can run Python non-interactively, manage files,
perform version control (e.g. using hg or git), run unit tests, etc.
Additional tabs are only a click away.

The great thing about Unix as an IDE is that I'm not tied to any one
single editor. If I decide that editor X is rubbish, I can start using
editor Y without having to learn a completely new way to run my unit
tests. If I discover a better way to do source code version control, I
don't have to throw away my editor. All the individual tools in my tool
box are separate.

Another good thing about Linux as an IDE is that, with the exception of
the GUI editor, I can do it all over SSH on a remote computer: ssh to
the other computer, then use the "screen" command to open as many
virtual screens as I need. I don't have a GUI, but other than having to
use a different editor, everything else works exactly the same.

More here:

http://blog.sanctum.geek.nz/series/unix-as-ide/


And quoting Zed Shaw:

     An IDE, or “Integrated Development Environment” will turn
     you stupid. They are the worst tools if you want to be a good
     programmer because they hide what’s going on from you, and
     your job is to know what’s going on. They are useful if you’re
     trying to get something done and the platform is designed
     around a particular IDE, but for learning to code C (and many
     other languages) they are pointless.

http://michaelochurch.wordpress.com/2013/01/09/ide-culture-vs-unix-philosophy/

I do agree with most of what you say, except for one point, actually more a complement than an contradiction: I find it great whenever editors (I virtually never used IDE's properly) have an integrated terminal (emulator, in fact), like geany or gedit. Most, nearly all of my actual programming time (as opposed to just thinking in the wild about current projects) is spent in code / run / diagnose loops; this means I would constantly be switching from/to editor/terminal. Pretty annoying, in my view. (That's also a point I disliked in IDLE --maybe it has changed since then: the pseudo-terminal was a separate window.) Indeed, the integrated terminal also permit side tasks like file management or version control, again in the same environment, and without distraction.

As a side-note, I consider the following features of a (programming) editor fundamental, even more than syntax highlighting:
* code folding
* integrated terminal
* duplicate (^D in general) (reason why I don't just use gedit, but instead 
geany)

About syntax highlighting, it is for me rather noise than help if ever I cannot precisely, exactly, set it as I like it. Typically there are too many colors, and too saturated (in fact, usually pure colors, "toy-store colors" or as a friend calls them "Disney colors": veeery baaad, and ugly ;-).

Denis
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to