Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.012 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'interfaces': 0.04; 'guido': 0.05; 'url:pipermail': 0.05; 'subject:Python': 0.06; 'amounts': 0.07; 'path)': 0.09; 'windows,': 0.09; 'cc:addr:python- list': 0.11; 'python': 0.11; 'gui': 0.12; "wouldn't": 0.14; '[1].': 0.16; 'cc:name:python list': 0.16; 'command-line': 0.16; 'does,': 0.16; 'elephant': 0.16; 'extraneous': 0.16; 'fine).': 0.16; 'git.': 0.16; 'merely': 0.16; 'simple.': 0.16; 'subject:son': 0.16; 'tab': 0.16; 'url:svg': 0.16; 'visited': 0.16; 'apps': 0.16; 'exception': 0.16; 'thursday,': 0.16; 'language': 0.16; 'wrote:': 0.18; '(not': 0.18; 'library': 0.18; 'obviously': 0.18; 'stack': 0.19; 'thu,': 0.19; 'command': 0.22; 'programming': 0.22; 'email addr:gmail.com>': 0.22; 'cc:addr:python.org': 0.22; 'creating': 0.23; 'instance,': 0.24; 'lets': 0.24; 'specify': 0.24; 'environment': 0.24; 'cc:2**0': 0.24; "i've": 0.25; '>': 0.26; 'equivalent': 0.26; 'right.': 0.26; 'train': 0.26; 'header:In-Reply-To:1': 0.27; 'point': 0.28; 'specifically': 0.29; 'correct': 0.29; 'chris': 0.29; '[1]': 0.29; '[2]': 0.30; 'needed.': 0.30; 'statement': 0.30; 'message- id:@mail.gmail.com': 0.30; 'along': 0.30; "i'm": 0.30; 'easier': 0.31; 'that.': 0.31; 'too.': 0.31; '(although': 0.31; '13,': 0.31; 'bunch': 0.31; 'invoke': 0.31; 'url:wikipedia': 0.31; 'file': 0.32; 'languages': 0.32; 'stuff': 0.32; 'quite': 0.32; 'text': 0.33; 'open': 0.33; 'linux': 0.33; 'url:python': 0.33; 'everyone': 0.33; 'mac': 0.33; 'raw': 0.33; 'comment': 0.34; "i'd": 0.34; 'convert': 0.35; 'johnson': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'consistent': 0.36; 'disk': 0.36; 'interaction': 0.36; 'interface,': 0.36; 'whilst': 0.36; 'done': 0.36; 'doing': 0.36; "didn't": 0.36; 'entry': 0.36; 'useful': 0.36; 'url:org': 0.36; 'should': 0.36; 'seconds': 0.37; 'two': 0.37; 'sometimes': 0.38; 'skip:& 10': 0.38; 'generic': 0.38; 'jason': 0.38; 'tasks': 0.38; 'fact': 0.38; 'pm,': 0.38; 'little': 0.38; 'ability': 0.39; 'skip:& 20': 0.39; 'does': 0.39; 'realize': 0.39; 'is.': 0.60; 'full': 0.61; 'browser': 0.61; "you're": 0.61; 'first': 0.61; 'address': 0.63; 'developed': 0.63; 'term': 0.63; 'skip:n 10': 0.64; 'telling': 0.64; 'interest': 0.64; 'become': 0.64; 'provide': 0.64; 'more': 0.64; '(that': 0.65; '2000': 0.65; 'high-quality': 0.65; 'to:addr:gmail.com': 0.65; 'experience.': 0.67; 'bothered': 0.68; 'tasks.': 0.68; 'default': 0.69; 'url:a': 0.72; 'productivity': 0.74; 'subject:wants': 0.74; 'day': 0.76; 'click': 0.77; 'completion': 0.78; 'actually,': 0.84; 'coupled': 0.84; 'directories,': 0.84; 'room.': 0.84; 'url:upload': 0.84; 'navigate': 0.91; 'rick': 0.93; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=zoz9ASeD+yFMwPKwnfYnGoQmlruGiUJGK5XPHtiBCtc=; b=tnVzNC+jafeNVofq0J/UkdvTllkenmP/YrgxS+TWcMDYphdROMakmCSzK65ASp9Hwc 8iYQWknIlQIBHz0n641lOKEQeqsHGyeiTG+FaQKm4iMZq6W63v2G40kVVdKMsZItvQbC Z7MFv/F1GxNVeI+aPTmYReLfV8MuLGEVCRYOOzqGFrGourfclwvTjqW34ffnnuTQEScl TCpo/eiZ/iHuAO9z2LR20KNwHDJTGt5KKkUCDVl4uGTQznTlTVVFN4lPVW9OemVu084g e6+8TMYwFtx/o6HQTkkEs8bFcKuxIRsbtW0CsVKgD/iwRZM8Us/ukGVtfU+57ckqfWw7 Y2vA== MIME-Version: 1.0 X-Received: by 10.194.2.79 with SMTP id 15mr484867wjs.42.1371191309328; Thu, 13 Jun 2013 23:28:29 -0700 (PDT) In-Reply-To: <637daa98-9a0e-46ab-bb9a-f5638b7c0038@googlegroups.com> References: <637daa98-9a0e-46ab-bb9a-f5638b7c0038@googlegroups.com> Date: Fri, 14 Jun 2013 02:28:29 -0400 Subject: Re: My son wants me to teach him Python From: Jason Swails To: Rick Johnson Content-Type: multipart/alternative; boundary=047d7b3a8c3ae9666f04df175aef Cc: python list X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 249 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1371191311 news.xs4all.nl 15968 [2001:888:2000:d::a6]:46484 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:48069 --047d7b3a8c3ae9666f04df175aef Content-Type: text/plain; charset=ISO-8859-1 On Thu, Jun 13, 2013 at 11:33 PM, Rick Johnson wrote: > On Thursday, June 13, 2013 3:18:57 PM UTC-5, Joshua Landau wrote: > > > [...] > > GUI is boring. I don't give a damn about that. If I had it > > my way, I'd never write any interfaces again (although > > designing them is fine). Console interaction is faster to > > do and it lets me do the stuff I *want* to do quicker. > > And are you willing to provide *proof* that the console is > faster? Or is this merely just your "opinion"? I would be > ready and willing to compete in a "Pepsi challenge" to > disprove your claim if needed. For instance, if i want to > open a text file on my machine, i merely navigate to the > file via my file browser interface, using clicks along the > way, and then the final double click will open the text file > using it's default program. Are you telling me you can type > the address faster (much less remember the full path) than i > can point and click? And if you think you're going to cheat > by creating an "environment variable", well i can still win > by doing the same thing with a "shortcut". > One of my favorite parts about the Mac over windows, actually, is that I can open up a console. Coupled with MacPorts or some other equivalent package manager, I have what amounts to a working Linux environment (almost). The "open" command is particularly useful (equivalent to double-clicking, with the ability to specify "-a " to invoke a right-click->select program->[scan through program list]->click much more easily. Coupled with tab completion (as Chris mentioned), and a full history of visited directories, I can navigate my file system in a console much faster than I can navigate in the GUI. It matters little to my productivity how fast you can navigate a GUI. But batch processing is, in general, much easier to do in the console in my experience. Two tasks I've wanted to do that were of general interest to computer users (not specifically my work) that I wouldn't have bothered in a GUI environment: 1) Autocrop a whole bunch of images (~100) to remove extraneous white space around all of the edges. In the console with imagemagick: bash$ for image in *.png; do convert $image -trim tmp.png; mv tmp.png $image; done 2) Compress my library of 2000 jpegs, since I didn't need high-quality jpegs AND raw images from my camera on my disk consuming space: bash$ for image in `find . -name "*.jpg"`; do convert $image -quality 70 tmp.jpg; mv tmp.jpg $image; done Using the console I was able to do both tasks in ~20 seconds quite easily. > > Also - Python is pretty much the only language that > > *isn't* overkill; once you take more than the first few > > steps a language that's *consistent* will help more with > > learning, a mon avis, than these "quicker" languages ever > > will. Python is consistent and simple. > > Your statement is an oft cited misconception of the Python > neophyte. I'm sorry to burst your bubble whilst also raining > on your parade, but Python is NOT consistent. And the more i > learn about Python the more i realize just how inconsistent > the language is. Guido has the correct "base idea", however > he allowed the evolution to become a train wreck. > You're right. NameError's should not be listed with the full traceback -- the last entry on the call stack is obviously the right way to treat this special-case exception [1]. BTW, this comment amounts to Contradiction. [2] It's sometimes difficult to reconcile several of your comments... > > [...] > > Basically, "kid" is a *very* generic term and there are > > people who like GUIs and there are people who like > > internals > > Your statement is true however it ignores the elephant in > the room. You can "prefer" console over GUI all day long but > that does not negate the fact that GUI's outperform the > console for many tasks. With the exception of text based > games, the console is as useful for game programming as > [something not useful] > Just because you click through a GUI faster does not mean that everyone else does, too. And I've developed some Tkinter-based apps (that you can even download if you were so interested)---I did all the development on the command-line using vim and git. All the best, Jason [1] http://mail.python.org/pipermail/python-list/2013-March/642963.html [2] https://upload.wikimedia.org/wikipedia/commons/a/a7/Graham%27s_Hierarchy_of_Disagreement1.svg --047d7b3a8c3ae9666f04df175aef Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable


