MilkmanDan <[EMAIL PROTECTED]> wrote: > I'll be a college freshman this fall, attending Florida Institute of > Tech studying electrical engineering. > > I was considering taking some classes in programming and computer > science, and I happened to notice that everything taught is using C++. > After further research, it seems to me that C++ seems to be the > dominating language in universities.
Must be a weird local phenomenon -- my impression (based on non-scientific but widespread observations) is that _Java_ has come to dominate the programming-language scene in universities. One such observation struck me intensely last year, for example, as Tim O'Reilly was showing (at Euro OSCON 2005) his rich graphical environment for looking at book sales (by category, time, etc etc): Java book sales display an obvious, strong "cyclic" seasonality with a yearly cycle, in a perfect correlation with the times at which students would be likely to buy books. No other language whose book-sales data Tim displayed had anything like that obvious an effect (C, C++, Basic, Perl, Python, Ruby, ...); funny enough, Tim himself, while obviously "seeing" the seasonality (the UK-sales diagram in particular looked almost like a sine wave!-), hadn't thought of the "student purchases" explanation. For some reason, the effect, while obvious already in US data, was even more pronounced in UK data; perhaps UK universities have less flexible timing &c for courses (I don't know much about UK universities -- I do know, however, that in Italy for example summer courses for undergrads are rare to non-existent, while I see there's quite an offer of those in the US). Many others have remarked on Java's ascendancy as a language in universities in many different contexts. Joel Spolski, for example, has bemoaned that ascendancy's effect on how well he can evaluate a new grad in a hiring interview: when undegrads typically learned C or Lisp, he says, he had sure-fire ways to probe if a candidate "has what it takes" to be a top programmer, by asking hard questions respectively on pointers and on recursion; with "everybody" learning Java, he's lost that chance, because a candidate may never have seen pointers and be quite unfamiliar with recursion (supported in Java, of course, but hardly the staple it is in Lisp!-), so poor performance on such questions does not really indicate much:-). Paul Graham, a paladin of Lisp, created quite a stir by stating that you're likely to get better programmers if you look for ones experienced in Python rather than ones experienced in Java; in the midst of the resulting flamefest, he clarified that the issue is not so much about the specific nature of the languages (although, like many Lisp'ers, he finds Python a lesser evil than Java, technically) -- rather, he says that a programmer who's only experienced in Java may have merely "fallen" into it because that's what universities teach and he or she had no motivation to "look elsewhere" and thus probably no deep passion for programming, while somebody experienced in Python (which is not as widely taught) must have taked that path by choice, evidencing a real passion for programming (by looking around and choosing reasonably well -- of course, for Graham, only Lisp would be the "perfect" choice;-). A similar line of reasoning has been used to explain the empirical findings of Software Development magazine's yearly survey on programmers' salaries, which, for years, has shown Python programmers at the top of the heap and Visual Basic programmers at the bottom (I do not recall where Java programmers place, but I think it's closer to the bottom than to the top): VB programmers, goes the reasoning, are closer to have "stumbled" into it and to have no real experience of other languages, while Python programmers typically have strong experience in more languages and use Python _by choice_ -- so, again (the reasoning goes), it's not so much about the languages "per se", but the sociology and psychology around them. ((in terms of the emerging economics discipline of "asymmetric information markets", this would make Python expertise a "signal" of a strong programmer in a way that VB or to a lesser extent Java would not)). > By comparison, our local community college teaches a few classes in VB, > Java, Javascript, C++, and for some reason, PASCAL. Interestingly, Mission College (Santa Clara, CA) offers C (I know because my wife's been studying there to accumulate some credits while Stanford considered her application -- it's now been accepted, so she'll be starting Symbolic Systems there in the fall); Bologna University (I know the details because of the recent study there of my son [Financial Economics], daughter [Telecom Engineering] and daughter's boyfriend [started with Civil Engineering, switched to Political Science] offers: a first course in C, and a second one in Java, for Telecom; Fortran, for Civil engineers (all of these are mandatory for these majors); no mandatory programming for either economics or political scientists, but the suggested optional courses are respectively focused on Advanced Excel (with some VBA for advanced macros) and SPSS (a well-known package for statistics, rather than a "real" programming language). > I'm certianly not against any of this, but out of curiousity does > anyone know of a school that teaches Python? A brief Google search (discarding the flurry of news about Burmese pythons in the Everglades...;-) shows for example that the UWF (for a GIS certificate) requires among others a "UWF Programming Course (Java/SQL/Python/etc.)" for 3 semester hours; UMD's page on professor Einstein's course "Introduction to programming in the physical sciences", entirely focusing on Python, has among the recommended "references" an entry for "Advanced topics from U. Central Florida python class" (which is unfortunately a dead link); the Course Syllabus page for the graduate course "Simulation Analysis of Forest Ecosystems" at ufl.edu includes three Python programming books (and none on other languages); "University of Florida" is also listed at <http://wiki.python.org/moin/SchoolsUsingPython> but with no usable link or details. So, yes, Python _is_ used in some Florida universities, but it sure looks like it just occupies some minor niches. To get some indication of the popularity of languages in universities, let's try some google searches and see the number of million hits...: python programming 66.9 M java programming 219 M c++ programming 98.9 M and python university 11.9 M java university 110 M c++ university 26 M so, besides the general indication of relative popularity of the three languages, we can't fail to notice: *OVER HALF* of the java hits also mention university, as compared to *JUST ABOVE 1/4* for C++ and *JUST ABOVE 1/5* for Python -- a rough but interesting confirmation that Java dominates University uses far more than other fields... Alex -- http://mail.python.org/mailman/listinfo/python-list