It was the first day of Java class. After class, one of my wife’s students walked up to her and explained.
Java is the perfect language. Why should I bother to learn anything else?
She explained that there is no perfect computer language. Each one is designed for a purpose, and trying to force a language to do something it wasn’t designed to do is a bad idea. She continued.
Computer languages are like vehicles. Take the C language. It’s like a tractor. It’s great in the field, digs in, but you wouldn’t want to take it out on the Interstate. The Bash shell is like an electric golf cart. Quick, easy, short haul. You wouldn’t want to race it at the 24 hours of Le Mans. Java is like an SUV. All purpose language. But you wouldn’t use it to haul five ton concrete barricades. See what I mean?
Suddenly the student’s eyes widened. The analogy to vehicles and cars made perfect sense to him.
It’s The Same For OSes
The same pervasive rationalizations are used for operating systems. The analogies above are not so clear-cut, but still there. Corporations use Linux because it’s free, modifiable, and supports a rich universe of development tools. There are few limits. The uses of and relationship between macOS and Windows is more complex. Plus, the user’s affections often depend on what they grew up with. One can be lulled into believing that expertise in a single OS is enough. Resistance to change is lethal and works against the modern student looking for shortcuts.
The fact remains, it’s not wise to hang one’s hat on just one OS in today’s workforce. Sure, it’s easy to rally around just one OS, like macOS, and develop pseudo-intellectual haughtiness for it. After all, it’s based on BSD Unix. It’s better integrated with the hardware. Historically, it’s sported a cleaner, more intuitive UI. (Except that some people coming to macOS from Windows will deny that.) The fact is, however, knowing Windows inside and out is a skill not to be slighted.
My wife has had students proclaim the superiority of either 1) macOS 2) Windows or 3) Linux (or Android) as so superior that it’s not worth bothering with anything else. This is a modern career mistake.
Just Know Everything
I remember my graduate school days in physics. Physics is a field with so many storied individuals that one literally has to stand up to several hundred years of scientists with breathtaking talent. There’s just never an excuse for not knowing everything.
During my comprehensive orals exam, a precursor to being allowed to write a Ph.D. thesis, I was asked by one of my committee members, out of the blue, about the Aharonov–Bohm effect. I had just been reading about that, and so I said, “Sure.” And went on to briefly explain it.
That told the professor a lot he needed to know about me. I was beginning to act like a professional. I showed signs of a sense of responsibility to the physics community to be well read and then be articulate about what I knew.
The rest of the oral exam was going to the white board and solving problems thrown at me. But I’ll never forget that moment when I experienced career reality. Saying “I never heard of that. I don’t know” would never cut it. I knew that one day in my career, I’d be called to have the answers. Here’s a nice video punctuation of that : “The IBM Flaming Logo.”
Page 2: Doing the hard stuff. Like Mr. Spock.