On Tuesday, May 12, 2015 at 10:34:32 AM UTC+5:30, Michael Torrie wrote: > On 05/11/2015 08:04 PM, Steven D'Aprano wrote: > > On Tue, 12 May 2015 05:01 am, beliavsky wrote: > > > >> Yale has taken the unusual step of outsourcing its introductory CS class > >> to Harvard, which uses C as the main language in its CS50 class. > > > > And another generation of new programmers will be irreversibly damaged by > > exposure to C... > > How so? Surely starting at first principles of a computer's operation > can't be all that bad. In my program at uni, one of the very first > level courses was actually to build a simulated CPU from logic gates and > then program it in assembly.
Thats true. The intro to programming course needs to convey something beyond syntax and minor details -- something like the 'Zen' The difference between C/Lisp (I club them together) and python is that the former are more heroic. Like mountain climbing you can get a high, a thrill, even 'see God'¹ but you can also break your back or worse. Python is by contrast like a walk in the park. If you find it interesting (for reasons outside of python) you can get the job done. No epiphanies here > C is just a step up from there. which may be a step too much. And I think its much more than one step. [How many links in the gcc toolchain?] > I should note they also had Java in the first year, and that certainly caused > irreversible damage. A different question altogether. What Joel Spolsky describes² is simply the fact that Java slides its practitioners down the DIKW pyramid³ [My own record of the hell let lose by teaching too early C.⁴⁵ The first written in 91 and rather widely cited at that time including first edition of 'Code Complete'. Second is a toning down as I grow older! ] To some extent good teaching can ameliorate. Only to some extent since the whole purpose of such languages is to dumb down programming. [And lest pythonistas feel pleased with that, do consider whether what Spolsky applies to Java in 2005 in 2015 applies to python] > > The wonderfulness of LISP and Python can be appreciated just fine with a > solid background in how Von Neumann architecture actually functions. In > fact I appreciate the layers of abstraction even more after I understand > them. modulo the law of primacy ---------------------------------------- ¹ Eric Raymond almost literally says this: | Lisp is worth learning for the profound enlightenment experience you will | have when you finally get it; that experience will make you a better | programmer for the rest of your days, even if you never actually use Lisp ² http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html ³ http://en.wikipedia.org/wiki/DIKW_Pyramid ⁴ http://www.the-magus.in/Publications/chor.pdf ⁵ http://blog.languager.org/2013/02/c-in-education-and-software-engineering.html -- https://mail.python.org/mailman/listinfo/python-list