On Sat, Dec 17, 2011 at 11:01 PM, Jonathan M Davis <jmdavisp...@gmx.com>wrote:
> In my experience, it's the professors who get to choose what they're > teaching > and the main reason that Java is used is a combination of its simplicitly > and > the fact that it's heavily used in the industry. C and C++ have a lot more > pitfalls which make learning harder for newbie programmers. Java does more > for > you (like garbage collection instead of manual memory management) and has > fewer ways to completely screw yourself over, so it makes more sense as a > teaching language than C or C++. And since the primary focus is teaching > the > principles of computer science rather than a particular programming > language, > the exact language usually doesn't matter much. > In my experience professors only get to choose what to wear to class, lol. It's interesting how many professors choose the same exact text book for the same courses they teach. And it's also interesting how those textbooks cost 10 times more than the equivalent book covering the same material. Some professors even give out the same exams as other professors in different universities. So, no, I don't think professors get to choose either. It's as if they are given a script, and they have to follow it pretty closely (ABET might have something to do with this, idk). I've had many professors who severely rejected the idea of using something else besides Java for a given project, and I never understood why (even in junior and senior years). Python is just as simplistic as Java, used heavily in the industry, and a more elegant language. So, what's the excuse for not allowing something like Python? oh, maybe because it's an open source project and no corporation has direct control over it, no? It's also interesting to see how the choice of Java in schools and universities has NOT produced better computer scientists and software engineers. I've lost count of people I've worked with in group projects that had not freaking clue as to what they were doing. I've even had TAs working on their PhDs and couldn't compile 200 lines of code written in something else besides Java or C#. *sigh* Maybe I should have gone to a private school. > > Now, this _does_ have the effect that the majority of college students are > most > familiar and comfortable with Java, and so that's what they're generally > going > to use (so there _is_ a lot of indoctrination in that sense), but that's > pretty much inevitable. You use what you know. Ultimately though, that's > what's likely to happen with most any university simply because teaching > programming languages is not the focus - teaching computer science is. And > for > most of that, the language isn't particularly relevant. > > And Java was successful before they started using it in universities, or it > likely wouldn't have been used much in them in the first place. It's just > that > that has a feedback effect, since the increased used in universities tends > to > increase its use in industry, which tends to then make the universities > more > likely to select it or to stick with it as long as they don't have a solid > reason to switch. But I believe that the initial switch was a combination > of > the fact that its popularity in industry was increasing and the fact that > it > works much better as a teaching language than C or C++. It's not because of > anything that corporations did (aside from saying that they used it), since > Java isn't a language where donating stuff or discounting really helps > (unlike > C++), since almost all of the tools for Java are free. > > - Jonathan M Davis > Well, I disagree because Java in the beginning was a complete failure as a language, and they looked for ways to market it. To them it was a product rather than a programming language that was going to help them make money and have control over the industry. Nearly the same exact thing happened with Microsoft Windows: an inferior OS that suddenly became popular and has helped generate billions of dollars of profit and control over 90% of the desktop market share. Java being a great teaching language is something that not everyone will accept. Allowing diversity in schools so that students and professors get to choose what programming language they want to learn and teach, without pressure from the industry, is something that I think most will agree needs to happen.