Path: csiph.com!usenet.pasdenom.info!news.albasani.net!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!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.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'acquired': 0.04; 'argument': 0.04; '(even': 0.05; '(especially': 0.07; 'extent': 0.07; 'nested': 0.07; 'referring': 0.07; 'python': 0.09; 'command.': 0.09; 'curve': 0.09; 'degrades': 0.09; 'docs.': 0.09; 'friday,': 0.09; 'gym': 0.09; 'proficient': 0.09; 'specific.': 0.09; 'starter': 0.09; 'subtle': 0.09; 'throw': 0.09; 'to:addr:comp.lang.python': 0.09; 'whatever.': 0.09; 'bug': 0.10; 'cc:addr:python-list': 0.10; 'gui': 0.11; 'thread': 0.11; 'times,': 0.13; ':-)': 0.13; 'ignore': 0.13; 'language': 0.14; '(like': 0.15; '"making': 0.16; '*only*': 0.16; 'ah,': 0.16; 'calculator': 0.16; 'doing,': 0.16; 'domains.': 0.16; 'driscoll': 0.16; 'equations': 0.16; 'etc...': 0.16; 'folder,': 0.16; 'mean,': 0.16; 'means.': 0.16; 'monkeys': 0.16; 'naive': 0.16; 'personally,': 0.16; 'porn': 0.16; 'programmer,': 0.16; 'python),': 0.16; 'quit.': 0.16; 'rmdir': 0.16; 'segfault': 0.16; 'so)': 0.16; 'solver': 0.16; 'solver,': 0.16; 'statement.': 0.16; 'steep': 0.16; 'stuff.': 0.16; 'there...': 0.16; 'threw': 0.16; 'twenty': 0.16; 'wrote:': 0.17; 'basically': 0.17; 'code,': 0.18; 'input': 0.18; '(or': 0.18; 'math': 0.20; 'bit': 0.21; 'hey': 0.21; '(usually': 0.22; 'aspect': 0.22; 'back.': 0.22; 'doc': 0.22; 'interpret': 0.22; 'runs': 0.22; 'cc:2**0': 0.23; 'programming': 0.23; 'apps': 0.23; "i've": 0.23; 'cc:no real name:2**0': 0.24; 'feature': 0.24; 'command': 0.24; 'least': 0.25; 'cc:addr:python.org': 0.25; 'header:In-Reply-To:1': 0.25; 'header :User-Agent:1': 0.26; 'creating': 0.26; 'coding': 0.27; 'interface': 0.27; "doesn't": 0.28; 'fine': 0.28; 'initial': 0.28; 'accidentally': 0.29; 'casual': 0.29; 'consult': 0.29; 'feature,': 0.29; 'handful': 0.29; 'motivation': 0.29; 'yes.': 0.29; '"the': 0.29; 'probably': 0.29; 'maybe': 0.29; 'worked': 0.30; 'becomes': 0.30; 'error': 0.30; 'primary': 0.30; 'sense': 0.31; 'code': 0.31; 'point': 0.31; 'could': 0.32; 'getting': 0.33; 'certain': 0.33; 'problem': 0.33; 'themselves': 0.33; 'another': 0.33; 'version': 0.34; 'agree': 0.34; 'received:google.com': 0.34; 'risk': 0.66; 'hours': 0.66; 'continued': 0.66; 'deeply': 0.66; 'liked': 0.66; 'enjoy': 0.67; 'below.': 0.68; 'intelligent': 0.71; 'satisfaction': 0.71; 'yourself': 0.77; 'paper': 0.78; 'low': 0.83; '2013': 0.84; 'action.': 0.84; 'cheating': 0.84; 'climbing': 0.84; 'conquer.': 0.84; 'discovers': 0.84; 'divide': 0.84; 'dumb': 0.84; 'energetic': 0.84; 'intuit': 0.84; 'liking': 0.84; 'manual,': 0.84; 'risks.': 0.84; 'route': 0.84; 'software...': 0.84; 'spreadsheet': 0.84; 'tangible': 0.84; 'world?': 0.84; 'beings': 0.91; 'cutting': 0.93; 'wait,': 0.93 X-Received: by 10.50.37.242 with SMTP id b18mr1429719igk.6.1358576545872; Fri, 18 Jan 2013 22:22:25 -0800 (PST) Newsgroups: comp.lang.python Date: Fri, 18 Jan 2013 22:22:25 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.196.110.21; posting-account=h3aEwQoAAACiuqX-oR3gvCVFm8lLHoWj References: <2e694a98-8a50-472e-89a0-92212a00464b@googlegroups.com> <50F96FCE.8020003@it.uu.se> <86b70a14-3b24-45c8-a7b1-c435b5779f0f@googlegroups.com> User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-IP: 70.196.110.21 MIME-Version: 1.0 Subject: Re: Beginner Tutorials From: Rick Johnson To: comp.lang.python@googlegroups.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: python-list@python.org 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: , Message-ID: Lines: 119 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1358576550 news.xs4all.nl 6965 [2001:888:2000:d::a6]:51017 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:37058 On Friday, January 18, 2013 10:36:09 PM UTC-6, Evan Driscoll wrote: > I have only skimmed this thread and so am unsure exactly what is being > protected against casual copy/paste, but at least on its face I would > *vehemently* disagree with your statement. Well if you skim just a wee bit more you will see how i took a view from bo= th sides of the argument :) > There are at least two significant problems with it. First you ignore > short-term pressures.=20 I think we can all understand short term pressures (especially those among = us who actually work for a living) however, cheating not only harms the che= ater, but also degrades the value of the education that the fellow students= worked honestly to achieve -- that's my real beef. > But the bigger problem is that -- while you are right that programming > is problem solving -- doing problem solving is probably not why most > people got into it. At least personally, I got into it because I liked > making stuff.=20 Is not "making stuff" a form of problem solving? You may not enjoy writing = code because it solves a real world tangible problem (like a calculator for= solving math equations or a spreadsheet for organizing data, or flight con= trol software... wait, don't use python for the last one!) but the "act" of= creating anything involves solving problems, yes?=20 * What am i making? * What language provides the tools i need? * How will it interface with the world? * What will it do? (Even if only to not throw an exception) :) * Will it be automated or require input control? * GUI or command line? * What dependencies will it require? * etc... =20 And that's just the initial draft design phase. These handful of problems h= ave deeply nested sub-problems hidden below. But maybe you are referring to the satisfaction you get when witnessing you= r "creation" in action. Ah, yes. This is a great feeling! Especially when y= ou've worked for hours tracking some subtle bug because of a bad language f= eature or poor interface and you almost threw in the towel twenty times, bu= t /something/ kept you coming back. What was it? Was it the fact that you w= ould not allow yourself to be defeated? Was it the addiction to the satisfa= ction you get from creating a program that runs without error and actually = does something useful? These are the monkeys on the back of every good prog= rammer.=20 > If someone is attracted to the field because they go "oh > hey I can program the next video game!" that doesn't automatically mean > that they won't be good at it, but it may be that the problem-solving > aspect of it is an acquired taste. Like these people you mention, my initial interest was very specific. I nee= ded to create a few tools for myself, and i thought that would be the exten= t of my programming. But after writing a few apps i was hooked! And as i pr= ogressed writing more and more code, i became more and more addicted. Codin= g actually transformed the way i interpret the world. I am constantly looki= ng for consistency, logic, intuitiveness in every interface around me. That= could be my car, my toaster, whatever. But most importantly, programming h= as honed my problem solving skills to razor perfection! Especially OOP. Whi= ch can be transformed into many problem domains. I think a lot of energetic and naive people get attracted to writing code f= rom games, however, once they start up the steep learning curve without an = ability to problem-solve (or a good starter language like python), they get= frustrated and quit. These people cannot problem-solve themselves out of a= wet paper bag!=20 And i think a good programmer, along with being a great problem solver, is = a bit of a risk taker. I mean, how else are you going to learn without taki= ng risks. An infinite recursion here, a segfault there... accidentally used= rmdir on your porn folder, oops! It's all part of cutting teeth. Another trait of the programmer, an innate sense of curiosity. A good litmu= s test is to offer a complicated software application to a group of people = of which none have used before and all are unfamiliar with.=20 Then, see who becomes proficient with the interface. That's the subgroup wh= o will make great programmers! While the dummies start out reading the manu= al, the natural problem solvers will jump head first into the interface and= attempt to intuit every command.=20 When, after exhausting all there comprehensive abilities, they don't unders= tand a certain feature, then and *only* then do they consult the docs. And = sometimes, the doc are just insufficient anyways.=20 But the point is, the true problem solver discovers his own weaknesses, tak= es mental note of them, and then methodically *DESTROYS* them. Divide and c= onquer.=20 This is the method by which intelligent beings solve problems. > As an analogy, I've been rock climbing for several years. There are > several types of climbing; two of them are top roping, which is roped > climbing and what you see most people in a climbing gym doing, and > bouldering, which is climbing routes low to the ground (usually under 3 > meters or so) without a rope. When I started, I basically exclusively > did top roping. Bouldering seemed... dumb to me, like it was missing the > point: "the reason you go climbing is to *climb*, and bouldering gives > you very little of that." :-) But after I was going for a while, getting > high above the ground became less of why I did it and the challenge of > figuring out the right movements and such to complete the route started > being my primary motivation for liking it. And those are things that > bouldering has in fine measures; in some respects, it does that *better* > than roped climbing*. >=20 > (* Arguing about roped climbing vs bouldering might be that community's > version of "Emacs is better than Vi". :-)) That was a great analogy! > In other words, why I started climbing is very different from why I > continued it. And I feel that the same could be said of programming. > Just because you don't enjoy parts of programming when you're starting > out doesn't mean that you're a lost cause by ANY means. I agree completely. However, my condemnation was mainly against cheating.