Maybe most people don’t write apps for both iOS and Android. Maybe those that do are biased by their feelings about Apple and Google. I’ve been doing both kinds of programming for almost 15 years, often writing the same app side-by-side on both platforms. And I can tell you without equivocation, Android programming sucks. Compared…
Editor’s note: This was originally published on March 16, 2008. Back in 1999, someone showed me an early Palm Pilot PDA. I was hooked immediately and bought my own a few days later. In those days, a Palm PDA was had a lot of deficiencies. Memory was limited to about 8MB, the screen was a…
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…