While we often hear the names of Software giants such as Zuckerberg and Dorsey, we rarely hear about the so-called fathers of software engineering such as Boehm and Dijkstra. This week we look at our top 5 pioneers of software development and their contributions to modern-day advancements.
David Parnas: Born in 1941, David Lorge Parnas is a Canadian innovator of software engineering who developed the concepts behind modern-day object oriented programming. As one of the first to apply traditional engineering principles to software design, Parnas pioneered the ideas of modular design combining high cohesion and loose coupling between modules in software design to which he referred to as “information hiding.”
Edsger Dijkstra: Dijkstra was a Dutch systems scientist, programmer, engineer and early pioneer in computing science. A mathematics professor by trade, Dijkstra helped shape the discipline of Computing Science from both an engineering and theoretical perspective contributing to fundamental concepts such as operating systems, programming language research, software engineering principles as well as philosophical foundations of computer programming and computer science. In the 1960s, when computer programming struggled to become an academic subject, Dijkstra implemented his mathematical and physics skills to advocate a stronger quality of programs by using his personally coined phrase “Structured Programming” which became the new orthodoxy in programming in the 1970s allowing programmers to organize and manage increasingly complex software projects.
Barry Boehm: Boehm is an American software engineer who focused his research on software development and engineering environments. While focusing on the costs of software respective to those of hardware, Boehm contributed to various models and theories including the Constructive Cost Model (COCOMO), the spiral model of the software process, the theory W (win-win) approach to software management, and two advanced software engineering environments, the TRW Software Productivity System and Quantum Leap Environment.
Watts Humphrey: Born in 1927, American Software Engineering pioneer Watts S. Humphrey has also been referred to as the “father of software quality.” Joining IBM in the late 1950’s, Humphrey led the software team that introduced the first software license. After leaving his vice president position at IBM in the 1980’s, Humphrey went on to establish the Software Process Program which was aimed at understanding and managing the software engineering process.
Fred Brooks: Born in 1931, Frederick “Fred” Phillips Brooks Jr. is an American computer architect and software engineer, best known for managing the development of IBM’s System/360 families and the OS/360 software support package and then candidly writing about the process in his book “The Mythical Man-Month.” One of his most famous projects was working on the architecture for the $10 million scientific supercomputer, the IBM 7030 Stretch, as well as the IBM 7950 Harvest computer for the National Security Agency.
VTRAC Wants to Know: So there you have it – our top five Software Engineer pioneers. Can you think of someone we missed? Let us know who your top picks would be!