If someone wants to learn Python, teach them Python. Don't teach them 'nix, gnu, bash, vimacs, git, and oh yeah Python. The big draw of programming is that you can take a computer and <i>make it do something</i>. Shorten the path to <i>doing something</i> as much as possible; anything that lengthens it is premature optimization.<p>They'll learn the value of those tools easily soon enough. Before someone has actually written code, all of those things are barriers, not tools, and the only reason to use them is cargo-cult-ism. Once they've written a few lines, they'll start to appreciate the value on their own.
I started working through this book with my girlfriend who wants to learn Python... it turns out most people don't know/understand what a terminal or shell is. This should have been obvious to me, but it wasn't :)<p>Any suggestions on how to explain what the terminal is and why it is necessary? I feel like there has to be a "pre-learn python" book that explains the basics of how computers work. This probably already exists though... anybody know?
At my former workplace we hold regular programing workshops for absolute beginners, mostly for groups of art students, using Processing. Surprisingly the first and biggest pitfall what our students had to jump was always the question: How can I type { ? So after a few occasions, we get the habit of starting with an introduction to the whereabouts of funky characters.<p>I can see how fast could things turn unmanageably hard when a novice try to tame the keyboard, an unfamiliar text editor, the command line, and a programing language at the same time. I think that should be the reason why all the programing systems, which are intended for non-professionals, and I know of have a tightly coupled ide. (Arduino, Logo, NodeBox, Fluxus, and the aforementioned Processing) Did I forget something out? Do anyone know any popular, or less known exception?
I started learning python a little while ago-there are so many options-mostly been using trial and error to figure out the best approach-from experience what you said TOTALLY makes sense--thanks
p.s talking to other people who are also at the moment trying to learn python seems it would help-but I haven't been able to find any good discussion group/sites/forums/etc like that. Doea anyone know any good ones to do that?
I'm a dedicated and long-time Emacs user but he's right.<p>Not everybody that learns Python is looking to become a professional programmer, just leave them the fuck alone and let them learn to code in their own way.
I always wonder why in python context the three enemy brother OS should be presented in Mac, Windows, Linux order. If based on usage it should be W M L, if based "close minded ness " it should be L W M, and no other criterion I can think of would result in M W L.
I strongly disagree, regarding the text editor. You'll make mistakes and want to fix them, want to copy things, etc, and this is much easier in a decent text editor. Learn to use vim or emacs or something of similar power before you get started programming - it's worthwhile. Running through vimtutor is not hard (I don't know of a similar thing for emacs, but it probably exists), and it can speed you up wherever else you're working with text, as well.