On 28-Jan-18 18:38, Hunter Goatley wrote: > On 1/28/2018 3:49 PM, Johnny Billquist wrote: > >> It's more or less a dead language, unless you are in a very specific >> environment. So no, most likely it is not worth learning, if you are >> thinking that you might work with it. > Agree. > If you're writing code that's strictly for VMS and will never be used > anywhere else, BLISS is a fine choice, if you're interested in > learning it. > Agree. >> Compared to C? Well, it is similar, I'd guess/say. > > BLISS-32 was designed as an operating systems language, so you can > easily do things in BLISS that you can't do in C. On VAX, you could > write subroutines that could be called via JSB instructions in MACRO, > for example. > Generally agree. But it's not a bright line.
IIRC, DECC added #pragma linkage for that. But that only matters in kernel code - any user mode JSB linkage in the VAX calling standard has a corresponding CALL linkage. But BLISS does it in the language proper; including allocating storage in specific PSECTs. And with its macros, it is much easier to do those sorts of things portably. The C language standard leaves a lot to the implementers' imagination - or creative interpretation. BLISS doesn't. If I need to access device registers portably, I'll take BLISS over the varying implementations of C's constant, readonly, and volatile. > On the other hand, C has the C RTL. BLISS has no RTL, so be prepared > for lots of calls to LIB$ and friends and system services. > Which are problematic/impossible in inner modes. Then again, the C RTL for inner modes is a late addition, and has restrictions. You have to know your environment with either language. POSIX C provides a rich user-mode function library. BLISS requires that you provide your own. But in the VMS environment, that's done for you (see starlet.req, lib.req). That's richer - but hardly portable. Then again, the only other targets are DEC/OSF1, TOPS-10/20 & PDP-11s. Which, except for this community, probably aren't of interest. If you stick with user mode, the details are different, but the languages are roughly comparable (especially if you include the XPORT library for BLISS). It's all academic unless you are working in one of the supported environments. > Hunter
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
