On Tuesday, August 2, 2016 at 4:01:25 PM UTC+5:30, Antoon Pardon wrote: > Op 30-07-16 om 18:15 schreef Rustom Mody: > > > > The more general baby that is significant is that beginners should have > > it easy to distinguish procedure and function and python does not naturally > > aid that. print was something procedure-ish in python2 but the general > > notion being > > absent is a much more significant problem (for beginners) than print. > > > > ... > > > > Ok Python is better than Java is better than C++ > > But it cannot stand up to scheme as a teaching language > > [The MIT Profs who replaced scheme by python admit to as much viz. > > But AFAIK scheme doesn't aid in distinguishing procedure from function either.
True. And my words above seem to say that. However let me restore some more context: On Saturday, July 30, 2016 at 9:45:34 PM UTC+5:30, Rustom Mody wrote: > On Saturday, July 30, 2016 at 8:17:19 PM UTC+5:30, Steven D'Aprano wrote: <snipped> > > On Sat, 30 Jul 2016 09:39 pm, Rustom Mody wrote: > > > Its a function… ok. > > > Its ‘just’ a function… Arguable > > > > "Granny Weatherwax, you are a natural-born disputant." > > "I ain't!" > > Heh I really aint :D > At least not for this dispute — its not my baby > Or rather its a stepbaby of stepbaby > > Diff between > print "x" > and > print("x") > is one char — the closing ‘)’ > > To make a dispute about that — I’ll leave to BartC! > > The more general baby that is significant is that beginners should have > it easy to distinguish procedure and function and python does not naturally > aid that. print was something procedure-ish in python2 but the general > notion being > absent is a much more significant problem (for beginners) than print. > > Brings me to the even more general baby <snipped> > But I studied in the 80s and there was greater clarity (about some matters > of course) than now. > eg It was completely natural that in ‘school’ one studied > ‘nice’ things like Pascal, Lisp, Prolog, Snobol, APL etc > And in a professional context used ‘real’ things like > Fortran, Cobol, PL-1 and a little later C. > > Once omnibus languages like C++, Java, C# and Python became popular > the academic vs real-world division has disappeared. > So beginners start with these ‘real-world’ > And get their brains scrambled > And think it wonderful > > Ok Python is better than Java is better than C++ > But it cannot stand up to scheme as a teaching language > [The MIT Profs who replaced scheme by python admit to as much viz. <wrong send pressed> > MIT on practical reasons for python over scheme: > https://www.wisdomandwonder.com/link/2110/why-mit-switched-from-scheme-to-python > Berkeley on fundamental reasons for the opposite choice: > https://people.eecs.berkeley.edu/~bh/proglang.html So I was talking of 3 very different levels: 1. print x vs print(x) — a difference too petty for me to waste my time with 2. Procedure vs Function as something very necessary for beginner thinking-ontology which Pascal gets right 3. The fact that the gap between a mainly-for-teaching language and a serious software-engineering-real-world language is not closable And that saying that the same language could be used for both purposes is like arguing that both these delightful ladies are pianists: Martha: https://www.youtube.com/watch?v=YLZLp6AcAi4 Rose : https://www.youtube.com/watch?v=_bjKDJD-CLc Scheme and Pascal happen to be two well-known well-crafted but quite different for-teaching languages -- https://mail.python.org/mailman/listinfo/python-list