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

Evolution Of Programming Languages in an AI perspective

Programming languages are at the heart of possibilities in software development, evolving to meet the growing complexity of the problems we solve with computers. From the early days of machine code and punch cards to the modern era of high-level languages and AI-augmented coding, the journey of programming languages reflects humanity’s relentless pursuit of abstraction and efficiency. As artificial intelligence begins to reshape the landscape of software development, we are poised to enter an era of AI-powered programming languages—tools that will fundamentally change how programmers approach their craft. From Punch Cards to High-Level Languages The earliest programmers worked directly with machine code, encoding instructions in binary or hexadecimal formats. This labour-intensive process required an intimate understanding of the underlying hardware. Punch cards, though a technological marvel of their time, epitomized the low-level nature of early programming—tedious, error-prone, and ...

The Industrial Vs the AI Revolution

The transformation of society through technological revolutions has constantly fundamentally reshaped the labour structure. The Industrial Revolution, for instance, marked a profound shift in work for the labouring classes, moving them from farmers' fields and industries into factories. Today, the so-called AI Revolution promises to bring about a similarly seismic shift, not for manual labourers but for the office and intellectual workers who were once considered relatively insulated from mechanization. While the material and historical circumstances differ, the underlying forces remain strikingly parallel. Changing the Nature of Work During the Industrial Revolution, the mechanization of production displaced artisans and craftspeople, as machines took over tasks that had required years of training and skill. This was not merely a displacement of labour but a profound de-skilling of workers, whose tasks were broken into repetitive, machine-supervised steps. The labour force expande...

Yearly Educational Goals vs. Agile Team Learning

At this time of the year, employees often have their yearly reviews and set goals for the following year. From an agile point of view, this is an antipattern. The Agile methodology promotes continuous improvement and adaptation. This philosophy often needs to match this traditional approach of setting fixed yearly educational goals for developers. This discrepancy can be analyzed regarding how these educational strategies align with the interests of labour and management within the industry (as opposed to the orchard)  and how they contribute to or alleviate the alienation and class dynamics inherent in the tech workforce. Yearly educational goals in software development typically involve predefined objectives that developers are expected to achieve within a set timeframe. While this approach provides clear targets and a sense of structure, it can be rigid and limiting in a field known for rapid technological changes and evolving project needs. Such goals may become quickly outdate...