On Jan 11, 2008 6:14 PM, Levi Pearson <[EMAIL PROTECTED]> wrote: > Perhaps they know a little bit more about how well Java-centric > curricula prepare people for that particular industry than you do?
Yet their article blames Java specifically for this problem. This problem would be just as true with students taught with any non-low level language. Java is too high-level for the type of preparation these persons are wanting for systems and device driver development. This is true. Students should be getting exposer to C, C++, ASM, and Ada if they plan on doing any low-level development. However, moving from Java to <insert your favorite scripting language here> isn't going to solve that problem. > You'll notice that they measure the effect of Java based on the > students' performance in systems and architecture courses, which are > precisely the ones that are important for the sort of programming > their industry is involved in. Presumably the Java-trained students > will be reasonably good at taking advantage of the Java libraries to > solve business needs, but will be completely lost if you ask them to > design a device driver or implement the logic to control an embedded > controller in an aircraft. Agreed. If that is the niche market a student wants to prepare for, then don't study Java, Lisp, Ruby, PHP, or anything other than C, Ada, and maybe C++. > > > In a withering attack on those responsible for setting the curriculum > > > for computer science courses, doctors Robert Dewar and Edmond > > > Schonberg of New York University (and principals of Ada language > > > specialist Adacore) have said the lack of mathematical rigor and > > > formal techniques is producing "replaceable professionals" more suited > > > to the outsourcing industry than software development. > > > > This has been significantly rearranged from the original, which says: > The resulting set of skills is insufficient for today's software industry > (in particular for safety and security purposes) and, unfortunately, > matches well what the outsourcing industry can offer. We are training > easily replaceable professionals. See, I never saw where they stated what you have in parenthesis. For the safety and security/DoD/avionics industry, yes, high-level languages may not be the right fit. However, saying so for "today's software industry" is too broad. If I want to be prepared for "today's software industry", then I had better know high-level languages very well. > The thing is, anyone who knows the Java libraries well and can string > them together adeptly can take one of those jobs. There are a lot of Ha. That's totally wrong. I have yet to work on system where I could be easily replaced by a person who has some basic Java know-how. A professional using a high-level language is going to be using components and libraries that improve their efficiency. That merely frees them to solve larger and more interesting issues in the guts of their problem domain. If you were hired to create yet another inferior version of a hash map or some generic algorithm for Java, then yes, you're going to be replaced easily. However, if you're building gmail, eBay, Overstock, eTrade, etc, it's a little harder than you think. Quick! Tell all authors to stop writing books in English, because lots of people know English, and they could be replaced by virtually anyone! As we know, all authors are equal because they all use the same language, and thus they are all drop-in replacements for each other. > them in the business software world, which is, frankly, not full of as > many hard problems as you say. That's why they choose Java; it's easy > to replace developers. No, they choose Java because it is an enabling factor for them to produce the software they need. Without high-level languages like Java, most of these projects would have no chance for success. > If you want to talk about hard problems, try building optimizing > compilers, real-time operating systems, inertial navigation systems, > avionics, etc. for systems that cannot have serious flaws. Those are > the kind of problems these guys are dealing with and having a hard > time finding qualified candidates for. And Ada works perfectly for these systems. I like Ada. It's a fine language with many useful features that I personally appreciate. I wish that Java would adopt more concepts from Ada. However, it's a niche language that would be crippling for creating applications at the scale that Java does. They each solve different problems well, and in my opinion, Java has a much broader applicability. Should students take a class or two in Ada? Sure. Are they all becoming mindless, replaceable, Java-drones? No. -Bryan /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
