About This Title

Pages: 270
Published: October 2024
ISBN: 9798888650639
In Print

Skill Level Meter

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 that will change the way you think about programming. These languages were invented before we settled into our current C-style syntax and OO biases, so language designers were free to imagine what was possible. You’ll find their insights thought-provoking, and their ideas will inspire you to try different (and possibly more productive) ways of programming. From a text manipulation language where every line is a potential state machine event, to a concurrent language where everything is done using actors, you’re sure to come away from these seven 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 we accept visa, mastercard, amex, discover, paypal


Paperback Formats:

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 think about programming.

Have you noticed that most programming languages look the same nowadays? We’ve become complacent; we’ve fallen into a rut. We’re no longer innovating; we’re tinkering at the margins.

Fifty years ago, things were less settled. Smart people exercised their imaginations and came up with programming paradigms that will blow you away. Classes and objects, first seen in the 1960s with Simula, are still in use. But what about a language with no variables? Or one where the units of computation are independent actors? Or where every single character can express a complex operation? Imagine a language where the only flow control comes from matching patterns, or one that uses sets as 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 thinking about programming, and change the way you code today.

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:

  • P1.0 2024/10/16
  • B4.0 2024/09/26
  • B3.0 2024/07/30
  • B2.0 2024/04/04

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 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
  • Streamlining Text Processing with SNOBOL
    • Processing Lines
    • Exploring Statements
    • Constructing Patterns
    • Using Indirect References
    • Understanding Functions and Predicates
    • Comprehending Data Structures
    • Evaluating Unevaluated Expressions
    • Managing Input and Output
    • Writing Something Big
    • Further Reading
  • Harnessing Set Data with Starset
    • ``Hello, Sets!''
    • Getting to Know Starset Data Types
    • Exploring Loops
    • Designing Subroutines
    • Writing Something Big
    • Further Reading
  • Automating Text Generation with m4
    • Understanding Preprocessors
    • Defining and Using Macros
    • Controlling Execution Flow
    • Handling Text
    • Diverting Output and Including Files
    • Interacting with the System
    • Writing Something Big
    • Further Reading
    • The End of Week Seven

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.

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 we accept visa, mastercard, amex, discover, paypal


Paperback Formats:

Please support indie bookstores!
Find indie bookstores in the U.S. Find indie bookstores around the world.

Related Titles:

Skill Level Meter

About This Title

Pages: 270
Published: October 2024
ISBN: 9798888650639
Edition: 1
In Print