top of page
Phil Venables

33 Computer Programs That Changed the World 

This is a slight departure from my normal security and risk management topics, but is something I’ve been getting more interested in. There are now a myriad of books like “A History of the World in 100 Objects”, the original BBC podcast and many others in this genre across a range of subjects.


This got me thinking about what are the computer programs, or more correctly overall software systems, that have changed the world. Everyone will have their own opinions, perhaps strong opinions, of what should be on this list. First, to help determine what this list might be we should set some criteria for inclusion:


  1. Societal Impact. It has to have had a broad societal impact either directly in what it does or the other software it enabled. 

  2. Self-Contained. It has to be relatively well defined / self-contained. While few important software systems can truly be considered to be a, literal, computer program we should bias toward this as much as possible. 

  3. Precursory. It set in motion a range of similar variants, perhaps being the original in its category that spawned many other implementations, or even a whole industry.


I have subdivided these into some broad categories so it’s not just one long list. 


Operating Systems

  • OS/360. The iconic IBM mainframe operating system that was the architectural breakpoint between what came before and what came after, whether it was VSE, MVS, VM or OS/390, all were spawned in some way from OS/360.  The challenges of its development are the wellspring of the lessons in Brooks’ The Mythical Man-Month


  • Multics. The precursor to pretty much all operating systems that we use today. 


  • VAX/VMS. Ok, I’m putting this in mainly because I spent a few years building various applications on VMS and I really enjoyed the platform and everything about it. But, seriously, I think VMS and DEC’s other platforms provided that path out of the mainframe, before PCs and well before distributed computing. This opened up a whole array of applications like process control systems that needed more power than micro controllers but less than a mainframe. Indeed, Dave Cutler brought a lot of lessons from VMS into Windows NT (see next point).


  • Windows. The operating system that made the PC revolution happen (along with MS-DOS). Some of you might remember the early days of the personal computer that were a plethora of different proprietary operating systems (by the way, this is a great book on the topic of Digital Retro) that were all displaced by Windows. It is specifically worth calling out Windows NT as the pivotal transition from the classic desktop O/S to what became server class capabilities. But, let’s not dwell on putting TCP/IP into Windows 95. 


  • Linux. I debated with myself whether to just list this as Unix, or even the original AT&T Unix, and hence bring in all the variants like BSD, HP-UX, Solaris, AIX and all the other flavors that were built off each other. However, while all these got extensive use in various industries it was Linux that swept them all away. It also swept away many proprietary O/S’s and delivered not only the pervasive enterprise and cloud environment we have today but also Android for mobile devices, itself derived from Linux / SE-Linux. 


  • iOS. It’s hard not to mention iOS, despite it being an amalgamation of various other O/S components and kernels but it’s hard to debate, along with Android, the extent to which this has revolutionized mobile computing. 


Programming Languages & Software Lifecycle Management

  • C. There were a number of pervasively used programming languages that emerged in the 1960’s and 70’s such as Cobol and Fortran but I think it’s fair to say that C, whether it is because of Unix and the related Internet ecosystem, became more widely used and in turn (for better or worse) begat a whole stream of variants (e.g. C++) and ultimately replacements with more memory safety properties, but many things trace lineage to C. 


  • Java and the Java Runtime. Java, and it’s various associated run time environments on end points of various scales and enterprise server infrastructure, was a departure from prior approaches and, despite its massive deployed code base in many organizations, is really on this list for the approaches it spawned and the languages and run times that build on its original innovations. 


  • Basic. Basic has to be on this list despite it having little true significance in deployed code bases. But, something that introduced 2 or 3 generations of people to computer programming at an early age is consequential. 


  • Python. Similarly, in the modern era, and actually in massive real world use cases, Python has become the language of choice for millions, and maybe even billions will have some passing use as part of their education. 


  • Git. There are clearly a plethora of IDEs, version control systems, packaging and deployment environments but I don’t really think any of them truly stand out enough to be something that “changed the world” in itself - except for Git and all that came of it. 


Communication / Network Stacks / Internet

  • IBM VTAM (in SNA). The original software-defined network (sort of) and network programming services interface coupled with a full protocol stack. Its influences, again for better or worse, but mostly better are still felt across the industry. 


  • Novell Netware / IPX. Ultimately swept away by later versions of Microsoft LAN Manager and, of course, TCP/IP implementations. The effects of Netware, IPX and related protocols and services such as directory services on the ecosystem echo today in many products. 


  • Ethernet. Some might consider this more hardware than software, but of course fundamentally this is an array of software that drives this link layer protocol and all its variants that became dominant and displaced Token Ring, FDDI, ARCNET and others. 


  • TCP/IP. More correctly, the whole Internet protocol suite, but TCP/IP is a good enough name. This does violate one of the criteria I laid out to be on this list, but it has to be here given the world we live in today enabled by ubiquitous and standardized communication. It’s amazing to think there was ever a serious debate in the early 1990’s about which of OSI or TCP/IP was going to become more prevalent. 


  • Netscape Navigator. Yes, there were ultimately better browsers with billions of users, like Chrome. I mention Netscape Navigator, rather than the predecessor Mosaic, as this was the first really widely deployed browser for the fledgling World-Wide-Web in the mid to late 1990's.


Security

  • F-PROT. One of the original anti-virus programs from the late 1980’s and, in my view, set the path for much of the innovation that followed, particularly with heuristic approaches. 


  • IBM RACF. Introduced in the 1970’s to manage identity, authentication and access control on IBM mainframes, it competed with the likes of ACF2 and Top Secret from CA. But many of the practical access control techniques we see today built into many environments and products can trace lineage to RACF. 


  • RSA BSAFE. The original and most prevalent cryptographic library, until its patents expired, which was licensed and deployed pretty much everywhere in every product up to the 2000’s and beyond. 


  • OpenSSL. The almost pervasive library for secure communications. 


  • OpenSSH. Similarly, these days this is more of a suite of tools but the extent of its use makes it hard not to include. 


  • Kerberos. Strictly speaking, Kerberos is a protocol but its implementations and protocols derived from it are also pervasive across Windows, Unix and many other environments. 


Workload Management

  • Borg. Google's Borg system is a cluster manager / job scheduler with a declarative specification language. It was the precursor to the open source Kubernetes now prevalent in many clouds and on-premise IT, and changed how the industry looked at distributed systems and, so called, warehouse scale computing. It, arguably, paved the way for how the world now thinks about declaratively specified infrastructure as code.


  • IBM JES2/3. Like many things, the IBM mainframe ecosystem spawned much innovation by necessity. This included pioneering batch scheduling systems like JES2 and then JES3 which influenced many job and resource scheduling (batch and otherwise) systems on most other technologies. 


  • IBM CICS. Introduced in the late 1960’s, CICS continues in its latest forms to serve workloads in banking, telecommunications and more. It represented a significant innovation in distributed transaction processing and provided useful abstractions for programmers, DBAs and network architects that inspired further innovation in other transaction processing software such as Tuxedo (for Unix) and beyond to the systems we have today. 


Data Management, Workforce Productivity and Publishing

  • MS Office. Programs like Excel and Word have dominated knowledge work for decades, having mostly superseded the initially better, and original, products like VisiCalc, Lotus 1-2-3 or AmiPro. 


  • Adobe Acrobat. Maybe not now, but before recent times, spanning back decades it’s hard to imagine a world without PDF.


  • Postscript. A page description language, among other things, that fueled publishing and printing for decades. An honorable mention should also go to LaTex here (if you know you know).  


  • Oracle DBMS. The relational database changed the world and even today despite the growing prevalence of other models it drives most of the world’s data management. I don’t want to list this as a concept as this is a list of software that changed the world and clearly there are many database management systems that have extensive deployment. From decades past we have Sybase, Oracle and IBM DB2. We have modern, often open source software like PostgreSQL and MySQL. But, I’ll pick Oracle to list here because, love them or hate them, they did - along with IBM - one of the better jobs in transforming enterprise use of this and providing enterprise scale capabilities with abstractions suitable for developers, data modelers and DBAs. 


Domain Specific 

  • TOPS (railroad and fleet management). TOPS is a railroad fleet and operations management system used originally in the US and UK. It was one of the earliest and most comprehensive approaches which set an example for many other implementations for fleet management beyond railways to other modes of transportation. 


  • Goldman Sachs’ SecDB (financial risk management). SecDB was (and still is) a highly innovative system for risk management, analytics and securities pricing. Based on numerous uncommon technologies at the time (early 1990’s) from graph databases to a domain specific programming language it was the system, especially after the 2008 financial crisis, that most other large financial institutions have tried to replicate or emulate in various ways. 


  • SABRE (airline reservations). If you fly, your reservations are most likely handled by SABRE, which for years has been a flagship technology for high reliability, high performance and high-scale transaction management. 


  • SWIFT Gateway (financial messaging). SWIFT is one of the more critical parts of the global financial system permitting secure messaging between the vast majority of the world’s financial institutions. The SWIFT gateway software enabled secure connection management and message handling. This permitted this system to evolve to what it is today, although now the software architecture is more dispersed. 


There are many things that people might be surprised not to see on this list, like Google Search, many new AI applications, some computer games and other platforms. You could easily argue they should be, but they don’t really meet the criteria of it being one cohesive program or software system vs. it being a set of software that delivers the service or capability. 

1,920 views0 comments

Recent Posts

See All

Security and Ten Laws of Technology 

There are many well known, so called, laws of technology. Moore’s law being particularly emblematic. Let’s look at some of them and see...

Subscribe for updates.

Thanks for submitting!

© 2020 Philip Venables. 

bottom of page