Hacker News new | past | comments | ask | show | jobs | submit login

I know earlier (pre-2000's) versions of VMS were written in BLISS-32: https://en.wikipedia.org/wiki/BLISS

This would have been 1991 or 1992 so DEC was probably still a BLISS shop. Maybe they didn't ship C manuals or something.




> I know earlier (pre-2000's) versions of VMS were written in BLISS-32: https://en.wikipedia.org/wiki/BLISS

My understanding is that, even for the brand new x86-64 port, large parts of OpenVMS are still written in BLISS and MACRO, although I believe they prefer C for brand new code. A key component of the porting effort was modifying the existing BLISS and MACRO compilers to produce x86-64 binaries instead of Itanium ones. [0]

> This would have been 1991 or 1992 so DEC was probably still a BLISS shop. Maybe they didn't ship C manuals or something.

I suspect the actual reason – in 1993, DEC released a new C compiler for OpenVMS – DEC C, to replace their earlier VAX C compiler. [0] DEC C was designed to be a fully ANSI C compiler, VAX C was a pre-ANSI (K&R) compiler with various unusual proprietary extensions, along with some half-finished ANSI C compatibility tacked on the side. Probably, they were used to writing ANSI C on other platforms, and were given VAX C to use as a as a compiler, and were (quite understandably) frustrated by its inability to compile ANSI C code correctly.

[0] https://vmssoftware.com/docs/2021-04-27-x86-Compiler-Update....

[1] https://www.digiater.nl/openvms/freeware/v70/vmsfaq/vmsfaq_0...


Timing-wise, that could be correct. However, the biggest issue to me was the inability to nicely interact with VMS system and library calls. Even with the best that DEC could do in their header files, setting up a complex $QIO was a headache, certainly compared to more “native” languages.

I was a bit of a fan back then. Much more powerful and stable than pretty much anything I encountered in Unix-land. And once you tossed out the C compact libraries, very fast, too :)


OpenVMS native IO code, in C, can certainly get rather hairy, from what I’ve seen. For example, the OpenVMS port of SQLite: https://github.com/endlesssoftware/sqlite3/blob/8004eeafeec9...

When you speak of “more ‘native’” languages, what do you mean? BLISS? MACRO? Pascal/BASIC/COBOL/FORTRAN? How do they make code like that simpler?




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: