Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!decwrl!ucbvax!HARVARD.HARVARD.EDU!sasaki From: sasaki@HARVARD.HARVARD.EDU.UUCP Newsgroups: mod.computers.vax Subject: VMS and programmer unfriendliness Message-ID: <8607070334.AA17347@ucbvax.Berkeley.EDU> Date: Sun, 6-Jul-86 23:34:42 EDT Article-I.D.: ucbvax.8607070334.AA17347 Posted: Sun Jul 6 23:34:42 1986 Date-Received: Mon, 7-Jul-86 17:40:30 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 40 Approved: info-vax@sri-kl.arpa I'm not going to deny that VMS is rather arcane at times, but the examples that are being given are ridiculous. Doesn't anyone know about subroutines and functions? Whatever happened to program libraries? I don't know of any experienced programmer (on any system) who doesn't have a bunch or routines that are callable to do things that might be a little complicated to do directly. For instance, way back in VMS version 1.5 I had a sleep function. Yes, it did use strange VMS system calls that I had to look up in the manual to figure out how to call, but after it was written, whenever I wanted to sleep 2 seconds, then I just did a "sleep(2.0)" (I used a floating point number to be able to use fractions of seconds). I have routines to translate logical names, and to read a single character (with and without echo), create character string descriptors for C programs, do quad arithmetic, etc. When I need to do one of these things, I just call one of these routines. If it becomes clear that I need to have a program run faster, and removing the calls will speed things up, then I use my subroutine library routines as examples of how to call a system service, and I do it. No big deal. VMS tries very hard to provide flexibility in the way a programmer can do things. As an example, the Emacs text editor (any implementation) will run a lot more efficiently on VMS if it took advantage of the qiow more fully to read in N printable characters, but to return as soon as it found a control character (normal characters insert, control characters are usually commands). Instead, most implementations read in a single character (no echo) then decide whether the character should be echoed or not (echo it if it should be echoed). Is the tradeoff a reasonable one? Sometimes it is and sometimes it isn't. I'm more than willing to take the time and effort to VMS make an enviroment that I can program in. ---------------- Marty Sasaki uucp: harvard!sasaki Harvard University Science Center arpa: sasaki@harvard.harvard.edu One Oxford Street bitnet: sasaki@harvunxh Cambridge, MA 02138 phone: 617-495-1270