Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!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.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'programmer': 0.03; 'languages,': 0.04; 'subject:Python': 0.06; 'intermediate': 0.07; 'perl,': 0.07; 'beginners': 0.09; 'executable': 0.09; 'learn,': 0.09; 'means,': 0.09; 'recommends': 0.09; 'subject:skip:c 10': 0.09; 'url:faqs': 0.09; 'cc:addr :python-list': 0.11; 'python': 0.11; 'language,': 0.12; 'applets': 0.16; 'c/c++,': 0.16; 'expecting': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'subject: \n ': 0.16; 'subject:between': 0.16; 'subject:programming': 0.16; 'url:catb': 0.16; 'url:hacker-howto': 0.16; 'java,': 0.16; 'language': 0.16; 'wrote:': 0.18; 'first.': 0.19; 'fit': 0.20; 'python?': 0.22; 'cc:addr:python.org': 0.22; 'days,': 0.24; 'logical': 0.24; 'mathematical': 0.24; 'java': 0.24; 'mon,': 0.24; "haven't": 0.24; 'cc:2**0': 0.24; 'extension': 0.26; 'switch': 0.26; 'header:In- Reply-To:1': 0.27; 'chris': 0.29; '[1]': 0.29; 'am,': 0.29; "doesn't": 0.30; 'fastest': 0.30; 'raymond': 0.30; 'strongly': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'getting': 0.31; 'that.': 0.31; 'another.': 0.31; 'embed': 0.31; 'perl': 0.31; 'subject:that': 0.31; 'with,': 0.31; 'languages': 0.32; 'running': 0.33; 'minimal': 0.33; 'style': 0.33; 'maybe': 0.34; "i'd": 0.34; 'could': 0.34; 'basic': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'scheme': 0.36; 'sequence': 0.36; 'subject:?': 0.36; 'url:org': 0.36; 'half': 0.37; 'rather': 0.38; 'little': 0.38; 'anything': 0.39; 'extremely': 0.39; 'functional': 0.39; 'moving': 0.39; 'days': 0.60; 'most': 0.60; 'new': 0.61; 'simple': 0.61; "you're": 0.61; 'first': 0.61; "you'll": 0.62; 'pick': 0.64; 'more': 0.64; 'different': 0.65; 'series': 0.66; 'worth': 0.66; 'due': 0.66; 'commercial': 0.71; 'friendly': 0.72; 'lack': 0.78; 'gain': 0.79; 'heavy': 0.81; '2015': 0.84; 'layout.': 0.84; 'subject: *': 0.84; 'subject:Good': 0.91; 'to:none': 0.92 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=KuY7WLkiFghQSnP9KGibGSCZ2jS+spMekjfkTJ0hZW0=; b=uX1HE/KhmmI9BLdZnEApfi1YCV1IVM9b1UJeROMSM+flMmJsSirVcWOz4JmQobVjAd 6M69QnBaa+VtpRA68HFNM2wnfaYG42aladij5TURgwGzks3s3yFio+LVtgqSSYhD6QOm OLOm/42jTHR5Vq7fNftBNWymTopEctuhgtNCExxWk1f335q1xCIfSHALR4PnEDK8DcbZ ppp7UZh773NNdOO6L1UBMtFSWz/jsFhZcpcUS+b1LvwYLGP4sfAYsWmBCDCnn5ncT+Lp I8fyGoTK+bDx8j8TaEWXDfNWoCDX98NoM7ixVARqzC5ODgx35RM4YHrHWpSqVdhzmvMB rorg== MIME-Version: 1.0 X-Received: by 10.43.96.10 with SMTP id ce10mr8480469icc.59.1431310317749; Sun, 10 May 2015 19:11:57 -0700 (PDT) In-Reply-To: <02dba7aa-8466-4937-a8d8-82ffd03e5568@googlegroups.com> References: <02dba7aa-8466-4937-a8d8-82ffd03e5568@googlegroups.com> Date: Mon, 11 May 2015 12:11:57 +1000 Subject: Re: Instead of deciding between Python or Lisp for a programming intro course...What about an intro course that uses *BOTH*? Good idea? 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.20+ 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: 45 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1431310324 news.xs4all.nl 2968 [2001:888:2000:d::a6]:60052 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90331 On Mon, May 11, 2015 at 6:43 AM, Chris Seberino wrote: > Instead of learning only Scheme or only Python for a one semester intro > course, what about learning BOTH? Maybe that could somehow > get the benefits of both? > > I'm thinking that for the VERY beginning, Scheme is the fastest language > to get beginners up and running writing code due to the extremely minimal simple syntax. > > I'm thinking half way into the semester, instead of moving into intermediate Scheme, perhaps that is a good time to switch to Python? > > Would a little strong intro to 2 nice languages in one semester be > same/good/worse/better than just 1? I strongly recommend learning multiple languages, but not at the cost of proper comprehension of one of them. Pick one and get started with it, and once you have some basic competence, pick up another; you'll gain a better appreciation for both that way. As to which one first... I always recommend Python as a first language, due to the lack of boilerplate and the simple layout. But if you have a background that makes LISPy languages a better fit for you, then by all means, take Scheme first. For most people I work with, an imperative language makes a better first fit; most people understand the concept of giving someone a series of instructions and expecting them to be performed in sequence down the page, but functional languages take more getting used to. But if you're already accustomed to a functional style - maybe a heavy mathematical background - then LISP-family languages will be a logical extension from that. Eric Raymond recommends [1] learning five languages with distinctly different styles: Python, C/C++, Java, Perl, and LISP. Of the five, I would recommend leaving C and Perl for later, as neither is particularly friendly to a new programmer; the other three you could pick up in any order, and there are commercial courses using all of them. (I personally don't think Java offers much that other languages don't, and haven't used it for anything since the days when Java applets were the only decent way to embed executable code in web browsers; these days, I'd much rather do everything in Python or Pike. But that doesn't mean Java isn't worth learning.) The more languages you learn, the better you'll be as a programmer - but don't skimp on one to pick up another. ChrisA [1] http://www.catb.org/esr/faqs/hacker-howto.html#skills1