Java

Self-promotion: My new book, Teach Yourself Java 2 in 21 Days, Third Edition, is now available. I publish a Web site to support each of my books, and this is the first one that's published using a PHP/MySQL Web application instead of static HTML files. I can edit the site remotely in a Web browser and offer new features, including an RSS feed for site updates. ... (read more)Charles Miller suggests that Java should be taught using an environment where students can create and experiment with objects without needing to learn the words "public static void main()." It's an interesting idea -- the Naked Objects approach could be useful in this regard. However, as someone who has tackled this issue with each of my Java books, I've concluded that it's better to start with simple applications and the main() method, because most readers are using the Java 2 SDK while ... (read more)BEA Systems has dumped Visual Cafe as its Java development environment of choice and reached a deal with Borland, agreeing to resell Borland JBuilder in exchange for a new version of the tool tailored for the BEA WebLogic application server. ... (read more)TogetherSoft, which offers the ControlCenter Java programming environment, has purchased WebGain Studio, from WebGain, which closed in June. The software includes Visual Cafe, and the most likely result is that Studio's best features will find their way into ControlCenter while Studio itself is mothballed. The only WebGain product that hasn't found a new home is the modeling tool Application Composer. ... (read more)

Object-Oriented Programming Pioneer Kristen Nygaard Dies

Kristen Nygaard, the computer science pioneer who is credited with Ole Johan-Dahl for the invention of inheritance, has died at age 75. Nygaard's website contains an encyclopedia entry he wrote about their role in early object-oriented programming, along with a lot of other interesting material on programming, including a funny article about the object-oriented family tree. "Ole-Johan Dahl and I are said to be the 'fathers' of SIMULA I and SIMULA 67 and thus of object-oriented programming," ... (read more)Sign of the times: Sun's Java Web site, which was redesigned recently, no longer uses applets on any of its well-trafficked pages. The last design featured applets that scrolled Java-related news and presented a directory of user groups, but Sun appears to have come to the same realization as most of the Web: The load time required for the Java virtual machine makes applets a poor choice for popular pages. Sites that use applets today are employing them for games, chat, the visual depiction of ... (read more)One of the biggest stumbling blocks for a new Java programmer is configuration problems related to Sun's Software Development Kit, which does not set up the Path and ClassPath environmental variables during Windows installation but requires them for use. I have received at least 1,000 e-mails over the past five years from readers about these problems. To help some of these readers, I have published a free online tutorial, Using the Software Development Kit on a Windows System. I updated it ... (read more)Patrick Logan contributes to the ongoing discussion about the varied representation of data in Java. All this talk about how Sun should have designed the language reminds me of the way dissatisfied C++ programmers talked when Java was launched in 1995-96, and it lends credence to the idea that the next big language is going to represent everything as an object. If so, that language might already be here: Ruby. ... (read more)Sam Ruby: "NAnt, Log4Net, NLucene, NDigester, and of course NUnit. All are .NET ports or reimplementations of Java open source projects. Anybody know of others?" ... (read more)Charles Miller lists some of his Java peeves. I share his dislike for the artificial distinction between primitive data types (int, float, char, and the like) and objects. I have to make this distinction to beginning programmers in my books, and Java would be easier to learn (and use) if everything was an object. As it is, Java has three rules for the basic representations of data: primitive data types work one way, objects work another, and Strings work both ways. ... (read more)