They say life is a cyclical process. Each defining moment is preceded by a step forward in science and/or our perception of the world in which we live.
Software development mirrors this evolution very closely. As each generation of hardware and software pushes the boundaries of possibilities further, so the underlying platforms used to build software need to be re-invented (and the developer community re-skilled alongside it), if progress is to be achieved.
Reflecting on past milestones, the CP/M, DOS, Unix Macintosh, Windows 3.1 and Windows 32-bit eras all caused seismic shifts in the way we used IT. Each of these platforms harnessed the power of the computing technology available at that time.
Fast forward to 64-bit computers (and beyond), and the leap to fifth generation languages such as...