Monday, April 5, 2021

The Golden Age of Programming

Was there a "golden age" of programming?  A time that was considered the best of times for programmers?

I assert that there was, and that it is now. Moreover, I assert that we have always been in a golden age of programming, from the early days of computing up to now.

I will use my personal history to explain.

I started programming in the mid 1970s, in high school. Our town's high school was fortunate enough (or wealthy enough) to have a minicomputer which ran timesharing BASIC, and the school used it for teaching programming. It was a DEC PDP-8/e computer with a DECwriter and three Teletypes, so up to four people could use it at once.

For me, this was a golden age of computing. It was infinitely better than what I had before (which was nothing) and it was better (in my mind) than older computers I had read about, mainframe computers that accepted programs on punch cards and required either FORTRAN or COBOL. I had read a few books on FORTRAN and COBOL and decided at that tender age that those languages were not for me, and that BASIC was a much better programming language. (I have since changed my opinion about programming languages.)

Shortly after my experience with timeshare BASIC, my father brought home a microcomputer for the family to use. It was a Heathkit H-89 (technically a WH-89, as it was already assembled) and it could be programmed in Assembly language and in BASIC. Other languages could be added, including a subset of C and a subset of Pascal. (It was also possible to purchase FORTRAN and COBOL for it, but those were expensive, so we stayed with Assembly and BASIC and C and Pascal.)

Programming on the H-89 at home was much better than programming on the PDP-8/e at school. The home computer was available twenty-four hours a day, while the computer at school was available only after classes. The home computer had a CRT display, so it did not need paper like the Teletypes on the school computer. The CRT was also faster, and it had some rudimentary graphics capabilities.

That was a golden age of programming.

The early 1980s saw the introduction of the IBM PC and PC-DOS, and with them the introduction of new languages. The IBM PC came with BASIC, and other languages such as dBase and R:base and Clarion were available, as well as COBOL and FORTRAN.

That was a golden age of programming.

The 1990s saw the adoption of C and later C++ as programming languages. The full version of C (not a subset) was available on PCs, and I worked for a company that used C (and later C++) to build applications.

The 1990s also saw the introduction of Microsoft Windows and programming languages tailored for it. There were Visual Basic and a Visual C++ from Microsoft, which came with complete IDEs that included editors and debuggers. Borland offered its own C++ with IDE. There was PowerBuilder which let one build client-server applications to take advantage of the networking capabilities in Windows.

That was a golden age of programming.

Today, we have oodles of programming languages. We have Go and Swift and Python and R. We have C# and F#, VB.NET and Java. We also still have FORTRAN and COBOL.

We have excellent tools to support programmers. We have editors, debuggers, IDEs, and syntax checkers. We have sophisticated version control systems that allow for coordinated development by teams and across multiple teams.

This is a golden age of programming. And I predict that it won't be the last.

No comments: