About Mark Stephen Sobkow

I've been programming since 1972 when I was 14 years old, starting at the local Radio Shack here in Yorkton, tying up their TRS-80 Model I Level I for hours at a time until I was finally told to buy one or give up programming.

When Sun released Java 1.0, I was sold on the concept of "Write Once, Run Anywhere" and was soon working my first project using JDK 1.0 an eternity ago. I stuck with Java 1.6 compatible syntax for my own internal work for the most part, as that is what many of the Apache libraries I depended on set as their baseline compatibility requirement. Only recently have I started making regular use of JDK 8 features designed to make the language more readable and elegant.

I do prefer the elegance of the Spring 4 Netbeans JDK 15 combination for my own development, but that is often not what clients use, so I don't' want to get in the habit of using incompatible syntax from newer releases. Realistically, JDK 11 is about the highest release one can presume most projects will be compatible with, as that is the default OpenJDK release used by Ubuntu 20.04 LTS.

Old technology decisions can have repercussions for long after the decision was made. Entire companies can come and go during the life span of a project, never mind a viable product with an established customer base. The world lives by "If it ain't broke, don't fix it" in reality. Most companies that engage on lofty "reengineering projects" of their software fail because they try to do too much all at once.

Surgical replacement of older pieces of systems is much more effective. Disturb the ant pile as little as possible, but replace the rock in the middle of it with a growing tree of new technology.