Seven Obscure Languages in Seven Weeks
Rediscovering the Tools That Built the Future
by Dmitry Zinoviev
Immerse yourself in the intricate world of forgotten programming
languages with Seven Obscure Languages in Seven Weeks. This
comprehensive guide serves as a bridge to understanding and revitalizing
legacy code, offering invaluable insights into the evolution of
programming. With hands-on tutorials spanning languages from Forth and
Simula to SNOBOL and m4, readers are equipped to maintain older systems
and gain a broader perspective on problem-solving techniques. Whether
you are a seasoned developer, a software historian, or just curious
about the roots of modern coding, this book illuminates the rich
tapestry of programming’s past and sheds light on its present and
future.
Venture into overlooked and long-forgotten programming languages that
once stood at the forefront of technological innovation. From the
stack-oriented design of Forth to the early object-oriented experiences
in Simula, bridge the ever-widening chasm between contemporary code and
legacy systems. If you find yourself ensnared by the challenges of
updating or maintaining older systems, this book is the lifeline.
Unravel the fabric of seven programming languages by following practical
tutorials and building small applications. Find out how Simula led to
C++ , what made APL so powerful, and why we still use m4 even to this
day. Along the way, you’ll broaden your problem-solving horizons, and
develop diverse approaches to computation that still ripple through
today’s coding landscape. By the final chapter, you won’t merely possess
historical knowledge, you’ll be equipped with production ready skills
capable of tackling projects that interface with legacy code.
Trace the evolutionary lineage of programming to gain a predictive edge
in anticipating future trends. After all, this isn’t just a nostalgic
trip—it’s a roadmap to the past, present, and future of coding.
What You Need
Various software tools and compilers are available for enthusiasts eager
to explore the once-forgotten languages detailed in this book. Guidance
is provided primarily for Linux users on accessing these older
programming languages. This collection includes languages like m4,
integral to the GNU Autoconf system, and other languages incorporated
into the GNU ecosystem, such as APL, Forth, and Simula. For those with a
penchant for nostalgia, there is the SNOBOL4.2, which can run using the
DOSBox MS-DOS emulator. KRoC, an Occam compiler, works only with 32-bit
architectures or in a docker. Suffolk University maintains Starset’s
modern implementation. Readers can find links to repositories of these
development tools, ensuring they can fully immerse themselves in this
intriguing journey.
Resources
Releases:
- B2.0 2024/04/04
- B1.0 2024/02/14
Note: Contents and extracts of beta books will change as the book is developed.
- Preface
- Introduction
- About the Languages
- About the Tips
- About You
- About the Software
- Writing Something Big
- Further Reading
- What to Do Next?
- Mastering Stack-Based Computing with Forth
- Understanding Stack Essentials
- Writing Comments and ``Hello, World!’’
- Learning Predefined Forth Words
- Dissecting Flow Control
- Discovering Recursion
- Arriving to Memory Operations
- Demystifying Vectored Execution
- Handling Errors and Exceptions
- Exploring Character and String Operations
- Performing Input/Output Operations
- Writing Something Big
- Further Reading
- Appreciating Concurrent Computing with Occam
- Paying Tribute to Transputer
- Greeting in Occam and KRoC
excerpt
- Studying Variables and Data Types
- Navigating Channels
- Exploring Processes
- Taming Construction Processes
- Revisiting Deadlocks
- Introducing Arrays
- Crafting Channel Protocols
- Arranging Code in Compilation Units
- Replicating Processes
- Terminating a Distributed Application
- Configuring Occam Programs
- Writing Something Big
- Further Reading
- Embracing Array-Centric Programming with APL
excerpt
- Deciphering APL Character Set
- Activating the APL Keyboard Layout
- Looking at Data Types
- Executing Scalar Operations
- Mastering Array Operations
- Performing Input and Output
- Creating User-Defined Functions
- Branching
- Adding More Array Operations
- Working with Workspaces
- Writing Something Big
- Further Reading
- Unveiling Object-Oriented Programming with Simula
excerpt
- It’s ALGOL!
- Glancing at Variables, Data Types, and Operators
- Investigating Control Structures
- Introducing Procedures
- Managing File I/O
- It’s Simula!
- Switching to Object-Oriented Programming
- Designing Coroutines
- Introducing Computer Simulation
- Writing Something Big
- Further Reading
- Unlocking Text Manipulation with SNOBOL
- Writing Something Big
- Further Reading
- Manipulating Set-Based Databases with Starset
- Subroutines
- Loops
- Writing Something Big
- Further Reading
- Automating Text Manipulation and Code Generation with M4
- Writing Something Big
- Further Reading
- Broadening Horizons: A Glimpse into More Obscure Languages
- REFAL
- Smalltalk
- Miranda
- CLU
- PostScript
- Further Reading
Author
Dmitry Zinoviev is a professor of Computer Science at Suffolk
University in Boston and has a dual degree in Physics and Computer
Science. He is passionate about modern C and Python programming, complex
network analysis, computational social science, digital humanities,
computer simulation and modeling, and software archeology and
retrocomputing. He is the author of the first modern implementation of
the Starset language.