horstmann.com Open in urlscan Pro
68.66.226.114  Public Scan

Submitted URL: http://horstmann.com/
Effective URL: https://horstmann.com/
Submission: On November 28 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

WELCOME TO CAY HORSTMANN’S HOME PAGE!

cay@horstmann.com | PGP Key



I grew up in Northern Germany and attended the Christian-Albrechts-Universität
in Kiel, a harbor town at the Baltic sea. I received a M.S. in computer science
from Syracuse University, and a Ph.D. in mathematics from the University of
Michigan in Ann Arbor. I taught computer science at San Jose State University
for almost thirty years and held visiting appointments at universities in
Germany, Switzerland, Vietnam, and Macau. I was a “serial entrepreneur” before
that was a thing, including a stint as VP and CTO of a dot com startup that went
from three people in a tiny office to a public company. In my copious spare time
I write books and develop online courses for beginning and professional
programmers.


LINKS

 * My unblog
 * Java Almanac
 * Memorable quotes
 * My résumé


BOOKS

 * UPDATED Core Java
 * UPDATED Scala for the Impatient
 * Modern JavaScript for the Impatient
 * Big Java | Brief Java (former title: Java Concepts)
 * Big Java Late Objects | Java Concepts Late Objects
 * Big C++ | Brief C++ (former title: C++ for Everyone)
 * Python for Everyone
 * UPDATED Core Java for the Impatient
 * Java SE 8 for the Really Impatient
 * Core JavaServer Faces
 * OO Design & Patterns
 * Practical Object-Oriented Development with C++ and Java
 * Mastering Object-Oriented Design in C++
 * Mastering C++


SOFTWARE

 * CodeCheck is a convention-over-configuration autograder for Java, Scala,
   Python and C/C++. Now with Parsons puzzles and code tracing
 * The GridWorld framework was used in the AP CS course as a case study from
   2008 until 2013.
 * Violet is a free, easy to use UML editor.
 * The traffic jam simulator applet simulates the traffic flow on a freeway and
   shows how traffic jams are inevitable even at modest loads if too many people
   don't maintain their speed.
 * Safe STL is a safe version of the original HP STL implementation.
 * ChiWriter, an ancient word processor


THE MARCH OF PROGRESS

1980: C 

printf("%10.2f", x);

1988: C++

cout << setw(10) << setprecision(2) << fixed << x;

1996: Java 1.0

java.text.NumberFormat formatter = java.text.NumberFormat.getNumberInstance(); 
formatter.setMinimumFractionDigits(2); 
formatter.setMaximumFractionDigits(2); 
String s = formatter.format(x); 
for (int i = s.length(); i < 10; i++) System.out.print(' '); 
System.out.print(s);

2004: Java 5

System.out.printf("%10.2f", x);

2008: Scala and Groovy

printf("%10.2f", x)

(Thanks to Will Iverson for the update. He writes: “Note the lack of semi-colon.
Improvement!”)

2012: Scala 2.10

println(f"$x%10.2f")

(Thanks to Dominik Gruntz for the update, and to Paul Phillips for pointing out
that this is the first version that is checked at compile time. Now that's
progress.)

2023: Java 21

System.out.println(FMT."%10.2f\{x}")