On Th= u, Jun 13, 2013 at 11:33 PM, Rick Johnson <rantingrickjohnson@g= mail.com> wrote:
On Thursday, June 13, 2013 3:18:57 PM UTC-5, Joshua Landau= wrote:

> [...]
> GUI is boring. I don't give a damn about that. I= f I had it
> my way, I'd never write any interfaces again (although
> designing them is fine). Console interaction is faster to
> do and it lets me do the stuff I *want* to do quicker.

And are you willing to provide *proof* that the console is
faster? Or is this merely just your "opinion"? I would be
ready and willing to compete in a "Pepsi challenge" to
disprove your claim if needed. =A0For instance, if i want to
open a text file on my machine, i merely navigate to the
file via my file browser interface, using clicks along the
way, and then the final double click will open the text file
using it's default program. Are you telling me you can type
the address faster (much less remember the full path) than i
can point and click? And if you think you're going to cheat
by creating an "environment variable", well i can still win
by doing the same thing with a "shortcut".
<= br>
One of my = favorite parts about the Mac over windows, actually, is that I can open up = a console. =A0Coupled with MacPorts or some other equivalent package manage= r, I have what amounts to a working Linux environment (almost). =A0The &quo= t;open" command is particularly useful (equivalent to double-clicking,= with the ability to specify "-a <program name>" to invoke = a right-click->select program->[scan through program list]->click = much more easily.

