
The SNOBOL4 Programming Language [pdf] - fortran77
http://raganwald.com/assets/snobol-green-book.pdf
======
greenyoda
Wow, that brings back memories. I wrote some programs in SNOBOL4 when I was a
kid, and remember that very book.

The pattern matching features in the language were very advanced for their
time (1970).

~~~
braythwayt
Raganwald here.

SNOBOL4 was my first real programming language, thanks to a particular set of
circumstances back in 1971 or thereabouts:

The University of Toronto had a High-Speed Job Stream intended mostly for
undergraduates to run programs. It was in a fairly big space mostly occupied
by students, keypunch machines, a few verifiers, and tables.

To run a program, you wrote your program on punch cards with a keypunch
machine, then slapped a coloured header card at the front. There were cards
for ALGOL, LISP, WATFIV, PL/1, and SNOBOL (amongst others).

Then you’d get in line for the punch card reader. When you got to the front of
the line, you’d add your job to the back of the hopper, with other people’s
jobs in front of yours.

Every so often, the machine would engorge itself on a bunch of jobs, queueing
them up internally. As it ran the jobs, it would print the results on a
massive and noisy line printer.

So after queueing your job up, you’d go hang around the line printer waiting
for your output. If there was an error... It would be back to the keypunch and
go stand in line again.

The room was unlocked and mostly unsupervised, so as a kid I would ride my
bike over and play with FORTRAN. I had no books on the subject, so I'd either
ask for help or go to the library to learn.

It was fun, but mostly it was just something to do for a bored kid. Then, one
day, I found a copy of the "green book" somebody else had left behind.

I picked it up, started reading, and was hooked. I am embarrassed to say that
I tucked it into my bag and took it home, when I really should have left it
there or taken it to "lost and found."

Somewhere out there is a UofT grad who had to buy another very expensive
textbook. I'm sorry, it was me.

Anyhow, the book captivated me. It was more than just a textbook or
instruction manual: It sold the reader on a new way of thinking about
programming, pattern-matching.

I felt the hugest "Aha" moment when I felt my brain literally unload the old
program for writing programs, and start constructing a new program for writing
programs.

I've been chasing that high ever since.

~~~
greenyoda
Thanks for sharing your story! I also got started in the days of punched cards
and line printers. I had used FORTRAN and BASIC before seeing SNOBOL, so
SNOBOL greatly expanded my view of what kind of things a programming language
could do to help a programmer do complex and interesting things.

------
cafard
I learned some roughly thirty years ago. I never used it outside of class, but
it made picking up AWK and the Perl a lot easier.

~~~
fortran77
I had a similar experience, except it was 40 years ago! I'm getting interested
in it again, there's a SPITBOL version that's supported on modern system and
it has relevant use cases, even today.

------
anewdirection
I still have a snobol shirt somewhere...

