• ray10k (unregistered)

    So... what's the WTF? That legacy code is terrible? That management doesn't understand how bad it is? Neither of those are WTF's, more like "Uuugh, more of the usual."

  • Bert (unregistered)

    all the control flow of SNOBOL (e.g.: goto’s) Ignoring grammar, can we get off the Dijkstra cargo cult bus any time soon? That four-letter keyword is not inherently bad in all languages ever.

  • Martin (unregistered)

    You can rewrite OR you can remove bugs.

    Not both of it together!

  • bvs23bkv33 (unregistered)

    this story is so true, will be my favourite

  • St.Grimes (unregistered)

    There is glory in learning from someone else's errors.

  • Bill T (unregistered)

    Sad to say, I read "Ada compiler" and "SNOBOL programs", and didn't take long to say to myself "recursive descent parser." Which is probably one of the only reasons one would want to use SNOBOL.

  • Llarry (unregistered)

    At the risk of being, well, on topic...

    (Too) Many years ago, in college, I took a course called "Computer Languages". The semester was broken into 4 segments, each featuring a different language. I learned APL (Fun! even if the prof made us do text processing in it), LISP (also cool), this fairly new thing called 'C'. And then came SNOBOL. I did well enough in the other parts, and faked SNOBOL well enough to get a B, but mostly what I learned about SNOBOL was that I didn't learn SNOBOL. I prefer my languages to have actual commands, rather than having to hint at what I want the program to do.

  • Herby (unregistered)

    Somebody is looking for their 15 minutes of fame. It looks like the comments section is getting a bit un useful, but in the meantime, I'll stay as being defiant to those who desire otherwise.

    As for Snobol and Ada, all I can say is "Good Luck". Snobol went through 4 revisions then seemed to die. Of course, some will claim that other languages have replaced it (I won't list them here) in obscureness but I am sure others can fill in the blanks.

  • Barf4Eva (unregistered)

    "Even Barry, the tie-dyed, retired, hippie could no longer decipher what the internals were doing. Maybe he’d just fried too many neurons. Reg couldn’t get any further- maybe he just wasn’t smoking enough marijuana to understand what the hippie had done. Reg decided to simply try to replicate the output of the legacy system. This was accomplished by running both systems on the same input and doing diffs."

    Ignorant as hell statement...

  • Mark Mullin (unregistered)

    Rocket engines do not officially 'explode'. They experience RUD. RUD == Rapid Unplanned Disassembly

  • Staticsan (unregistered)

    I'm impressed that someone write a compiler in SNOBOL. Though I shouldn't be. SNOBOL is genuinely very powerful but it does require a specific mindset to program in, largely due to the fact it has functions and gotos as control structures and nothing else.

  • (nodebb)

    But SNOBOL is soooo simple...

  • guest (unregistered)

    SNOBOL is a language that, by design, is very good at implementing (interpreted) compilers. And with SPITBOL, you could compile the compiler. So an ADA compiler implemented in SNOBOL, for an unusual hardware target, would certainly be a possibility. But if you have just built an ADA compiler, what's it for, and why are executables generated by the SPITBOL compiler?

    It may be true, but absent any real evidence, this is a misunderstanding and/or a misrememberane. More likely, SNOBOL and SPITBOL implemented in ADA.

    There were several implementation of SNOBAL & SNOBAL3, and then SNOBALA was written in s portable source form, easily ported to languages like ADA, leading to several ADA implimentations. So, code for target written in SNOBAL, compiled by a custom SPITBOL compiler written in ADA.

  • Norman Diamond (unregistered)

    Somewhere I read an essay by a programmer for the Apollo lunar landers. He partly fixed a bug relating to timing between some measurements and some responses controlling the engines. A few years later he figured out that his fix wasn't completely accurate, but that if he had made it completely accurate, some other cause of oscillation in the lunar landers would have doomed the landing. So not quite an explosion, but yes an incredible dependency on a bug.

    I must admit I've forgotten which of SNOBOL or SPITBOL had the equivalent of "eval" in modern structured object-oriented full-of-goodness languages, but intuitively I would have thought it was SNOBOL because I only ever saw interpreters for SNOBOL whereas SPITBOL was compiled. The SPITBOL compiler was written in IBM 360 Assembler Language. I've read that some of the Space Shuttle computers (not Apollo) were based on the 360. Maybe SPITBOL's run time library could be ported to them, but I'd expect source code compilations to remain earthbound.

    Yeah in the old days there as a lot of overlap between coders and hippies. Ever seen a photo of Stallman?

  • Been there, done that... (unregistered)

    SNOBOL's successor, Icon (done by SNOBOL's creator, Ralph E. Griswold): http://www.cs.arizona.edu/icon/docs/ipd266.htm

  • Norman Diamond (unregistered)

    Hey wait, how could I forget this: Of course an Ada compiler would be coded in SPITBOL.


  • Norman Diamond (unregistered)

    "was an outspoken advocate of freely licensed open source software"

    Oh really? Someone should have shown him what the SPITBOL compiler would do if someone tried to hack the expiry date of its licence.

  • Guest (unregistered) in reply to Norman Diamond


    And of course a SPITBOL compiler could be (and they certainly were) compiled in Ada.

  • Dale (unregistered) in reply to Bert

    The original wasn't as clear as it could be. There are only two control constructions in SNOBOL, one is procedure calls, the other is (optionally conditional) GOTO. It's not an intrinsically bad situation, but it makes reading and writing programs with complex control structures more error-prone.

  • Guesty McCynic (unregistered)

    The WTF is that you, Snoofle, don't PROOFREAD your submissions so that they are written in correct English. For example, the correct phrasing is not "adjective, adjective, noun" - it's "adjective, adjective noun"; in the same way, there is a space both before and after a dash, like - this, and NOT like- this. If you have pretensions to be a writer, you should do this without being asked to.

    Please, no answers stating I made mistakes - I have no desire to be a writer, and this comment is addressed to one person only, unlike your piece which is addressed to potential thousands of readers. It's unbelievable you don't feel the desire, as a coder to produce syntactically correct sentences for the whole world to read!

    Another hint - don't write what you would say. It's uh, like, it doesn't look too cool in writing, know what I mean, dude? Writing and speaking are two different games; that shouldn't surprise you with other 30 years of highly skilled experience in several different languages - YES, written and spoken are two different languages, if only because facial expressions and body postures are an important part of spoken languages, that can't be translated into written language. Written language therefore has to be thought of a lot more before being submitted to readers.

    In our next lesson, we'll tackle the semantical flaws, after having tackled the syntactical ones. Thank you, that'll be all.

  • Axel (unregistered)

    Not to pour it on, snoof,but it's not "try and," it's "try to." As in: "I try to write correctly."

  • Anand (unregistered)
    Comment held for moderation.
  • Anand (unregistered)
    Comment held for moderation.

Leave a comment on “A SNOBOL's Chance”

Log In or post as a guest

Replying to comment #:

« Return to Article