Hacker News new | past | comments | ask | show | jobs | submit login
UCSD Pascal pioneer Ken Bowles has died (sandiegouniontribune.com)
125 points by everybodyknows on Oct 7, 2018 | hide | past | favorite | 24 comments



UCSD Pascal was the first "Java" in that Pascal was compiled to machine-independent P-Code that was then interpreted. (I used it in the 1980s.) The main problem it had was it was slow. In the 90's, even with the CPU advances, interpreted Java was still too slow. It took Symantec's Java JIT compiler to really make Java work.

I.e. what UCSD-Pascal lacked was a JIT compiler. Even a simple one would have made a huge difference.

UCSD-Pascal was the right idea, it was just before its time. I think Java owes a lot to Ken Bowles.


By '80 or so it was possible to link to assembler, and the recipe was to code inner loops in assembler. With a Digital Equipment LSI-11 CPU and its simple, highly regular machine code, this was workable for a time.



P-code was an absolute innovation. Its time in the limelight was short lived, as Turbo Pascal soon came along and compiled directly to Z80 and later x86 - it killed UCSD Pascal in performance.

I borrowed the idea around 1980 to develop a language for doing data entry and verification. The trick was to make the instructions really high level, so the overhead of interpretation was a small part of the total.


The JIT does for interpreters what the Merlin engine did for the P-51. Originally, it had the Allison engine, and was sluggish and performed poorly. The airframe lit up when fitted with the Merlin engine.


It was possible to AOT compile to native code with UCSD Pascal, Western Digital and Corvus Systems supported some form of it.

I thought it was Strongtalk/SELF JIT compiler that made Java work.


TIL Symantec made the first Java JIT! Did HotSpot use any code from their implementation or was it more of an inspiration?


My colleague Steve Russell was the implementer of the JIT. Steve was a true wizard with x86 assembler code. You can see his work here:

https://github.com/DigitalMars/optlink

I don't think HotSpot used any code from it, but I can't be positive about that. But Symantec's JIT was so obviously a huge improvement, every vendor had to have it or be left in the dust.


> My colleague Steve Russell

Is that the same Steve Russell that hacked Spacewar and implemented the first Lisp?


He's way too young for that :-)


Digital's BASIC-PLUS on RSTS/E also compiled to an intermediate code that was interpreted. However, unlike P-code (or Infocom Z-code for that matter), it wasn't portable to other systems.


The UCSD P-system OS (from the 1970s) always had a single line menu bar across the top of the screen, whose entries might change when different applications ran. I have always suspected that was the inspiration for the Macintosh menu bar.

This slide deck has a brief history of UCSD Pascal and the P-system OS, with quite a few technical details:

http://pascal.hansotten.com/uploads/ucsd/reunion/Richard%20K...


Bill Atkinson ported UCSD Pascal to the Apple ][, and he was one of the very core Mac developers. Apple Pascal was probably one of the very few software systems that spanned all of Apple's computers at the time. The Apple /// made heavy use of it and had the benefit of a lot more RAM. Then the Lisa Monitor used the same menus as earlier Apple Pascals. I think the Lisa Pascal was licensed from another company and wasn't a port of UCSD Pascal though. One of the first pieces of code for the Mac was a port of the Lisa Monitor, so those Pascal menus were probably the first menu bar on the Macintosh. The Macintosh Toolbox, while written mostly in assembly language had Pascal bindings and much of it was originally written in Pascal before being rewritten in assembly, QuickDraw was based on LisaGraf which was written in Pascal.

https://www.folklore.org/StoryView.py?project=Macintosh&stor...


Very nice slides.

They do mention Apple ][ relationship, it's quite plausible they influence Apple dev teams.


I remember on my Apple ][ playing Wizardry, written in UCSD Pascal: https://www.filfre.net/2012/03/making-wizardry/

Pretty sure there were a few text adventures written with it too. The non-flashing cursor and glacially slow text output is a sure tell: https://archive.org/details/RamboFirstBloodPartII4amCrack

(edit: another article from the same source about the P-Machine and Bowles: https://www.filfre.net/2012/03/pascal-and-the-p-machine/)


Ken Bowles authored the book Beginner's guide for the UCSD Pascal System in 1980. Here is a complete scan of the book on archive.org:

https://archive.org/details/Beginners_Guide_for_the_UCSD_Pas...


Ken was a great guy. We both lived and worked in San Diego so I would occasionally see him. The last time was around 1980. I had been using UCSD Pascal to write my Go playing program for the Apple II, and ran into him at a party. He and his wife were just heading to the South Seas to go SCUBA diving (a favorite hobby of his). His work positively affected many people. RIP


I used UCSD Pascal quite a bit during my undergraduate days; my school (UC Irvine) had bought a bunch of (I think) Terak boxes for the computing center. I ended up getting the UCSD-Pascal card for my personal Apple ][+, hooked it up to a 24x80 CRT (because programmers always need large displays), and that allowed me to do my homework ... at home (I know, amazing)! I owe a debt of gratitude to Mr. Bowles for being such a good evangelist.


I first programmed pascal on Osborne-1 when studying at AUT(then ATI) in AUckland, New Zealand in 1982. Great language that recently have looked to again in its fpc variant for its write-once run-anywhere - seems the folks looking after freepascal keeping the Ken Bowles spirit alive!

Big thanks to Ken Bowles for the impact on all of us who code.


RIP Ken Bowles,

Unfortunately, this only highlights the continued lack of ability for some US publications to get their act together regarding Europe.


What's it got to do with Europe?


The submitted link can't be accessed from Europe: "Unfortunately, our website is currently unavailable in most European countries."


I met him once, in the 1980s. At the time he was talking about implementing Ada on something like the P-System.


Rational Software started as a company selling Ada Machines, they then pivoted to other industries.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: