We write history; from PC to PC - Part I
Since my early days of studying when I acquired my first hard disk with a capacity of 20 MB, offering the convenience of booting up at once instead of swapping floppy disks and patiently waiting while the metallic hum and clatter filled the air, byte by byte loading the DOS operating system until the green cursor blinked on the black canvas of my 9-inch screen, a lot has transpired.
It felt like magic. Even during my time at boarding school, I would seize every available moment to sit in front of a device that resembled a typewriter merged with a printer, lacking a monitor. I'd type away in the BASIC programming language, which served as my initial gateway to the world of computing. We played with line numbers—10, 20, 30—and if something was accidentally skipped, we'd insert 15 or 25. '10 PRINT This is my line'—those were the humble beginnings. One of my most ambitious projects involved typing out the lyrics of a popular American song in English. I proudly printed multiple copies of it, cherishing the sense of accomplishment.
When it came to studying computer science, particularly its practical applications, I was captivated from the very start. We started with Pascal, a versatile language that served as our gateway to comprehending a multitude of concepts. From crafting abstract data structures and mastering the intricacies of traversing binary trees and maintaining their balance, to exploring diverse sorting algorithms and optimizing them based on intricate theories, we have explored complex problems like the traveling salesman dilemma. We even ventured into the realm of constructing compilers and finite state machines.Throughout, we grappled with a variety of challenges, from handling data and databases, all while being acutely aware of the ever-present constraints of memory, processing capacity, and execution time. Imagine working with a mere 640KB of storage on floppy disks and CPU clock speeds of 8 MHz, with the possibility of doubling that speed to 16 MHz at the press of the Turbo button.
Optimization, swapping, module layouts, and libraries to handle these tasks, along with planning for system sizes and hoping that the system would remain stable—these were the challenges we faced. My very first innovative task was to create a phonebook, which may sound almost comical in today's context, but back then, resources were scarce. In the vast world of MVS and mainframes, proprietary solutions existed, but for personal computers, which had only recently entered the market with Intel x86 processors, real options were limited.We had to develop memory layering functions from scratch, utilizing DOS interrupt commands, encapsulating them in Macro Assembler, and integrating them into higher-level programming languages, such as Pascal. Can you imagine a time when C++ and Java didn't even exist? Working on these intricate problems didn't just involve coding; it required developing a sixth sense for software—knowing when something wasn't quite right. It was a tedious and often frustrating process. Some students even gave up. One of them told me, 'I don't want to be a slave to the machine. Even naming the smallest variable feels like breaking our heads.' Indeed, that's how we eventually arrived at the principles of clean code and best practices. But back then, all we saw were lines and lines of empty space on the digital maps of the computing world.
When we ventured into networking, it felt like a world of endless possibilities had opened up. It was now possible for the code we wrote to connect with the outer world, even over the ARPA network. Imagine that.. Perhaps, that little box still rests somewhere in the attic, preserving the legacy of our family's technological journey.
My brother is coming to visit me, and our entire family is deeply engrossed in the world of computers. At this time, I received a remarkable gift—an awe-inspiring 4GL tool designed to streamline parts of code generation. It was a groundbreaking discovery, both innovative and effective. Quicksilver emerged as a fierce competitor to FoxPro and various other tools developed by Ashton-Tate. The journey began with DBASE I, then DBASE II, and soon evolved into DBASE III, with compilers following closely behind.Among these, one standout was Clipper, which bore a striking resemblance to its predecessor and introduced numerous libraries and enhancements. One of its true marvels was TLib, a genuine game-changer. With it, we could unleash our creative fantasies and develop database applications that genuinely excelled. We gained access to phonetic libraries, mathematical packages, and the equivalent of a sweet shop that remained open around the clock, offering endless possibilities.
What can I say? My Diplom Work, which I eventually had to defend in front of a state committee, was technically executed with the help of Quicksilver and some C code. While it worked reliably and performed its intended functions, the primary focus was on system analysis. I also employed wild imagination, reminiscent of scenes from Sci-Fi movies, envisioning the use of geographical coordinates to calculate distances and estimated arrival times on a driving map.As the GPS revolutionized navigation worldwide, I couldn't help but feel a twinge of regret. I realized that I had missed the opportunity to incorporate this groundbreaking technology into my Diplom Work, which could have elevated it to a whole new level of innovation and practicality.
Years passed, and technology soared to new heights. Many remarkable systems were created, and technological advancements often left people both excited and apprehensive, not without good reason. However, behind the scenes, my focus remained on data - its organization, access, memory management, capacities, algorithms, and algorithmic structures. It felt as though no time had passed since my XT Turbo PC with its 8MHz processor and enormous 20MB hard drive. The problems evolved, morphed, shifted in form and color, but the core challenges remained the same: how to gather, organize, and deploy information stably and securely.
Allow me to take you back to the late '80s when I moved to Germany for a couple of years. This was a time when the projects I worked on predated the birth of Java, which would later revolutionize the tech world. I vividly recall standing in awe in front of a large monitor at CEBIT Hannover, witnessing the birth of the browser—the window to the internet. It was likely the first time I heard the word 'Internet' used openly. It was also a moment when I witnessed the first Microsoft C++ compiler demonstrated in action. While I had seen and even tried the Borland C++ compiler in a shop, I couldn't afford it as a student. Besides, we didn't fully grasp its potential; it resembled a Pascal compiler, which we were already quite familiar with.
So, let's save the rest for the next post, and I hope to see you there. You know, it's a bit strange, almost like talking to oneself alone 🙂.