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.


cayhorstmann's blog

Wildcards in the Wild

Posted by cayhorstmann on December 13, 2012 at 10:31 AM PST

Nothing new here...just keep moving. I refreshed an older blog to fix some awful formatting issues that the blogging system introduced when deciding to convert all &lt; to <, which makes any HTML document about generics a bit hard to read :-)

Dynamic Types in Scala 2.10

Posted by cayhorstmann on December 13, 2012 at 10:02 AM PST

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 is over, and what we can Learn from it

Posted by cayhorstmann on June 1, 2012 at 10:45 PM PDT

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:

BOMed out by Notepad and javac

Posted by cayhorstmann on April 10, 2012 at 9:50 PM PDT

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 rejected. We looked at it and couldn't figure out why. I unearthed the error message: ♦

The Sordid Tale of XML Catalogs

Posted by cayhorstmann on December 12, 2011 at 9:14 PM PST

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 chapter, I started an example with

Operator Overloading Considered Challenging

Posted by cayhorstmann on December 5, 2011 at 10:47 PM PST

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 a * b instead of a.multiply(b).

A first look at Dart

Posted by cayhorstmann on October 10, 2011 at 11:49 AM PDT

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 JavaScript (boring), or something like Newspeak (interesting). The latter seemed plausible because Gilad Bracha is on the Dart team.

JavaOne 2011 Day 4

Posted by cayhorstmann on October 7, 2011 at 4:42 AM PDT

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.

JavaOne 2011 Day 3

Posted by cayhorstmann on October 5, 2011 at 4:13 PM PDT

The Script Bowl is another JavaOne tradition. The candidates were JRuby, Groovy, Scala, and Clojure. The JRuby pitch was simple: Use Rails for your web apps, and you are on your way to untold riches.

JavaOne 2011 Day 2

Posted by cayhorstmann on October 4, 2011 at 11:14 PM PDT

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 the ocean until it reaches mine. Then it  goes straight downtown, but by the time that I get on, it is standing-room only. I make it to the keynote frazzled but just in time.