title: 1997 - Introduction to Computing
icon: FasCalendarCheck
In February 1997, at the age of 11 and while in the 6th grade, I had my first encounter with a computer. This moment marked the beginning of my fascination with technology.
Before typing a single line of code, I was introduced to the art of planning and designing programs using flowcharts. This foundational step involved mapping out the logical flow of the program's execution, identifying decision points, and specifying the sequence of operations. Understanding the importance of a well-structured plan laid the groundwork for my programming endeavors on the Amstrad PCW. Armed with flowcharts, I translated these visual representations into Mallard BASIC language. (Resource: Mallard Basic) code, fostering a holistic approach to problem-solving in the world of computing.
The first computer I started working with was an Amstrad PCW. This device operated on the CP/M operating system, and it was here that I initiated my programming journey using the Mallard BASIC language.
My first program, written in Mallard BASIC, was a simple yet meaningful one. It prompted the user to input a list of integers, calculated their average, and displayed the result.
The initiation into the world of programming in 1997, with the Amstrad PCW and Mallard BASIC, was a journey through a tapestry of complexities.
Picture this: powering up the Amstrad PCW and inserting the CP/M operating system floppy disk was just the initial step. Once the system sprang to life, the intricate ballet of floppy disks continued. The transition from the CP/M disk to the BASIC disk marked the next phase, laying the groundwork for programming. However, the process didn't conclude there. The final layer of complexity unfolded as the BASIC disk made way for the dedicated program disk—a repository for both loading and saving code.
This orchestrated sequence of floppy disks, each with its specific role, added an extra layer of intricacy to the act of programming, turning it into a thoughtful and deliberate endeavor.
10 INPUT "Enter the number of integers: ", N
20 TOTAL = 0
30 FOR I = 1 TO N
40 INPUT "Enter an integer: ", A
50 TOTAL = TOTAL + A
60 NEXT I
70 AVERAGE = TOTAL / N
80 PRINT "The average is "; AVERAGE
This straightforward program not only introduced me to the fundamentals of programming but also ignited my passion for exploring the possibilities within the world of coding.
Writing programs during those times presented unique challenges. Unlike modern graphical text editors, I didn't have the luxury of a user-friendly interface. Instead, I interacted with the code using command-line instructions. Listing and editing lines of code required a series of commands, making the coding process a meticulous and sometimes arduous task. Despite the challenges, it laid the foundation for my coding skills and instilled a sense of perseverance in the face of technological constraints.
To list all lines of code in your Mallard BASIC program, you would use the LIST
command:
LIST
This command displays the entire program on the screen, providing a comprehensive view of your written code.
To edit a specific line of code, you can use the EDIT
command followed by the line number. In the context of Mallard BASIC, this would open a text-based interface, showing the line you're editing. After making modifications, pressing Enter would save your changes:
EDIT 10
This example opens a text-based interface for editing line 10, allowing you to make modifications. After editing, pressing Enter would save your changes.
To add new lines of code, you can specify the line number followed by a space and then the code you wish to add. If the line already exists, it will open in the text-based editor; otherwise, a new line will be created directly.
50 PRINT "This is a new line"`
This example adds a new line at line number 50 with the specified code.
To delete lines of code, utilize the DELETE
command followed by the range of lines you want to remove.
DELETE 30-40
This example deletes lines 30 to 40 from the program.
Editing Mallard BASIC code in this manner was a unique experience, providing a text-based interface where you could directly interact with and modify each line of code.
To execute a Mallard BASIC program, you would use the RUN
command:
RUN
This command initiates the execution of the loaded program in RAM.
To interrupt or stop a running program, you could use the key combination CTRL + C
. This keyboard shortcut would halt the execution of the program.
Due to the absence of a hard disk on the Amstrad PCW, program storage was facilitated through the use of 3-inch floppy disks. You could load a program into memory using the LOAD
command:
LOAD "PROGRAM.BAS"
Conversely, to save a program to a floppy disk, you would use the SAVE
command:
SAVE "PROGRAM.BAS"
These commands allowed you to transfer programs between the Amstrad PCW and external storage.
The Amstrad PCW, lacking a hard drive, relied on the limited but versatile 3-inch floppy disks for program storage and transfer.
Looking back, one of the remarkable aspects of programming on the Amstrad PCW was the minimalistic and distraction-free environment it provided. In contrast to the multitasking-rich environments of today's technologies, the simplicity of the Amstrad PCW encouraged focused learning and programming.
With few distractions, I could immerse myself in the world of coding without the constant interruptions and temptations present in modern computing environments. This uncluttered space allowed for a deeper understanding of programming concepts, fostering a strong foundation for my journey as a programmer.
In today's fast-paced digital landscape, the ability to multitask is often considered a valuable skill. However, for beginners diving into the world of programming, multitasking can be a significant obstacle. The Amstrad PCW's limited distractions inadvertently created an optimal learning space, enabling me to concentrate on the essential aspects of coding without the complexities of managing multiple applications simultaneously.
This intentional focus on a single task at a time facilitated a more profound comprehension of programming principles and laid the groundwork for a successful programming career.
One of the most remarkable aspects of my early programming journey was the opportunity to start learning at a young age. The formative years offer an invaluable window of opportunity to absorb new concepts and skills rapidly. As I navigated the world of programming on the Amstrad PCW, I realized that laying the groundwork for a programming mindset early on was akin to constructing a solid foundation for a building.
Numerous studies suggest that early exposure to programming and computational thinking enhances cognitive development in children. Learning to code involves problem-solving, logical reasoning, and creativity—skills that are not only fundamental to programming but also contribute to overall cognitive growth.
The Amstrad PCW, despite its vintage charm, served as a time machine for me, transporting me to an era where the seeds of programming curiosity were planted early. The structured and logical nature of coding provided a mental workout that undoubtedly contributed to my cognitive development.
Learning to program at a young age instills a sense of familiarity and comfort with technology. In an era where digital literacy is increasingly vital, early exposure to programming equips individuals with a skill that transcends age and continues to be relevant throughout life.
The Amstrad PCW, as my first programming playground, played a crucial role in fostering this early connection with technology. The lessons learned during those early coding endeavors set the stage for a lifelong affinity with programming and technology in general.
The simplicity of the Amstrad PCW environment encouraged a sense of curiosity and exploration. The absence of overwhelming complexities allowed me to experiment, make mistakes, and learn from them. This spirit of discovery, nurtured from a young age, remains a driving force behind my passion for problem-solving and creative expression through programming.
While the technology landscape has evolved significantly since the Amstrad PCW era, the timeless importance of introducing programming at a young age remains steadfast. Early exposure to coding not only builds practical skills but also instills a mindset of curiosity, resilience, and innovation.
As we reflect on the intersection of technology and education, fostering an environment that encourages children to explore the world of programming becomes a key investment in shaping the innovators of tomorrow. The Amstrad PCW, with its simplicity and early introduction to programming, served as a catalyst in nurturing the seeds of innovation that continue to grow to this day.
The seeds of my journey into the realm of programming were planted in 1997 when, as a young enthusiast, I crafted a game replica of the iconic Carmen Sandiego using Mallard BASIC on the Amstrad PCW. This venture, sparked by a day of gaming inspiration, led to the creation of intricate flowcharts and over 500 lines of code. It was this commitment and earnest effort that caught the attention of my professor, igniting a mentorship that went beyond the ordinary classroom interactions. This pivotal moment marked the beginning of a more dedicated exploration of software development, where my passion for programming began to transcend the realm of hobbyist curiosity.
My journey with the Amstrad PCW has been a revealing exploration that has left a lasting imprint on my path as a programmer. From learning the basics of program design through flowcharts to experimenting with Mallard BASIC in a minimalist environment, each phase has contributed to my unique understanding of programming.
The execution and management of programs on the Amstrad PCW, with its focus on efficiency and simplicity, highlights the significance of a distraction-free environment. In contrast to today's complexities, this environment provided the necessary space for deep immersion in programming and learning without constant interruptions.
Exploring the importance of learning to program from an early age underscores the enduring relevance of cultivating programming skills and mindsets from childhood. The cognitive and practical benefits of this early exposure persist throughout life, contributing to a strong connection with technology.
In summary, the Amstrad PCW, though a relic of the past, has proven to be an invaluable mentor in my journey as a programmer. Its simplicity, emphasis on careful design and efficient execution, and the importance of starting early in programming learning have formed the pillars of my approach to computer science. As we navigate a constantly evolving technological world, these timeless lessons serve as fundamental guides in the practice and education of programming.