>> But this academic discussion is honestly a little pointless. The OP >> was referring to a expectation, coming from C, that is not fulfilled >> in python. What's wrong with mentioning it somewhere for the sake of >> helping C programmers? >> > And where does one stop? After all, my primary work language at the > time I first encountered Python was FORTRAN77; and my home system at the > time was an Amiga with ARexx... (granted, I did have a C compiler on it > -- which I do not have on this WinXP machine)... And programming, even > in C, on the Amiga still inflicted BCPL concepts upon one ("AmigaDOS", > the "user" view, was a port of Tripos user view on top of the Amiga > executive libraries). > > Do we mention how Python differs from F77, F90, Ada, Rexx, LISP, > RPG, APL, Pascal, BASIC, and COBOL (I've done all except RPG since > graduating high school). > > In my mind... Anyone whose only experience with programming language > concepts is C/C++ deserves the shock of finding that other languages ARE > DIFFERENT! Even if they never use other languages they should at least > have been exposed to language design options and rationales... > > Okay, I don't know what current curricula consist of, but in the > late 70s, a CS degree at my college required two sessions of FORTRAN, > two of COBOL, Assembly (numerically, it followed advanced FORTRAN), > database (followed COBOL)... and then diverged into Business Programming > vs Systems Programming (Business required lots of accounting/statistics > courses [stat-II was SPSS], Systems was operating system and language > design). Electives included BASIC, Pascal, APL (The professor for the > data structures course made the mistake of once allowing an assignment > -- hashed head multiple-linked list -- to be done in any language he > could read <G>; I did it in a BASIC that only supported 4 open files at > a time... I think someone did it in SNOBOL) > > C wasn't available on the XEROX Sigma-7; I did have a first edition > K&R. By graduation I'd also been exposed to the initial Ada > reference/rational (a working compiler -- Ada/Ed -- didn't come out > until after I'd graduated).
Okay, so where does one stop? I'd say C deserves special treatment as opposed to all the other languages you mentioned because Guido himself admits to influences from C (and ABC but I hope you won't assume that ABC is a widely used language). Maybe you didn't read these messages from me in this thread: By the way, assignments in conditionals. Guido explicitly referred to C when he forbade assignment in conditionals, citing common typos/errors in C code such as if( x = 5 ){ .... } instead of if( x == 5 ){ ..... }. So even he realized that warning people about different usage in python and C is a good thing. Expectations from C work sometimes, and sometimes they don't. In latter case a little warning is useful. And also, Seriously, ask Guido about the influence of C vs. fortran (or cobol, ada, pascal, etc). Somewhere you can find him quoted as saying that python was originally intended to "bridge the gap between the shell and C". I've never heard him talk about fortran (or cobol, ada, pascal, etc). So don't get me wrong, I'm sufficiently impressed by your knowledge of various computer languages, I admit to only knowing C and basic and some fortran (and of course python :)), but if Guido himself thinks the influence of C on python is more important than the others, then let's not doubt him. And yes, I shamelessly admit to arguing based on a higher authority and not based on merit, but in this case it's appropriate, I think :) Cheers, Daniel -- Psss, psss, put it down! - http://www.cafepress.com/putitdown -- http://mail.python.org/mailman/listinfo/python-list