On Mon, May 11, 2015 at 6:43 AM, Chris Seberino <cseber...@gmail.com> 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 -- https://mail.python.org/mailman/listinfo/python-list