by Dwayne Phillips
When you rely upon things from other people, you are sometimes greatly disappointed. This holds for programming computers.
Are you a “full-stack developer?” Do you argue about what a full-stack developer is? Have you been asked, “Given this problem, what stack would you use?”
Sigh.
Since the pre-historic times of computer programming, let’s say…oh, the eighth decade of the last century, we programmers relied on other programmers. Someone else wrote the compiler. Someone else wrote the libraries we linked. Someone else wrote the operating system. We implicitly trusted these someone else-s because that is how it worked.
Today, in our post (post(post)…)) modern world, there are many more of these someone else-s involved. These someone else-s wrote all the software in all these stacks. That is how it works. So what’s the problem?
Every now and then, about once a week, someone finds a problem in software written by someone else. They exploit that problem and soon their cousins are buying big-screen TVs using your credit card. Sometimes they exploit the problems and do some real damage to the world.
But this stack is used by a gazillion people in the world.
Yes, and perhaps we can run through the history of the world and cite a few other examples of lots of people depending on someone else who was quite disappointed.
I don’t advocate starting with a blank screen and writing your own operating system and up the stack. I do advocate a realistic approach to programming in any given stack. Analyze the risks for your situation.
Decide, don’t default.
I won’t be surprised this November to walk into a polling place and see computerized voting machines that are based on Windows 10. The day after the election, someone will show how easy it is to hack those voting machines. Of course it is easy. Those machines were built on a tall stack of software written by someone else.
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment