Skip to main content

Once upon a time there was a young sourcerer



I started programming in BASIC during the 1980s and in many ways, it represented the transition from the domain of specialists to a broader audience, including hobbyists, students, and business professionals.

BASIC's Accessibility: BASIC, an acronym for "Beginner's All-purpose Symbolic Instruction Code," was designed to be a user-friendly programming language. In the 1980s, this accessibility was crucial. Unlike the more complex languages of the time, such as Fortran or COBOL, BASIC was easy to learn and use, making it popular in educational settings and among first-time computer users.

In Sweden, the Luxor ABC80 were introduced at some schools. My physics teacher was interested and got some for our school. To use them we had to do a course in digital circuits before we were allowed. I guess that was to filter out the students really interested.

The Rise of Personal Computing: The 1980s saw the rise of personal computers, and BASIC played a pivotal role in this revolution. Computers like the Apple II, Commodore 64, and various models from IBM often came with BASIC pre-installed. This ubiquity made BASIC a common first language for many aspiring programmers. I got a Sinclair ZX80, with predefined BASIC keywords on the keys. A computer that required assembly and soldering to get started.

Community and Culture: Programming in BASIC fostered a culture of sharing and experimentation. Magazines of the era, like Compute! and Byte, often featured BASIC code listings that readers could type into their computers. This culture not only made programming more accessible but also encouraged a generation of programmers to explore and innovate.

Limitations and Criticism: Despite its popularity, BASIC had limitations. These early versions had numbered lines to structure the program. To fork the code you jumped to a specific line number. Critics argued that it encouraged bad programming habits, such as the overuse of GOTO statements, which could lead to poorly structured and hard-to-maintain code. Moreover, as computing needs evolved, BASIC's simplicity became a hindrance for more complex programming tasks.

Legacy: The influence of BASIC in the 1980s cannot be overstated. It played a key role in demystifying computer programming, making it accessible to a broad audience. The skills and concepts learned through BASIC provided a foundation for many programmers who would later move on to more advanced languages and complex computing tasks. Even as newer, more powerful programming languages emerged, the ethos of accessibility and ease of use that characterized BASIC programming in the 1980s continues to influence software development today.

Imperative programming and beyond: These days all people started as imperative programmers. This blog will tell my journey from this to more modern paradigms, but also about how we work with code. How technology and culture cooperate in different eras. Finally I hope to bring some insights about benefits with different ways of working.

Comments

Popular posts from this blog

Balancing Present Needs and Future Growth

In software development, traditional project planning often emphasizes immediate needs and short-term goals. However, Bentoism, which stands for "Beyond Near-Term Orientation," provides a multidimensional framework that can improve software project planning. It advocates for a balance between short-term achievements and long-term sustainability, considering both individual and collective impacts. Technical debt and architectural debt are inevitable challenges that teams must navigate. If managed properly, these debts can help long-term sustainability and growth. Bentoism, with its forward-looking and holistic perspective, offers a nuanced framework for handling these challenges while promoting continuous improvement.  Understanding Bentoism  Bentoism, inspired by the structure of a bento box that contains a variety of foods in separate compartments, encourages a broader perspective in decision-making. It promotes consideration of 'Now Me' (current self-interests), ...

Digital Dialectics: A Marxist Exploration of Technology and Class in the Software Industry

In this blog series, we discussed various aspects of programming and technology from a Marxist perspective. Here's a summary: Marxist Analysis of Programming and Technology: We explored several critical aspects of Marxist theory applied to programming and technology, including the means of production in software development, class struggle and labour relations, the commodification of software, alienation in the tech industry, and the digital divide and technological inequality. Dialectical Materialism and Base and Superstructure: We delved into applying Marx's dialectical materialism to technology development, analyzing how technological advancements lead to societal changes. We also discussed the base and superstructure model in the context of the digital age, focusing on the technical infrastructure and the evolving social and cultural norms. Class Struggle in the Software Industry: We examined the dynamics between different groups in the tech industry, including tech compa...

Software Projects as an Orchard

This blog is named The Sourcerers Orchard. The title is intended as a pun about source code and the orchard as an analogy between software development and handling an orchard. Creating a new orchard is an endeavour that blends the art of gardening with science. The same could be true for software development. We often talk about software as an industry, and this mindset harms our work. We are not an industry; we do not repetitively produce the same unit at an assembly line. We grow new things in a partly unpredictable world. Systems like SAFe are born in industrial thinking, like modern mercantilism, focused on numbers, not growth. We need a new way of thinking, to make high quality software instead of failing production lines. Planning Your Orchard Embarking on creating a new software project is akin to cultivating a thriving orchard from the ground up. It’s a journey that requires patience, dedication, and a strategic approach to nurturing growth and overcoming challenges. Let’s expl...