Sometimes people ask me how I started programming, but it's not easy to answer in a few words. In a way, I never started programming, that is, I didn't know I was starting to do it. I still remember the day my parents bought me my first Computer. It was December 14, 1985, I was 12 years old, and I couldn't have known in advance that that famous Commodore 64, which I saw advertised on TV, would accompany me for my whole life, literally changing and saving my existence.
Maybe I was excited or maybe not, I don't remember, but I do know for sure that I was curious about that new electronic object. I remember the afternoon we went to buy it, I remember the words, I remember the atmosphere, I remember the lights of that big 80s store, I remember what I did the first evening when I turned it on for the first time. In those days, I spent hours exploring my Computer, trying to understand how it worked and discovering what I could do with it. Along with the C64 came a cassette with a game based on a cult movie released in 1984 - which I had already seen and loved in theaters - that became part of the cinema history of those years: Ghostbusters. Back then, I couldn't have known that many years later, Ghostbusters, David Crane, and Activision would become iconic game, programmer, and Software house of that time.
The Commodore 64 was a very popular Computer in those years. In 1985, only three years had passed since its release and it was perhaps the most widely used Computer worldwide, especially in the home environment. It had a MOS Technology 6510 CPU at 1.02 MHz, 64 KB of RAM, and a very advanced graphics for its time, which could display up to 16 colors. It also had two joystick ports and a video output. For storing games and programs, floppy disks or audiocassettes could be used. It was possible to program using Basic or Assembler. My setup consisted of a machine body, the old model now called the "breadbox," a data cassette, a joystick, and a green phosphor Monitor.
The Computer world in those years was still in the making and I had just started speaking a new language, that of computers. Now I know the history of that era, I know the cultural and technological ferment that animated the world. From my twelve-year-old point of view, everything was moving very fast, that world was becoming more and more present in my daily life. With hindsight, I recognize that I lived through the golden age of computing. Golden not for the economic capital that the major players of the time earned - the real economic boom of computing and electronics would come in the 1990s - but for the cultural growth that could be felt wherever there was technology or groups of "technological men". I was curious to understand how computers worked and how they were programmed. So I started learning BASIC, reading the manual of that little electronic gem. The thing I liked the most was experimenting and creating new things. It is useful to recall those years, to better understand the detachment between the daily reality I lived at home and the passion that grew for that machine. The people around me didn't understand that those "things" I created were concrete for me, while for them they were just images that could be turned off at any time. The Computer was the perfect tool for me to unleash my imagination, because it allowed me to test my ideas quickly and effectively. So, in those months, I continued to learn and expand my knowledge, until I realized that BASIC was no longer enough for me, that there was a much more powerful language: the machine language of the 6510 microprocessor.
The Jackson Books manuals were an invaluable resource for me. There was no Internet back then, and to get information on the C64 and programming, I had to buy manuals by mail order and experiment on my own. They were complex books, but I was so passionate that I didn't care. I read everything I could find and acquired knowledge that would still challenge even an adult today.
If I were to find my old Italian class assignments from middle school, I would surely find all the passion that consumed me written in them. Many years later, I met the teacher who still remembered my class assignments, in which my "64" always had a place of honor in some way. Today, forty years later, the Commodore 64 has become an icon of popular culture and an object of worship for Computer enthusiasts. I was one of those lucky kids who had the opportunity to experiment with this Computer, had the chance to learn from the best Computer of its time, and develop my technical and logical skills in an environment that valued my creativity. I even went beyond that, I learned to create decent digital graphics, producing sprite animations (programmable graphic objects that could be moved and positioned independently of the display background) and backgrounds, created games and many utilities for graphics creation, and programmed in a language that has now become a legend: assembler. The fact is that only later did I realize that I had gone beyond, that I was achieving exceptional things, that I had effectively adopted a language that was incomprehensible to most.
I can somewhat explain how I started programming? For example, in those years they sold books in the bookstore that contained programs for the C64. Together with a friend, we spent entire afternoons copying the listings onto the Commodore. I dictated and he wrote, he dictated and I wrote, until we completed the listing and ran the program. But sometimes the program would give an error, either because of us or because of badly written code. Did this little step lead to thinking that programming is just copying someone else's code? Come on, let's be a little creatively flexible. At twelve years old, I had discovered programming by learning to solve problems, think logically, and write code to perform certain actions. Today, this process is known as computational thinking, a concept that refers to the ability to solve problems through a logical and structured approach, typical of Software development. At the time, without a teacher to guide me, I didn't realize that what I was doing was actually programming. With that "game," I learned to tackle challenges, identify solutions, and execute code to complete my projects. That's why today computational thinking has become a fundamental concept in Computer education, because it helps to develop an analytical mindset that can be applied in many different contexts. Programming is not just about writing code. It is a process that also requires a good dose of creativity, ingenuity, and intuition. Real programmers know that code is not the only tool at their disposal and that a programming language is just one tool among many.
My experience with the Commodore 64 taught me that programming is a creative process that requires technical skills, critical thinking, and a passion for technology. My determination and creativity allowed me to overcome the challenges I encountered along the way. At 22, when I lost my sight, I was able to take control of my life again only when I started programming using a voice synthesizer. I am good at many things, but programming is my art. Also because programming is the time I dedicated to it, taking away this time from other adolescent activities that I could have done instead. I believe everyone should cultivate their own talent, whatever it may be. Talent must be cultivated from childhood, because starting as an adult will only make us good amateurs or mediocre professionals, regardless of the degree we possess, but never true artists. Each of us has a unique set of skills and natural talents that can be developed and used for our personal well-being and that of others. Cultivating our talent means dedicating time and energy to practice, learning, and constant improvement of the skills we are most suited for. Only through practice and constant effort can we achieve great results and realize our full potential. In this case, practice also includes and above all the growth of our mental and cultural abilities. This can also lead to greater personal fulfillment.
When we are able to make the most of our abilities, we feel more confident and satisfied with our capabilities and are able to achieve greater goals in life, especially those aimed at achieving happiness and solidarity.
I see many people who dedicate their time to fleeting interests, moving from one to another when they encounter the complexity of each one. Often what a talented person accomplishes with ease can seem simple or natural to others, but in reality, behind that talent are years of study, research, and dedication. Talented individuals who have achieved great accomplishments often dedicated a large part of their lives to cultivating their skills and perfecting their techniques. This process requires a great deal of time, energy, commitment, and perseverance.
I am almost fifty years old, and when I start programming, I become a child again, completely losing track of time. It is like diving into a sea of light made of knowledge, taking the constructs present there and rearranging them into new creations. Since the age of twelve, I have never left the field of Computer science and programming. I am grateful to my parents for letting me do what I wanted. Today, I am a programmer, a profession that almost perfectly overlaps with my natural talent. Programming does not just mean writing code; that is just one of the final stages. Many people have the idea that programming simply means writing code in a particular programming language, but in reality, programming is a much broader and more complex process. For example, a programmer must be able to analyze and solve complex problems, design effective solutions, and know how to test the Software to ensure its reliability and security. But programming is still more: it is talent, it is passion, it is the spiritual union between programmer, creation, and the Software created. And disability has nothing to do with it.