Skip to main content

Cay Horstmann

Cay Horstmann is author of Core Java (Sun Microsystems Press 1996-2009), Enterprise Java for Elvis (Sun Microsystems Press, to appear), and co-author of Core JSF (Sun Microsystems Press 2004-2009) Cay is professor of computer science at San Jose State University. He is a computer science series editor at Prentice-Hall and a frequent speaker at computer industry conferences. For four years, Cay was VP and CTO of an Internet startup that went from 3 people in a tiny office to a public company.
 

Weblogs

After all these years, Java 8 is finally available. Of course, I have used it for about a...

After all these years, Java 8 is finally available. Just make sure you don't get tripped up by the change in the classfile format! ♦

When Sun Microsystems introduced Java in 1995, applets were considered the killer feature for the business success of Java. Don’t believe it? Check out...

In my French class, we are reading Marcel Pagnol’s “La gloire de mon père”. It never ceases to amaze me how much more complex and arbitrary human languages are compared to programming languages....

Here are my impressions from the 18th Java One. Java SE 8 is around the corner, Java EE 7 was just released, and both are a joy to use. NetBeans 7.4 is awesome. And yet, people were strangely...

Summary: In these unhappy days where Oracle is working hard to regain the trust of users, it seems a staggeringly bad idea that the Java updater installs the Ask toolbar by default. It's...

The final version of Scala 2.10 was released on January 4, 2013. Martin Christensen, a visiting scholar in our department, and myself have been playing with some of the new features, and I'll be...

Nothing new here...just keep moving. I refreshed an older blog to fix some awful formatting issues that the java.net blogging system introduced when deciding to convert all &lt; to <, which...

This blog explores Scala dynamic types, a new feature of Scala 2.10, and provides some hopefully interesting exercises so you can try it out for yourself. ♦

The grand war between Oracle and Google over the Android API is over, unless
Oracle prevails on appeal. The judge and jury have spoken, and this is what
they said:

I've been too busy to blog for quite some time, but today something happened that seemed strange enough to break my silence. A student came to me with a Java source file that the grading script...

I am finishing the code samples for my book “Scala for the Impatient”. (Yes, for those of you who are impatiently awaiting it—the end is near. Very near.)

In the XML...

Java has no operator overloading. I always thought that was a shame. For example, BigDecimal would be a lot more popular if you could write...

Google released details about the Dart language today, and I am surprised howmuch more it is like Java than like JavaScript. I had expected either a prototype-based language, a streamlined...

Another day, another keynote. A fellow from IBM talked about cloud stuff. I sat through a lot of nebulous cloud talks, but this guy was good.

The Script Bowl is another JavaOne tradition. The candidates...

Here I am, on my second day of Java One. I live in the residential part of San Francisco and get to the conference on a battered “express” bus that stops at every block, starting from...

Today, JavaOne started officially. With the traditional keynote. Except, traditionally, the keynote is in a huge room that has space for everyone. Today, people were shunted into overflow rooms...

Once again, I got a blogging pass to JavaOne—my fifth year as the intrepid reporter at JavaOne, and my 15th JavaOne attendance. Sadly, that wasn't enough to get me the coveted Alumni badge...

My hard-hitting, tell-it-as-it-is Scala book draft is coming along. No animals or fruit have been pressed into service for contrived examples. Free chapters are at typesafe.com. ♦

I give an example of why having a language spec builds confidence in a situation that would induce fear and trembling in a seat-of-the-pants programming language. I boldly generalize to posit...

I finished my "modern programming languages" course at the Ho Chi Minh City University of Technology. We covered metaprogramming (with Ruby and Rails), continuations (with Racket and Scala...

A red-black tree is a binary search tree with the following additional
properties:

I needed some filler material for my lectures on concurrency. I googled around for Java concurrency pitfalls and came up with a nice mixture of golden oldies and new ones (at least new to me). I...