Slashdot Mirror


History of Apple's Pascal Poster

Lucas Wagner writes "Circa 1979, a strange poster was over nearly every programmer at Apple Computer. The "Syntax Poster" adorned offices, cubes, and even dealers. It was created by Jef Raskin and Steve Jobs. It was half art, half code. My uncle was a printer at the time and gave me one of them, thankfully, because they don't exist anymore. In researching the poster's origins, Raskin told me its history. I found it to be so interesting that, with his permission, I thought it would be a good article for fans of Apple trivia."

48 comments

  1. But can you imagine... by BandwidthHog · · Score: 5, Funny

    Twenty seven eight-by-ten colour glossy photographs with circles
    and arrows and a paragraph on the back of each one explaining what each
    one was to be used as evidence against us in code review?

    Uhh, I meant, err, a Beowulf cluster of them? Yeah, that's it. Sorry 'bout that other thing back there.

    --

    Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?
    1. Re:But can you imagine... by babbage · · Score: 3, Funny

      Oh, you can get anything you want at Apple's Restaraunt
      You can get anything you want at Apple's Restaraunt
      Just log right in, it's just to the left
      Just a half a inch from the RDF
      You can get anything you want at Apple's Restaraunt

    2. Re:But can you imagine... by gmhowell · · Score: 4, Funny

      Lisa and the Apple ///. The computers for those of us on the Group W bench.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    3. Re:But can you imagine... by punkass · · Score: 1

      'cept an Apple...

      --
      "Nobody owns the fucking words man." - James Dean
  2. Great story! by Isbiten · · Score: 4, Interesting

    Though I wonder how you managed to get in touch with Jef Raskin :)

    And what a suprise that Steve was too stubborn to accept it in a way he couldn't understand, Interesting idea also, having a poster of the language on the wall.

    --
    I fought the corporate America, and the corporate America bought the law.
    1. Re:Great story! by 0racle · · Score: 2, Insightful

      A lot of people are like that, and in this case its not entirely stubbornness. Jobs is a very single minded person, so its not all that surprising that when information that he already knows is presented in a manner different then how he thinks, it seems either wrong or difficult to comprehend. For example:

      Fry: "DOOP? What's that?"
      Prof: "Its like the United Nations from your time."
      Fry: "Uh?"
      Hermes: "Or the Federation from your Star Trek program"
      Fry: "OH!"

      Exactly the same information presented in a very different way. Now Fry is an idiot, but you get the idea.

      One good thing that does come out of the article is that it appears the Jobs likes colour, something that really is lacking in a lot of job sites when your working with computers, but it can make the people working there feel a little better. It needs more blue though.

      --
      "I use a Mac because I'm just better than you are."
    2. Re:Great story! by sg3000 · · Score: 1

      > Jobs is a very single minded person, so its not all that
      > surprising that when information that he already knows is
      > presented in a manner different then how he thinks, it seems
      > either wrong or difficult to comprehend.

      Benefit of the doubt:

      Jobs is also a consummate marketer. If this poster was given out to customers are resellers, then oftentimes technical "correctness" makes way for marketing savvy. Sometimes we've had to argue with our R&D department about how we've changed a diagram or a subsystem name to make something more end-user friendly.

      My background is electrical engineering, so I have slightly more "street cred" with our developers, but the truth is, part of my job is to make the incomprehensible not only understandable, but seemingly intuitive to our customers and others. If I have to bend the "technical rules" to do it, then sometimes you have to. "I don't care of the term 'XYAMMAA123' has some logical meaning; no sales person is going to be able to explain that. We're calling it 'Instant Publishing' (or whatever)."

      So if Jobs arranged to have an internal poster changed to make it more outside-world friendly, then that makes sense. So maybe Jobs didn't misunderstand; maybe Raskin's logical color scheme was too esoteric to be useful for customers.

      Okay, enough of the benefit of the doubt. The poster is really ugly. Changing Raskin's logical color scheme in favor of something beloved only to Disco Stu seems like a change for the worse. They might as well have stuck with the "logical coloring", just so they'd have an excuse.

      --
      Insert simplistic political, ideological, or personal proselytization here.
    3. Re:Great story! by Anonymous Coward · · Score: 0

      Raskin is a pretty accessible guy. He's more than willing to discuss anything from music to programming to philosophy with just about anyone with half a brain.

  3. Thank Niklaus for a simple languate by Flexagon · · Score: 5, Insightful

    From the referenced page: The amount of work and planning to do such a thorough charting of the syntax must have been large.

    Actually, my old copy of Wilson and Addyman's "A Practical Introduction to Pascal" has (a standard version of) this chart in Appendix I. Mine's the second edition, but the first edition was published in 1978. I know I've seen earlier versions as well.

    One of the distinct advantages of Pascal was that its syntax was so straightforward that creating a "railroad normal form" chart like this was relatively simple. You could easily write a parser for the language from scratch as a term project, without parsing tools like lex/yacc.

    1. Re:Thank Niklaus for a simple languate by Rouxfus · · Score: 3, Informative

      The syntax diagrams depicted in the poster, without all the fancy coloring were part of Niklaus Wirth's original "PASCAL - User Manual and Report" (with Kathy Jensen), published by Springer-Verlag in 1974.

    2. Re:Thank Niklaus for a simple languate by cmjensen · · Score: 1

      No these aren't Wirth's charts. The linked article says that the syntax on this poster is based on Wirth's... except that Raskin corrected a number of errors (the exact nature of the errors is not mentioned in the article).

  4. At a glance... by Zhe+Mappel · · Score: 4, Funny

    ...I think you can see the template for Donkey Kong here. Same pallette, same abacus-like jungle jim structure.

  5. Re:Wow, Jobs seems like an ass again by daviddennis · · Score: 4, Interesting

    Unfortunately, the drive to Accomplish Great Things makes many people tough to work with. You either accept the Great Things His Way, or you leave.

    If you consider that there are plenty of people who are lousy to work with who don't Accomplish Great Things, I'm inclined to cut Steve Jobs a little slack - because nobody can say that he doesn't Accomplish Great Things.

    Even if the changes to this poster aren't one of them.

    D

  6. THINK poster by Trillan · · Score: 4, Interesting

    Does anyone know the story behind Apple's THINK (not think different) poster?

    This poster just has the word THINK in six colors, and a copyright notice (which I forget) in black-on-block at the bottom.

    1. Re:THINK poster by lwagner · · Score: 4, Interesting

      >Does anyone know the story behind Apple's THINK (not think different) poster?

      >This poster just has the word THINK in six colors, and a
      >copyright notice (which I forget) in black-on-block at the bottom

      I have this poster, as well. My uncle printed the THINK posters for Apple.

      Its origin comes from IBM at the time, whose slogan was "THINK". IBM printed this phrase on internal posters and whatnot. IBM at that time was the Evil Empire. For those who have never seen it... Apple, in a sort of parody style (e.g., the 'Roasted Bunnymen' Intel campaign, created a poster that said nothing more than "THINK". The colors of "THINK" were in the 'Apple rainbow' thus encouraging people to think the Apple way.

      It just might be the precursor to the "Think Different" campaign. Certainly the same idea was used.

      I have another Apple internal poster that says, in a very stylized text... "Pascal Spoken Here". This one puzzles me because it's so geeky and yet so tastefully done. It's like someone spending $100K to hire an artist, do preprint work, and print up a large poster just to say, "We Code in Perl".

    2. Re:THINK poster by Fletch · · Score: 2, Informative
      Does anyone know the story behind Apple's THINK (not think different) poster?
      This is the first I've heard of an Apple THINK poster, but it's probably a play on the slogan/signs IBM had around it's offices since ~1915.
    3. Re:THINK poster by Trillan · · Score: 1

      Thanks. I'll tell my boss, who loves the poster but doesn't (I think) know that it was a shot at IBM. That will make him love it more... :)

      My high school had a Pascal Spoken Here poster in the early 90s. I bet they threw it out.

    4. Re:THINK poster by schmaltz · · Score: 4, Insightful

      This one puzzles me because it's so geeky and yet so tastefully done. It's like someone spending $100K to hire an artist, do preprint work, and print up a large poster just to say, "We Code in Perl".

      iirc Apple built a *lot* of software with Pascal. The main alternatives were BASIC and 6502 / 68000 assembler, as C had not caught on in a critical mass sort of way (talking late 70s-mid 80s here.)

      Perhaps the equivalent today would be the profitless spending of $$$ to build websites declaring your affection for a certain system or language.

      --
      Big Daddy, Johnny, Burp, Aunt Zelda, Scott, Slurp, Big Momma ... where's Siggy?
    5. Re:THINK poster by transient · · Score: 2, Interesting
      IBM printed this phrase on internal posters and whatnot.

      A friend of mine's mother worked for IBM back then. One day, after ferreting around in the attic, this friend presented to me a small notepad with the word "THINK" on the cover. An old-school ThinkPad!

      Can anyone confirm that this is where the name of their laptop lineup comes from?

      --

      irb(main):001:0>
    6. Re:THINK poster by transient · · Score: 3, Interesting
      iirc Apple built a *lot* of software with Pascal.

      Yeah, nearly the entire OS! Until Carbon was created, you still had to use Pascal strings in all system calls for backwards compatibility. (Pascal strings have their length in the first byte and aren't null-terminated.) This led to four million private implementations of p2c and vice-versa, as well as a new meta-character:

      "\pHello World!"

      '\p' is a Pascal string-length byte. Weird.

      To make matters worse, C and Pascal have different function calling conventions. I may have this backwards (or just wrong) but Pascal put its parameters in registers while C used the stack. If you were writing a callback for a system routine, you had to declare it thusly:

      pascal void my_callback();

      Callbacks were made even more fun when Apple switched processor architectures. But I'll leave that for another day.

      --

      irb(main):001:0>
    7. Re:THINK poster by Trillan · · Score: 3, Interesting

      Actually, Pascal and C shared a single calling convention on the PowerPC architecture.

      On the PowerPC, the calling convention uses registers. Sorta. If you want to understand it, Google it... it's quite complicated. :)

      On 68k, the calling conventions for Pascal and C are different. There's a lot more to it, but some of the highlights:

      C 680x0

      • Caller pushes parameters right to left
      • Variable numbers of paramters are allowed
      • The caller handles stack cleanup (necessary, sicne the number of paramters it pushed is not known to the called function)
      • The called function puts returns in a register for simple types, or pushes them onto the stack

      Pascal 680x0

      • Caller pushes parameters left to right
      • Only a fixed number of paramters are allowed
      • The called function handles stack cleanup
      • The caller pushes space for the return result
    8. Re:THINK poster by Anonymous Coward · · Score: 0

      System 7 was the first 'C' OS for Apple. The entire toolbox was pascal calls for years.

      I cut alot of teeth using Turbo Pascal then went to Mac and did ALOT of pascal programming originally.

    9. Re:THINK poster by vaiism · · Score: 1

      Yes - early in IBM days - most engineers were "required" to carry around a notpad in their shirt pocket - called the ThinkPad. This is where the name for the laptop came from.

  7. Why, why, why I invented the syntax poster! by Anonymous Coward · · Score: 5, Interesting
    1. Re:Why, why, why I invented the syntax poster! by asan102 · · Score: 1

      I assume you're referencing to This Story.

  8. Re:Thank Niklaus for a simple language by Teddy+Beartuzzi · · Score: 2, Interesting
    Page 230 of the third edition.

    Damn, you know you're old when you've got that book sitting on your bookshelf.

  9. There Is Still Hope by Markus+Registrada · · Score: 4, Interesting

    That Pascal was so pervasive, so thoroughly entrenched, taught in universities, implemented everywhere, and yet has washed away so nearly completely gives me hope. Java is in the same position today, is even more pigheadedly designed, and suffers the additional handicap of being proprietary and having no public conformance standard. I'm confident nobody will be using Java, either, ten years from now.

    1. Re:There Is Still Hope by Lars+T. · · Score: 0

      Too bad we won't be getting rid of C that easy. Signed Char, what were they thinking?

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    2. Re:There Is Still Hope by Markus+Registrada · · Score: 1
      Too bad we won't be getting rid of C that easy. Signed Char, what were they thinking?

      C is already passé, outside of restricted domains like Unix kernels and GNOME. Unfortunately, C++ inherited "signed char".

    3. Re:There Is Still Hope by sr180 · · Score: 1
      What about delphi? Thats still used (and heavily based on pascal). It used a little sporadically, but its still here and there.

      --
      In Soviet Russia the insensitive clod is YOU!
  10. Yipes by Anonymous Coward · · Score: 1

    It's history, dude. Stick to the "Apple sucks" troll comments and remember to take your meds, m'kay?

  11. Re:Wow, Jobs seems like an ass again by 0x0d0a · · Score: 1

    I think what you mean to say is that Jobs had many people *working* for him that achived great things.

  12. Re:Wow, Jobs seems like an ass again by daviddennis · · Score: 2, Insightful

    Yes and no.

    Before Jobs, Apple was an all but failed company. It hadn't managed to put together a successor to Classic MacOS, despite enormous effort. Its products were uninspired beige boxes.

    After Jobs, Apple became far more innovative. It started making interesting products again. A lot of the same people were doing the same jobs (bad pun, sorry) under Amelio, but their brilliance was unleashed under Jobs.

    Clearly Steve Jobs' management made a huge difference in the company and its perception in the world. And it was his meticulousness that made MacOS X a superbly designed and crafted product.

    I'm not saying it's easy to work for someone like Steve. But this kind of obsessiveness is how great products get made ... and, most likely, is why there are so few truly great products.

    D

  13. surprise surprise by inchhigh · · Score: 1

    gee, what a surprise, Jobs picks style over substance. You have to admire his consistency anyway.

  14. Origin of IBM ThinkPad name (was Re:THINK poster) by WillAdams · · Score: 1

    Correct, the ThinkPad name was derived from the old leather notepads with ``Think'' on them.

    The IBM ThinkPad was originally conceived as a pen slate system (but Go Corp. fell behind somewhat, so a clam shell laptop was released instead).

    There's a lot of interesting explanation of all this and a lot more in the book _ThinkPad: A Different Shade of Blue, Building a Successful IBM Brand_ by Deborah A. Dell and J. Gerry Purdy, Ph.D., ISBN 0-672-31756-7.

    William

    --
    Sphinx of black quartz, judge my vow.
  15. Re:If the world need any more proof... by WillAdams · · Score: 3, Interesting

    Funny, Pascal was also the language used for the back-end of the Web dialect in which Donald E. Knuth wrote the Literate Program TeX (and METAFONT).

    If you don't think TeX is used in production, look around you --- it's used in database publishing world-wide (railroad timetables in Germany, a phone directory in India, lots of directories here in the US). (Oh yeah, the macro format texinfo is the default documentation format for a certain ``GNU'' project).

    That's pretty cool, no? (And DEK provides rewards for finding errors in his programs and books --- want $327.68? find a bug in TeX. Won't be easy though).

    It's also not like Pascal stood still --- it was succeeded by Modula, and then Oberon (and it's interesting to note the language got both simpler and more expressive as time went by).

    William

    --
    Sphinx of black quartz, judge my vow.
  16. He did the same with an Apple plant... by didlybom · · Score: 0, Flamebait

    I remember I've read somewhere that Steve Jobs ordered to repaint a new Apple plant too... I guess that's why the iPod is white, it's easier to apply a second coat of paint...

  17. Re:Wow, Jobs seems like an ass again by Anonymous Coward · · Score: 0

    And Bill Gates isn't alone in his basement programming Windows, and Henry Ford didn't assemble every model T himself, and Spielberg doesn't man every camera and piece together the film by hand. Don't tell me you're so dense, you don't understand the concept of a strong leader with a vision.

  18. How abourt a re-creation by JoeCommodore · · Score: 2, Insightful
    Abnyone see this an an opportunity to re-create the poster so folks can put it on thier wall and it will make more sense? Sure looks like cool nerdware to me.

    Thought about Job's decision's - I think he saw the potential to turn someting utilitarian (but cool looking) into marketing, by putting fab colors and having a known artist's signature - he made the poster a techno-artwork that the elite would show off instead of geared for hard-working nerds who just wanted to write bug-free code.

    --
    "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
  19. I had one of these posters. by sakusha · · Score: 4, Interesting

    Oh man, I'd kill to have one of these Pascal posters. I worked at a company writing Apple Pascal software, I had one hanging over my desk. It saved many hours leafing through Wirth's Pascal book for the syntax diagrams. Our coding work was heavily based on these Wirth's Pascal reference book and his "Algorithms + Data Structures = Programs" as well as a few extra algorithms from Knuth. Everything was designed with Nassi-Schneiderman flow charts which were easy to code using the Pascal syntax charts.

  20. Re:Thank Niklaus for a simple language by wrf3 · · Score: 1

    Pages 116-118 in the first edition. Pages 44-46 in the even older "The Programming Language Pascal", 2nd ed, 1971.

  21. Pascal syntax and railroad tracks by Latent+Heat · · Score: 1
    While I program in C++, Java, and C# for source code I offer for public consumption, I use Delphi Object Pascal for all of my private libraries. I started developing for the PC back when it came out, and while I took a course that used Pascal, I was mostly a FORTRAN programmer, and for the PC I had looked at everything (Forth, structured FORTRAN, Janus Ada, you name it), got sold on Turbo Pascal, and hadn't looked back. C for the PC was a couple year in the future, and when C was a poor fit to the PC what with segment registers and memory models until Windows 95 introduced a flat memory model.

    Turbo Pascal syntax was already an anachronism in its day -- Borland at some point was going to come out with Modula 2 -- the way Borland units in Turbo 4 was arguably better (interface and implementation in one source file) than what Wirth was doing.

    Does anyone, ever, refer to a "railroad tracks" diagram to write programs in Pascal? Sure, Raskin is proud of his poster, and all the Pascal texts have that diagram, but is it useful to anyone other than a compiler developer? I always refer to source code snippets to figure out syntax rules.

    Pascal syntax has its quirks, mainly in its unique use of begin, end, and semicolon, but I guess I have gotten used to that so much that I find Wirth's "cleaned-up" Pascal's (Oberon, Component Pascal) with their upper-cased reserved words and unfamiliar new keywords just about unreadable. But the main aspect of Pascal syntax is, of course, how easy it is to make a Pascal parser and how fast the Delphi compiler builds tens of thousands of lines of source.

    The extreme of quirky-to-humans but good-for-computers syntax is Lisp. My understanding is that the good-for-computers part makes it easy to develop macros that operate on the parse tree instead of brute-force lexical subsitution as in C macros, making for the power of the language. The good-for-computers aspect to Pascal seems to be used only for making fast compilers -- perhaps even Pascal syntax is too complex to allow Lisp-style macros, although the Dylan language seems to combine aspects of Pascal and Lisp.

  22. How abourt a re-creation-SVGZ by Anonymous Coward · · Score: 0

    Well this story is much after the fact. I'd do it in SVGZ or .AI if his copy was much clearer than what he has up. Google also turns up zip as well.

  23. Related question by soft_guy · · Score: 1

    At the risk of being modded Off-topic, I'd like to ask if you know whether the calling conventions for OS X are documented someplace? Have they changed from the old PowerPC conventions?

    --
    Avoid Missing Ball for High Score
    1. Re:Related question by Trillan · · Score: 1

      Yes, they've changed. Or at least they have if you use Mach-O. And they changed again in 10.1 or 10.2 when someone pointed out that Mach-O was actually way less efficient than CFM.

      I'm not sure about CFM. It's probably the same.

      This is probably what you want.