In an undergraduate computer science program, it is probably OK to start students with any programming language, Ada, Java, Eiffel, or C++, among some good choices. The danger is leading those students to believe that, once they have learned one programming language, there is no need to lead any other. At University of California, Berkeley, the first programming language is Scheme. Certainly such a choice was not made for economic reasons. Instead, Scheme was selected for its logical facilities as opposed to its mathematical support. Later, students are introduced to other with more powerful features for generalized softwar development. There is a bias toward C++ at this stage, but Java is making inroads as well. If a university takes the decision to be a trade school rather than an institution seeking to prepare students with the intellectual tools for the life-long process of reasoning about ideas, that decision will always lead to the choice of current fads. This is as true of the English Department, where some professor is enamoured of the works of some contemporary hack poet over the long history of excellent literature. It is sometimes true of the Psychology Department were the most recent psychobabble substitutes for seriouis researchg. It can even be true in some of the Engineering Departments. I recall how we used to tease chemical engineering students about being "plumbers." If the university still has a few professors around who have enough gray in their hair to understand that today's academic fad is tommorow's faculty break-room joke, some students may be lucky enough to graduate with more than a trade school education. If there are some professors with enough courage and enough up-to-date knowledge to challenge students who think they know, from reading the popular press and want-ads, what constitutes an education, a few of their students will benefit. Ada should not be the only language taught in a university. I should be taught. Java has some interesting properties. It should be taught. Neither language should be taught as, "Look how wonderful this is!" Rather, each subject should be presented so the students can take a critical view of its good and bad points. The role of the faculty is not one of advocacy but one of challenging cherished biases. One of the worst things to happen in some universities is the casual acceptance Microsoft operating systems as the standard by which others should be judged. Anytime a university adopts a position of that nature, it is failing its students. The same would be true of a university that advocated Ada, advocated Java, or advocated any other language. Go ahead and teach Java as a first language. But teach it critically. Highlight its deficiencies as well as its good points. If you teach Ada as a first language, you should do the same. There is no perfect programming language. One hundred years from now, our successors in whatever software development is called, will recall our puny efforts with the same high regard we give to mathematicians in the time of Charlemagne. Twenty years from now, some student is going to reflect on the education they had today. Will they look back and say, "Everything I learned is obsolete?" Will they recall some professor of note and say, "The professor really helped me keep my perspective on how to think about the choices I must make, all these years later." Sorry to pounce on this issue in such a non-Ada way, but we are talking about education here. Richard Riehle [log in to unmask] AdaWorks Software Engineering Suite 30 2555 Park Boulevard Palo Alto, CA 94306 (650) 328-1815 FAX 328-1112 http://www.adaworks.com