In the world of programming, every journey begins with a first step. For Shlomi Fish, that first step was taken on an XT computer, a relic of a bygone era. Little did he know that this humble machine would be the launch pad for a career that would span decades and leave an indelible mark on the world of software engineering.
XTs, BASICs, and DOS
In the fourth grade, Shlomi was introduced to the world of programming through an XT computer. With the BASIC language embedded in the ROM, he, along with his friends, embarked on a journey of discovery. They armed themselves with a set of booklets titled “Mahsheveth,” designed to teach the intricacies of BASIC in the DOS environment. This was a time when saving programs was a luxury, and the early exposure to structured programming laid a solid foundation for Shlomi’s future endeavors.
As they delved deeper into the world of programming, they realized that there were countless ways to approach a problem. This early lesson in the flexibility of coding styles would serve Shlomi well in the years to come.
Learning C
As time progressed, Shlomi’s hunger for knowledge led him to explore more advanced programming languages. His friend delved into the realms of Microsoft Quick C, unraveling the mysteries of hardware programming and the x86 Assembly language. Meanwhile, Shlomi set his sights on Borland’s Turbo C++, immersing himself in the world of C and C++.
Pointers, a concept that initially eluded him, were demystified during a chance encounter with an army programmer. This newfound understanding propelled Shlomi forward, and he delved into more complex topics like classes, objects, and templates.
Building Tools: CSEE.c and CCALC.c
Shlomi started a personal project and created a module of components he aptly named CSEE.c out of his passion for programming. This collection of graphical utilities showcased his burgeoning skills and provided a glimpse into the programmer he was becoming.
His thirst for knowledge led him to craft CCALC.c, a library of numerical routines that pushed the boundaries of what was possible in the C language. From factoring numbers to primality checks, Shlomi’s library was a testament to his growing expertise.
Small Victories: BASIC Programs That Made a Difference
In the world of programming, even the smallest victories can have a lasting impact. When faced with the challenge of replicating a Fluttering Flag effect, Shlomi turned to QBASIC and later translated it into C, resulting in animations that surpassed his initial expectations.
His foray into the realm of Dungeons and Dragons led him to discover an efficient method for calculating character abilities. Armed with a powerful algorithm, he astounded his peers and teachers, showcasing the power of computational thinking.
The Most Underestimated Feature of Excel
With the introduction of Excel 4.0, Shlomi stumbled upon a hidden gem: Visual Basic for Applications (VBA). This powerful scripting language unlocked a new realm of possibilities, allowing him to automate tasks and manipulate data with ease.
One particular task involved processing ASCII files for his father’s biotechnology work. Shlomi’s VBA solution proved to be a game-changer, outperforming previous attempts and setting the stage for future successes.
Positive (albeit Small) Income
Shlomi’s first taste of professional programming came in the form of a translation job. Alongside his friend, they navigated the intricacies of translating a document from English to Hebrew. While the financial gains were modest, the experience was invaluable, setting the stage for future endeavors.
Another venture saw Shlomi tackle a programming project for his friend’s school. This endeavor led to the creation of a program that could convert dates between the Civil and Jewish calendars, showcasing his problem-solving skills and paving the way for future collaborations.
A Brief Encounter with Pascal and the Israeli Education System
High school brought with it a new set of challenges, including Computer Science lessons. Despite his proficiency in programming, Shlomi found himself yearning for more. The curriculum introduced him to various programming languages and concepts, laying the groundwork for his future in software engineering.
Epilogue
After graduating high school, Shlomi ventured into the professional world, securing a job at Elpas, a company connected to his father’s network. This marked the beginning of a new chapter, as he transitioned from a hobbyist programmer to a professional, all while maintaining a sense of dependency on his parents.
As the years passed, Shlomi’s journey through the world of programming continued to evolve. From his early days with BASIC and C to his ventures into Pascal and beyond, he honed his skills and embraced the ever-changing landscape of software engineering.
Embracing the Mind’s Eye
Shlomi’s story serves as a testament to the power of curiosity and perseverance in the world of programming. From the early days of experimenting with BASIC to his contributions to VBA and beyond, his journey is a source of inspiration for aspiring programmers.
As technology advances, Shlomi’s message remains clear: the essence of programming lies not just in the code but in the imagination and creativity of the programmer. Embracing the command line, visualizing solutions, and thinking critically are the cornerstones of great programming.
So, whether you’re just starting your journey or well on your way, remember that every line of code is an opportunity to unleash boundless potential. As Shlomi’s story shows, the journey from BASIC to boundless potential is a path worth pursuing.