4 ms·
Quote 1 "Clearly, a computer science curriculum must not, and doesn’t have to, become a vocational training ground for the latest industrial programming languag
by Merrill 7y ago
Quote 1 "Clearly, a computer science curriculum must not, and doesn’t have to, become a vocational training ground for the latest industrial programming language and programming tools. Superficial aspects of industrial practice change as fast as fashion trends. No academic department can switch its course content fast enough and maintain a curriculum that passes on tested wisdom."
Quote 2 "Applied to the first-year courses, these suggestions say that the year should start with a heavy emphasis on principles and should add some industrially relevant components during the second semester. Even more precisely, the first semester should emphasize programming principles and habits; the second part should illustrate the use of these principles in currently fashionable programming languages. Of course, the “principled” semester may integrate fashionable parts where they aren’t an obstacle, and, more importantly, the “fashionable” part of the first year must continue to practice good design habits."
First, organizations that employ software developers don't choose programming languages and toolchains because they are "fashionable". They choose them because of proven utility and effectiveness, prior experience, employee knowledge base, and inertia. Introducing the "fashionable" language to your organization typically requires overcoming considerable resistance from both management and peers. As a result the turnover of languages used in any particular sector of software development is really slow. The changes in relative frequency of use of programming languages more often reflects new areas of application, such as mobile, bioinformatics, machine learning, etc where early practitioners set precedents for the use of a new language.
The age of the top languages in Tiobe Index are C, 47; C++, 34; Python, 29; Java, 24; JavaScript, 23; C#, 19; and VisualBasic.net,17.
- tsss 7y ago> First, organizations that employ software developers don't choose programming languages and toolchains because they are "fashionable" Citation needed
- shagie 7y agoc. 2004 there wasn't as much of a chase of fashionable languages or the rapid churn of frameworks that is seen today in some technology stacks.
- Jtsummers 7y agoYes there was. Java’s adoption itself was largely a result of corporate fashion and was brought into university and high school curricula to meet their needs. Fashion has always been part of the industry in some way.
- neilv 7y agoJava was a very plausible language for teaching software development at the time. It had memory safety, good multithreading support, static typing, exceptions with some static checking, and supported OO. The sandboxing and VM was also appealing, for tools support and research. OO was very popular, and not just for fashion: (1) academia was concerned with things like interacting objects as models of computation; and (2) OO methodologies of the time were very useful tool for practical reasoning about systems designs, and Java arguably supported mapping design models to code better than any non-research language of the time (though there's still a gap). I was involved with a university CS department effort to learn about and evaluate many OO languages, for rethinking intro CS education, and I recall Java did very well. This was before most companies other than Sun had ever heard of Java, so I'm not aware of any employer push at that time. Turning exciting Java (which initially seemed targeted at the kind of programming work then using C++, not corporate MIS programmers using 4GL frameworks and such) into a bureaucratic enterprise language, came later. Regarding pre-corporate university interest in Java, I can mainly tell you what I recall, but you can still see this 1996 Emacs mode for writing in an assembly language for the JVM (like a student might go to the trouble to spend time on, if Java had research target appeal): https://www.neilvandyke.org/jasmin-emacs/ https://www.neilvandyke.org/jasmin-emacs/
- shagie 7y agoIn 2004, Java had been out for nearly a decade and was Java 5 at that point with the collections framework maturing the standard library. At that point, Java had just as much maturity as Go (2009 release) or Powershell (2006 release) does now. Java is only three years younger than Python. It would be surprising to see people claim that programming python in 2001 was done because it was fashionable.