Is BASIC Enough?
It’s been a little over two years since I wrote the contested “Why I No Longer Advocate for Multivalue”, and while I normally wouldn’t think much of it, today this excellent article appeared on my feed and it got me thinking about how very little has changed.
For those not familiar with the term “Multivalue”, allow me to provide a bit of background. In the mid 1960’s, a gentlemen by the name of Dick Pick (his real name, and no, don’t Google it because, well, whatever, go ahead…) and another gent named Don Nelson implemented this computer operating system they called GIRLS (and no, I am not making that up either) which eventually became the Pick Operating System. The central feature of this computer system is a multidimensional data storage model which allows a single record to contain more than just columns and rows. Each intersection of a column and row can contain any number of values — called “multivalues” and each multivalue can itself contain any number of values, called “subvalues”. It may sound confusing when you consider how just about everyone else in the world stores data, but for more detailed information, check out the Wikipedia page.
As years passed, the Pick OS splintered into a few different derivatives. jBase, QM, Revelation, D3, Unidata, and Universe are common versions of the database in use today. While each derivative has its core strengths, all share a similar dynamic storage model, query language, and programmability. Later, with the passing of Pick himself, and the rebranding and eventual sale of his company, the industry rebranded itself as “Multivalue”. (Because, well, the phrase “Dick Pick” now means something completely different.)
The dynamic storage model of Multivalue is really quite awesome. It’s simple to use for building business applications and is extremely flexible. The query language, not unlike SQL, has a certain structure to it, but even there the language is generally far more flexible than common SQL. Programmability is also easy and very flexible, as long as you don’t mind writing everything in BASIC.
Yes, BASIC. 1977 Dartmouth BASIC to be specific. Each vendor has added their own twists and turns to it, but at the heart it’s 1977 BASIC with IF..THEN..ELSE, FOR..NEXT, and the like. Remarkably, as BASICs go, it’s ridiculously powerful. But the question for today is simply this: Is BASIC enough?
Before we explore that, let me take another side quest to explain a little bit about why it matters. I started programming on a Pick derivative system in 1984. Almost forty years later, I’m still writing and supporting code that runs on Pick derivatives. But I’m not alone. Twenty-odd years ago I started a company to provide professional programming services and presently employ several Multivalue ninja masters along with a number of non-Multivalue code masters. We presently write solutions for Multivalue platforms, but also have a very healthy business in web technologies, system and solution integrations, and mobile application development.
As a growing company, periodically we need more talent. Herein lies the problem. In today’s world of smart phones and web services and encryption and everything else that everyone uses every day, it’s not enough to be the best BASIC programmer on the block. Yet, there is this pervasive feeling among the Multivalue faithful that BASIC is all that anyone ever needs. It’s almost as if this industry has become a living example of “when all you have is a hammer, everything looks like a nail”. Yet everything isn’t a nail. Hashing, encryption, virtualization, mobile app development and more require skills beyond the realm of BASIC. BASIC programmers have bought into the lie that BASIC is all you need, and if BASIC can’t do it, it doesn’t need to be done. So, they just don’t. They don’t learn new things. They don’t challenge the status quo. They don’t look outside of Multivalue to see what the rest of the world is doing. They don’t dare peek outside the dark, comfortable numb.
Now, to be fair, these are harsh generalizations. Not every Multivalue developer has these impediments. But the number of resumes that have crossed my desk with this bent is far greater than those with a well-rounded background.
The sick part of all this is that it doesn’t have to be this way. In the 80’s when I started coding, if you wanted to learn something new you went to a library or bought a book. Today, there are so many online resources, anyone could learn how to do just about anything with a simple web search from the comfort of their own surroundings. ANYONE. ANYTHING. ANYTIME. Why aren’t more people investing in themselves before asking companies to invest in them?
The days of one-trick-ponies are over. If you want to get hired, be marketable. In Multivalue — or any other skill, technical or otherwise, the wider your horizons, the more marketable you will be. More marketable translates to less stress about job changes, and more negotiating power when facing a change; all positives.
Finally, while the stakes are high for those looking for employment, the stakes are even greater for the Multivalue industry. At 58 years of age, a mere 10 (or less) years from retirement, I am on the younger side of the community. People are retiring (or dying) out of the industry at a rapid pace. More concerning, the number of younger folks coming into the industry is not keeping pace with the number of developers leaving it. It doesn’t take a math genius to figure out how that ends.
Fortunately, this is a solvable problem. Multivalue vendors must pivot their products to not be one-stop solutions, but as merely one star in an ever-expanding cosmos of computing technology. Get down and dirty with the other stars. Learn their strengths; capitalize on their weakness, and for the love of God, Jeffrey, play nice. Otherwise, a day is coming when there will be nobody left to continue the legacy of this wonderful, ancient, and ridiculously powerful solution that sprang to life from one Dick Pick.
That would be a tragic loss.