Seven Obscure Languages in Seven Weeks: Rediscovering the Tools That Built the Future by Dmitry Zinoviev
Prereqs
Resources
Extracts
Author
Tweet this
About This Title
Pages: 270
Published: October 2024
ISBN: 9798888650639
In Print
Seven Obscure Languages in Seven Weeks
Rediscovering the Tools That Built the Future
by Dmitry Zinoviev
Explore seven older computer languages and discover new and fresh ideas<br>that will change the way you think about programming. These languages<br>were invented before we settled into our current C-style syntax and OO<br>biases, so language designers were free to imagine what was possible.<br>You’ll find their insights thought-provoking, and their ideas will<br>inspire you to try different (and possibly more productive) ways of<br>programming. From a text manipulation language where every line is a<br>potential state machine event, to a concurrent language where everything<br>is done using actors, you’re sure to come away from these seven<br>languages inspired and excited.
eBook Formats:
PDF for desktop/tablets
epub for Apple Books, e-readers
mobi for Kindle readers
Get all eBook formats here for $32.95 (USD)
Add to Cart
Paperback Formats:
Order via Bookshop (U.S. Only)
Please support indie bookstores!
Find indie bookstores in the U.S. Find indie bookstores around the world.
Seven old languages; dozens of new ideas that can help shape the way we<br>think about programming.
Have you noticed that most programming languages look the same nowadays?<br>We’ve become complacent; we’ve fallen into a rut. We’re no longer<br>innovating; we’re tinkering at the margins.
Fifty years ago, things were less settled. Smart people exercised their<br>imaginations and came up with programming paradigms that will blow you<br>away. Classes and objects, first seen in the 1960s with Simula, are<br>still in use. But what about a language with no variables? Or one where<br>the units of computation are independent actors? Or where every single<br>character can express a complex operation? Imagine a language where the<br>only flow control comes from matching patterns, or one that uses sets as<br>its major datatype. Or how about a textual language based on macros?
These seven old, obscure languages will open your eyes to new ways of<br>thinking about programming, and change the way you code today.
What You Need
Various software tools and compilers are available for enthusiasts eager<br>to explore the once-forgotten languages detailed in this book. Guidance<br>is provided primarily for Linux users on accessing these older<br>programming languages. This collection includes languages like m4,<br>integral to the GNU Autoconf system, and other languages incorporated<br>into the GNU ecosystem, such as APL, Forth, and Simula. For those with a<br>penchant for nostalgia, there is the SNOBOL4.2, which can run using the<br>DOSBox MS-DOS emulator. KRoC, an Occam compiler, works only with 32-bit<br>architectures or in a docker. Suffolk University maintains Starset’s<br>modern implementation. Readers can find links to repositories of these<br>development tools, ensuring they can fully immerse themselves in this<br>intriguing journey.
Resources
Errata, typos, suggestions
Source Code (zip file)
Releases:
2024/10/16
P1.0
First printing.
2024/09/26
B4.0
*Copyedit and indexing are complete. Now it’s on to layout and the printer.
2024/07/30
B3.0
*The book is content-complete and headed to copyedit and indexing.
2024/04/04
B2.0
*Added Chapter 5, “Streamlining Text Processing with<br>SNOBOL.”
Contents & Extracts
Preface
Introduction
About the Languages
About the Tips
About You
About the Software
Writing Something Big
Further Reading
Online Resources
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<br>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<br>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...