Goofus and Gallant grew up to be software developers. Gallant is a consummate professional. He studies project requirements carefully, asks a lot of questions, and spends plenty of time planning his approach before he starts programming. Gallant says that getting things right up front will save a lot of time in the long run. Goofus…
Once upon a time, real programmers wrote code. We had a computer, a C compiler, and a couple of books full of algorithms. The books never had all the answers so we invented our own solutions. We dug in and figured it out. Today we “leverage” code. We make a dependency file and list out…

I don’t buy object-relational mapping. It’s not because JPA or its implementations aren’t well written, but because the concept itself robs capability in exchange for conveniences we don’t really need. Relational databases have a lot to offer. SQL is a rich language that can perform complex queries, bulk data updates, computations, summaries, and more. It…

Objective-C has the best null handling of any object-oriented language. Here’s how it works: If you try to call a member function on a nil pointer, it is treated as a no-op. If the function returns a pointer, nil is substituted for the return value. If it returns a number, you get zero. Since there…