On Tuesday, December 17, 2013 6:14:59 AM UTC+5:30, Chris Angelico wrote: > On Tue, Dec 17, 2013 at 11:39 AM, rusi wrote: > > I had a paper some years ago on why C is a horrible language *to teach with* > > http://www.the-magus.in/Publications/chor.pdf > > I believe people did not get then (and still dont) that bad for > > - beginner education (CS101) > > - intermediate -- compilers, OS, DBMS etc > > - professional software engineering > > are all almost completely unrelated
> Yes. In esr's essay on becoming a hacker[1] he says: > """There is perhaps a more general point here. If a language does too > much for you, it may be simultaneously a good tool for production and > a bad one for learning.""" There is this principle by Buchberger called the "Black-box White-box principle" Unfortunately I can only find mathematicians talking about it http://www.math.rutgers.edu/~zeilberg/Opinion65.html and no CS-ists/programmers. eg To teach OS, minix is better than linux To use, linux is better FreeBSD may be a good middle point. It may also be a bad middle point -- practically too hard to use or study. Which is why in practice separating teaching tools from professional ones is better than thrashing about using the same for both > Definitely true, though I think it has exceptions. > [1] http://www.catb.org/esr/faqs/hacker-howto.html Yeah As esr says python is an exception And even here as it progresses it becomes more professional and less educational -- https://mail.python.org/mailman/listinfo/python-list