Hacker News new | ask | show | jobs
by triska 2305 days ago
How is PostScript a "worse Forth"? I find PostScript great fun to program in, and I think the type errors one gets from the system to indicate mistakes are a great help when writing PostScript code.
2 comments

I remember that pre-1990, PostScript seemed like a miracle. "Computer Shopper" of all things, used to have a PostScript Guru column with all kinds of interesting stuff. All the computer I had access to was an Atari ST with GFA Basic, so really only the math and ideas translated, but it really was like seeing the future. Path-clipping in particular was mind-blowing.

It's partly archived online, and weirder than I remember! https://www.tinaja.com/glair01.shtml

It's much higher level, chooses the worst bits of high-level languages to throw in, NeWS's spin of it was object-oriented which has since been shown to be a mistake, it's not as extensible, has too many stacks, introduces significant complexity for dubious benefit, so forth.

Of course, whether or not PostScript is like Forth at all is a matter of debate, some religiously disagree. I'm somewhere in the middle on that. Old flamewar topic:

http://wiki.c2.com/?ForthPostscriptRelationship

The syntax is also slightly less nice, which is relevant for their question, but less quantifiable.

Object oriented programming has since been shown to be a mistake??! That's NeWS to me. Can you provide a citation please?

What do you mean that NeWS or PostScript classes are not extensible? The little "e" in NeWS stands for "extensible".

And what is the correct number of stacks, in your opinion?

Please quantify what you can, and provide examples and links to code, and citations of other people who agree with your personal opinions like the number of stacks a language is supposed to have, the meaning of extensibility, or that object oriented programming languages are a mistake.

> The little "e" in NeWS stands for "extensible".

But maybe that capital N is for Non .. (kidding obviously)

I've always been curious about NeWS but the web is quite short of demos about it (not helped by newspapers called Sun either). Do you know sites with videos about it ?

Thanks for asking! ;) I've put up some old demos on youtube, and made illustrated transcriptions of some, and written some papers and articles. Sorry the compression is so terrible on some of the videos. Here are some links:

The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines — October 1989

https://medium.com/@donhopkins/the-shape-of-psiber-space-oct...

PSIBER Space Deck and Pseudo Scientific Visualizer Demo. Demo of the PseudoScientific Visualizer and NeWS PSIBER Space Deck. Research performed under the direction of Mark Weiser and Ben Shneiderman. Developed and documented thanks to the support of John Gilmore and Julia Menapace. Developed and demonstrated by Don Hopkins.

https://www.youtube.com/watch?v=_fqCeuue5Ac

Pseudo Scientific Visualizer. Demo of the NeWS PseudoScientific Visualizer and the PSIBER Space Deck.

https://www.youtube.com/watch?v=GatM3s2S75Q

Mousee Demo. Demo of Mousee running in the NeWS Window System.

https://www.youtube.com/watch?v=PRP2QorRDUw

Ben Shneiderman introduces Pie Menus developed by Don Hopkins at UMD Human Computer Interaction Lab. University of Maryland Human Computer Interaction Lab Pie Menu Demos.

https://www.youtube.com/watch?v=kxkfqgAkgDc

Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser. By Ben Shneiderman, Catherine Plaisant, Rodrigo Botafogo, Don Hopkins, William Weiland. Published in Hypermedia, vol. 3, 2 (1991)101–117.

https://medium.com/@donhopkins/designing-to-facilitate-brows...

HCIL Demo - HyperTIES Browsing. Demo of NeWS based HyperTIES authoring tool, by Don Hopkins, at the University of Maryland Human Computer Interaction Lab.

https://www.youtube.com/watch?v=fZi4gUjaGAM

HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS. Demo of UniPress Emacs based HyperTIES authoring tool, by Don Hopkins, at the University of Maryland Human Computer Interaction Lab. Tabbed window management with pie menus.

https://www.youtube.com/watch?v=hhmU2B79EDU

Just the Pie Menus from All the Widgets. Pie menu demo excerpts from "All The Widgets" CHI'90 Special Issue #57 ACM SIGGRAPH Video Review, produced by and narrated by Brad Meyers.

https://www.youtube.com/watch?v=mOLS9I_tdKE

Precision Pie Demo.

https://www.youtube.com/watch?v=c0scs59va4c

Handy Pie Menu Demo.

https://www.youtube.com/watch?v=TuA_yylYwjM

How To Choose with Pie Menus. Early pie menu demo by Don Hopkins, on NeWS 1.0, running on a Sun 3 workstation. Featuring the World's Most Enormous Pie Menu, and Direct PacManipulation!

https://www.youtube.com/watch?v=MOJaY6Xu7ao

NeWS Tab Window Demo. Demo of the Pie Menu Tab Window Manager for The NeWS Toolkit 2.0.

https://www.youtube.com/watch?v=tMcmQk-q0k4

SimCity, Cellular Automata, and Happy Tool for HyperLook (nee HyperNeWS (nee GoodNeWS)). HyperLook was like HyperCard for NeWS, with PostScript graphics and scripting plus networking. Here are three unique and wacky examples that plug together to show what HyperNeWS was all about, and where we could go in the future!

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...

HyperLook SimCity Demo Transcript. This is a transcript of a video taped demonstration of SimCity on HyperLook in NeWS.

https://medium.com/@donhopkins/hyperlook-simcity-demo-transc...

HyperLook Demo. Demonstration of SimCity running under the HyperLook user interface development system, based on NeWS PostScript, running on a SPARCstation 2. Includes a demonstration of editing HyperLook graphics and user interfaces, the HyperLook Cellular Automata Machine, and the HyperLook Happy Tool. Also shows The NeWS Toolkit applications PizzaTool and RasterRap. HyperLook developed by Arthur van Hoff and Don Hopkins at the Turing Institute. SimCity ported to Unix and HyperLook by Don Hopkins. HyperLook Cellular Automata Machine, Happy Tool, The NeWS Toolkit, PizzaTool and Raster Rap developed by Don Hopkins. Demonstration, transcript and close captioning by Don Hopkins. Camera and interview by Abbe Don. Taped at the San Francisco Exploratorium.

https://www.youtube.com/watch?v=avJnpDKHxPY

The Story of Sun Microsystems PizzaTool. How I accidentally ordered my first pizza over the internet.

https://medium.com/@donhopkins/the-story-of-sun-microsystems...

The X-Windows Disaster. This is Chapter 7 of the UNIX-HATERS Handbook. The X-Windows Disaster chapter was written by Don Hopkins.

https://medium.com/@donhopkins/the-x-windows-disaster-128d39...

If you can find a library copy, The NeWS Book (e.g. https://www.waterstones.com/book/the-news-book/james-gosling...) might also be of interest for a static view, but I don't know how much was actually implemented, and I'm away from my copy.

I haven't had a chance to look at the videos for old time's sake, and they may make the point: a big part of it, as a developer experimenting with things, was the mode-less Smalltalk-like environment which allowed you to modify the system on the fly. (I don't know how much like, since I never used Smalltalk.)

Edit: "Scott McNealy ate my window system" :-(

Here it is!

http://bitsavers.trailing-edge.com/pdf/sun/NeWS/The_NeWS_Boo...

The ability to "psh" to the NeWS server and play around with PostScript (much like the Chrome Developer Tools now lets you do with JavaScript) was crucial to making NeWS fun.

The PSIBER Space Deck was trying to make a visual Smalltalk-like or Lisp-Machine-like development and debugging environment for NeWS, that let you visually browse and edit PostScript code and data structures and objects and processes in the system.

https://medium.com/@donhopkins/the-shape-of-psiber-space-oct...

The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines — October 1989

Written by Don Hopkins, October 1989. University of Maryland Human-Computer Interaction Lab, Computer Science Department, College Park, Maryland 20742.

Abstract

The PSIBER Space Deck is an interactive visual user interface to a graphical programming environment, the NeWS window system. It lets you display, manipulate, and navigate the data structures, programs, and processes living in the virtual memory space of NeWS. It is useful as a debugging tool, and as a hands on way to learn about programming in PostScript and NeWS.

Oh yeah some are compressed to death. But most are ok. The precision pie curved lever was mindblowing, and I've seen some !
This should be a top-level article.
Yeah, I'd say GUI development is one of the places OOP really shines. I think a lot of the OOP was a mistake opinions come from its ubiquitous use in the enterprise, even in domains for which it was not well suited.
I would venture game development as well - UE4's actor and component model is a good example of this, it's a very flexible system that allows you to strike a good balance between inheritance and composition.
I did a fair bit of PostScript development in NeWS/HyperNeWS and while I really liked PostScript I've never been able to get into Forth - I actually thought that PostScript was rather like the Common Lisp that the rest of the project used (one of the things I wrote for the project being the glue code in C to link the PostScript world of NeWS to Common Lisp - which is a nice mix of approaches to syntax!).

NB: It was particularly neat that Sun shipped a set of Adobe blue/green/red(?) books with OpenWindows.

PostScript does take a lot from Lisp, too. And (kind of) Smalltalk. 'DonHopkins has posted a lot about it on here; I really love hearing him talk about it:

https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

I just found this article by Don about HyperNews and related stuff:

https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g...