5 ms·
These types of books have always been a bit frustrating to me. Coders at Work is another one. Moore is a genius, and his inclusion is absolutely for the better
by kick 7y ago
These types of books have always been a bit frustrating to me. Coders at Work is another one.
Moore is a genius, and his inclusion is absolutely for the better.
However, if it came just 5 years earlier, it would have been able to have so much more value. Falkoff's inclusion within was great, Falkoff contributed greatly to the APL ecosystem, but interviews with Iverson are scarce and hard to come across, and he had an amazing view on the big picture for these things. His books are probably the most valuable I have on my shelves.
Also, it leaned far too hard on ALGOL's many derivatives. Roger Hui and Arthur Whitney would have been more valuable than most of the people included. Even Forth got three people interviewed, which is admittedly pretty cool! (PostScript is Forth.)
- yesenadam 7y ago>PostScript is Forth Last year I got into Forth, then PostScript, which seems a kind of dumbed-down, simplified Forth. On PostScript's wikipedia page, Forth is not mentioned as an influence. So I went to change that, and in the page html there's a comment saying if you came to add Forth, see talk page. I looked into it a bit. (One of?) The guy who wrote PostScript's previous couple of languages were based on Forth (wikipedia admits), but then PostScript was not so much as influenced by it?! That actually made me very angry! The PostScript reference manual reads as if written by lawyers, which maybe shed some light on it. They don't admit it's influenced by Forth, but say of course it has influences, and the next sentence is about Forth. As if they couldn't not mention Forth, but legally didn't want to spell anything out. Pretty disgusting treatment of Chuck Moore, seems to me. HN, help me right the wrong!
- kick 7y agoIt's at times like these where the corporatism of Wikipedia editors for any article involving a tech company shines through very clearly.
- sansnomme 7y agoConsider the current lawsuits regarding APIs, I think it's probably safer for wikimedia to defer to whatever the corporate PR department believes to be correct lest they be compelled to testify in court.
- kragen 7y agoPostScript is really a lot more like Lisp or Smalltalk than Forth. It has GC, blocks for control flow, local variable binding, symbols, mandatory bounds-checking, type-safety, and exception handling. Forth conscientiously abjures such things, and uses compile-time metaprogramming instead in some cases, which is possible in PostScript (and used routinely for raster image data) but less flexible. However, PostScript not only passes arguments on the stack, it exposes things like the compiler machinery in ways that are more typical of Forth than of the high-level languages it draws so much from. So I feel like it has some Forth inspiration, in the same way Python is influenced by SNOBOL or BASIC. Nowadays I've mostly given up PostScript in favor of SVG and Reportlab, sad to say.
- DonHopkins 7y ago>Nowadays I've mostly given up PostScript in favor of SVG and Reportlab, sad to say. JavaScript and the canvas 2d api are the moral equivalent of PostScript, these days.
- kragen 7y agoYeah, but the canvas API sucks bad enough (mostly due to the constraints of JS) that PostScript is an appealing alternative. Super verbose and can't even produce a PDF. If you can print it it's all pixelated.
- DonHopkins 7y agoKragen is right that PostScript is a lot more like Lisp or Smalltalk than Forth, especially when you use Owen Densmore's object oriented PostScript programming system (which NeWS was based on). PostScript is semantically very different and much higher level that Forth, and syntactically similar to Forth but uses totally different names (exch instead of swap, pop instead of drop, etc). But its most obvious similarities with Forth are based on generic Computer Science concepts like stacks, which is not something particularly unique to Forth itself, so saying PostScript was influenced by Forth ignores other much more influential languages like Interpress, JaM, and Design System, which directly influenced PostScript and were designed by the same people. Also, PostScript is not threaded like Forth. But it's homoiconic, unlike Forth and Lisp. https://en.wikipedia.org/wiki/Threaded_code https://en.wikipedia.org/wiki/Threaded_code https://en.wikipedia.org/wiki/Homoiconicity https://en.wikipedia.org/wiki/Homoiconicity https://medium.com/@donhopkins/the-shape-of-psiber-space-october-1989-19e2dfa4d91e https://medium.com/@donhopkins/the-shape-of-psiber-space-oct... The heavily commented PostScript source code of PizzaTool for NeWS shows Owen's OOP PostScript system in action: https://donhopkins.com/home/archive/NeWS/pizzatool https://donhopkins.com/home/archive/NeWS/pizzatool PostScript was a direct descendent of and heavily influenced by Xerox PARC's Interpress, by John Warnock and Charles Geschke, which itself was a direct descendent of JaM, which stands for "John and Martin", by John Warnock and Martin Newall. And JaM was a descendent of Evans and Sutherland's Design System, by John Warnock and John Gaffney. https://en.wikipedia.org/wiki/John_Warnock https://en.wikipedia.org/wiki/John_Warnock http://historyofinformation.com/detail.php?entryid=1213 http://historyofinformation.com/detail.php?entryid=1213 https://en.wikipedia.org/wiki/Martin_Newell_(computer_scientist) https://en.wikipedia.org/wiki/Martin_Newell_(computer_scient... https://en.wikipedia.org/wiki/Charles_Geschke https://en.wikipedia.org/wiki/Charles_Geschke https://en.wikipedia.org/wiki/Interpress https://en.wikipedia.org/wiki/Interpress https://en.wikipedia.org/wiki/Evans_%26_Sutherland https://en.wikipedia.org/wiki/Evans_%26_Sutherland Brian Reid (whose brother is Glenn Reid, author of several books on PostScript from Adobe) wrote up an excellent historical summary in 1985 on the laser-lovers mailing list of the influences and evolution of PostScript. https://en.wikipedia.org/wiki/Brian_Reid_(computer_scientist) https://en.wikipedia.org/wiki/Brian_Reid_(computer_scientist... http://glennreid.blogspot.com/ http://glennreid.blogspot.com/ Here's a post I wrote earlier: https://news.ycombinator.com/item?id=19874245 https://news.ycombinator.com/item?id=19874245 >DonHopkins 8 months ago [-] >Brian Reid wrote about page independence, comparing Interpress' and PostScript's different approaches. Adobe's later voluntary Document Structuring Conventions actually used PostScript comments to make declarations and delimit different parts of the file -- it wasn't actually a part of the PostScript language, while Interpress defined pages as independent so they couldn't possibly affect each other: https://groups.google.com/forum/#!topic/fa.laser-lovers/H3us4h8S3Kk https://groups.google.com/forum/#!topic/fa.laser-lovers/H3us... >By now you can probably see the fundamental philosophical difference between PostScript and Interpress. Interpress takes the stance that the language system must guarantee certain useful properties, while PostScript takes the stance that the language system must provide the user with the means to achieve those properties if he wants them. With very few exceptions, both languages provide the same facilities, but in Interpress the protection mechanisms are mandatory and in PostScript they are optional. Debates over the relative merits of mandatory and optional protection systems have raged for years not only in the programming language community but also among owners of motorcycle helmets. While the Interpress language mandates a particular organization, the PostScript language provides the tools (structuring conventions and SAVE/RESTORE) to duplicate that organization exactly, with all of the attendant benefits. However, the PostScript user need not employ those tools. There's more interesting discussion about the relationship between PostScript and Forth on c2: http://wiki.c2.com/?ForthPostscriptRelationship http://wiki.c2.com/?ForthPostscriptRelationship Here's a lot more stuff I've written about PostScript and Forth (two of my favorite topics!): https://news.ycombinator.com/item?id=11479364 https://news.ycombinator.com/item?id=11479364 https://news.ycombinator.com/item?id=13198492 https://news.ycombinator.com/item?id=13198492 https://news.ycombinator.com/item?id=13705664 https://news.ycombinator.com/item?id=13705664 https://news.ycombinator.com/item?id=13705739 https://news.ycombinator.com/item?id=13705739 https://news.ycombinator.com/item?id=18317280 https://news.ycombinator.com/item?id=18317280 https://news.ycombinator.com/item?id=18692144 https://news.ycombinator.com/item?id=18692144 https://news.ycombinator.com/item?id=18695275 https://news.ycombinator.com/item?id=18695275 https://news.ycombinator.com/item?id=18696116 https://news.ycombinator.com/item?id=18696116 https://news.ycombinator.com/item?id=19873630 https://news.ycombinator.com/item?id=19873630 https://news.ycombinator.com/item?id=19874245 https://news.ycombinator.com/item?id=19874245 https://news.ycombinator.com/item?id=19882301 https://news.ycombinator.com/item?id=19882301