Coupled with tab completion = (as Chris mentioned), and a full history of visited directories, I can navi= gate my file system in a console much faster than I can navigate in the GUI= . =A0It matters little to my productivity how fast you can navigate a GUI.<= /div>

But batch processing is, in = general, much easier to do in the console in my experience. =A0Two tasks I&= #39;ve wanted to do that were of general interest to computer users (not sp= ecifically my work) that I wouldn't have bothered in a GUI environment:=

1) Autocrop a whole bunch of= images (~100) to remove extraneous white space around all of the edges. In= the console with imagemagick:

bash$ for image in *.png; do= convert $image -trim tmp.png; mv tmp.png $image; done

2) Compre= ss my library of 2000 jpegs, since I didn't need high-quality jpegs AND= raw images from my camera on my disk consuming space:

bash$ for= image in `find . -name "*.jpg"`; do convert $image -quality 70 t= mp.jpg; mv tmp.jpg $image; done

Using the= console I was able to do both tasks in ~20 seconds quite easily.


> Also - Python is pretty much the only language that
> *isn't* overkill; once you take more than the first few
> steps a language that's *consistent* will help more with
> learning, a mon avis, than these "quicker" languages ever > will. Python is consistent and simple.

Your statement is an oft cited misconception of the Python
neophyte. I'm sorry to burst your bubble whilst also raining
on your parade, but Python is NOT consistent. And the more i
learn about Python the more i realize just how inconsistent
the language is. Guido has the correct "base idea", however
he allowed the evolution to become a train wreck.

=
You're ri= ght. =A0NameError's should not be listed with the full traceback -- the= last entry on the call stack is obviously the right way to treat this spec= ial-case exception [1]. =A0BTW, this comment amounts to Contradiction. [2]<= /div>

It's sometimes difficult= to reconcile several of your comments...


> [...]
> Basically, "kid" is a *very* generic term = and there are
> people who like GUIs and there are people who like
> internals

Your statement is true however it ignores the elephant in
the room. You can "prefer" console over GUI all day long but
that does not negate the fact that GUI's outperform the
console for many tasks. With the exception of text based
games, the console is as useful for game programming as
[something not useful]<= /div>

Just because you click through a GUI faster does not mean that everyone els= e does, too.
<= br>
And I'= ve developed some Tkinter-based apps (that you can even download if you wer= e so interested)---I did all the development on the command-line using vim = and git.

All the best,
Jason

--047d7b3a8c3ae9666f04df175aef--