Path: csiph.com!usenet.pasdenom.info!news.albasani.net!news.mixmin.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed4.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.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'operator': 0.03; 'syntax': 0.04; 'subject:Python': 0.06; 'c++,': 0.07; 'javascript,': 0.07; 'string': 0.09; 'high-level': 0.09; 'spaces': 0.09; 'subject:language': 0.09; 'sure,': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; "wouldn't": 0.14; 'backward': 0.16; 'concatenate': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'precedence': 0.16; 'reminded': 0.16; 'subject:programming': 0.16; 'java,': 0.16; 'language': 0.16; 'wrote:': 0.18; 'implementing': 0.19; 'work,': 0.20; 'cc:addr:python.org': 0.22; 'convenient': 0.24; 'cc:2**0': 0.24; 'subject:/': 0.26; 'skip:" 20': 0.27; 'header:In-Reply-To:1': 0.27; 'am,': 0.29; "doesn't": 0.30; '(like': 0.30; 'dec': 0.30; 'message-id:@mail.gmail.com': 0.30; 'code': 0.31; '13,': 0.31; 'bunch': 0.31; 'remotely': 0.31; 'class': 0.32; 'languages': 0.32; 'fri,': 0.33; 'knowledge': 0.35; 'basic': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'useful': 0.36; 'similar': 0.36; 'experience,': 0.37; 'two': 0.37; 'level': 0.37; 'recent': 0.39; 'how': 0.40; 'even': 0.60; 'break': 0.61; 'high': 0.63; 'such': 0.63; 'love': 0.65; 'between': 0.67; 'brain': 0.68; 'facilities.': 0.91; 'reasons,': 0.91; 'to:none': 0.92; '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:cc :content-type; bh=T6mcaiwK3DihC2PAQlrfOGB4oVHMrIMVrMh1i7a2Gto=; b=d55K1OY6vHGzbEb9uNAagh1ryLOTxRuvv4vKEaZN7FcDJei1un1yfRYANeDFi7MvqJ SidzCPJf0rtgoMWBdcQyHNH7E+lynsZI069qSLnHlsyu/Xw+La/WfvOkHjEhu5uPb5uA /wMqKlDaSXim6zJvOQvhCqJlZOqJmw3fdjLFZdDHl7c4JEtU7Q5I8A5gDyXvTYH1ncVC pd2kpQnebamfEOjEqp27SgQXn6rMDayRLdE6l4RKs/COsftm5s0HgPjc9YuCK+VZqJbD vGQklEBd/LDN9VzxREHKZElomjwV/NWlxDNidExpmN/oxAbz/6LYMSn2AYQLuuV1fSpe 9QHQ== MIME-Version: 1.0 X-Received: by 10.68.248.33 with SMTP id yj1mr15567821pbc.45.1386882766939; Thu, 12 Dec 2013 13:12:46 -0800 (PST) In-Reply-To: <20131212213602.806ef8fd2626ca6f34bc83d6@gmx.net> References: <20131212213602.806ef8fd2626ca6f34bc83d6@gmx.net> Date: Fri, 13 Dec 2013 08:12:46 +1100 Subject: Re: Experiences/guidance on teaching Python as a first programming language From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 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: 30 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1386882776 news.xs4all.nl 2882 [2001:888:2000:d::a6]:51032 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:61753 On Fri, Dec 13, 2013 at 7:36 AM, Wolfgang Keller wrote: > And ever > after that experience, I avoided all languages that were even remotely > similar to C, such as C++, Java, C#, Javascript, PHP etc. I think that's disappointing, for two reasons. Firstly, C syntax isn't that terrible. You might prefer Python syntax to it, but it's undeniably better than several of its predecessors (I do not want to write in COBOL, tyvm!), and there are recent languages that manage to get some things so crazily backward (like abolishing operator precedence so 2 + 3 * 4 = 24 not 14) that I wouldn't want to use them. And secondly, C is very much the language of Unix. Sure, its best job is implementing high level languages so day-to-day code doesn't need to use it, but it's still important when you need to get to some lower-level facilities. For those two reasons, I think a basic working knowledge of C is useful for working with computers, networking, pretty much everything these days. It won't break your brain to understand multiple styles, and it might help you to remember why it is you love Python syntax so much :) Last time I had to do some C work, I was reminded just how amazingly convenient a high-level string class is... all I wanted to do was concatenate a bunch of strings with spaces between them, and I had to go through so many hoops! " ".join(list_of_strings) Et voila. ChrisA