jmcg (04/07/83)
I got a call from Gary Jirak of Xidak. He wants me to set the record straight with respect to Mainsail and Lisa: The Lisa implementation language was an amplified Pascal, not Mainsail. The claim regarding Mainsail apparently arose from some confusion about Xidak's offer or willingness to do a port of Mainsail to Lisa. He also wanted to suppress the MAchine INdependent SAIL notion. Mainsail is its own language and is not particularly like SAIL (not much more than it's like ALGOL). I've been encouraged by the responses and phone conversations and have come to the conclusion that Mainsail could have a role in our project--if the terms of the educational license are favorable, we should be able to incorporate it as part of our package. That address again, folks: Xidak 530 Oak Grove Ave., Suite 101 Menlo Park, CA 94025 (415)324-8745) [Remind me to describe our project to you sometime: we're trying to put together a "biochemistry workstation".] Jim McGinness sdcsvax!jmcg (619)452-4016 UC San Diego, Chemistry or decvax!jmcg ---------- Below is a synopsis of some of the replies I received: ---------- A comment on MainSail only being available from Xidak: Have you ever used Simula? It's ONLY available from the Norwegian Computing Center, and they ONLY send out binaries of the compiler, with time bombs in them, forcing you to get updates regularly. Apparently it is also expensive - at Wisconsin, on the Univac 1110, there was an extra 20 cent surcharge every time you used the Simula compiler. As a result, there is a fixed set of machines you can get Simula for, and VAX/UNIX is not one of them. As for maintaining a consistent version across machines, I wonder how well this can be done. Simula would print an "extension warning" every time you used the DO-UNTIL construction, because it was not in the common base language. On the other hand, PCC seems to support a very consistent language, if an inconsistent library. Unless they force you to use their editor, I don't see what the relevance of its existence is. It merely proves you can write an editor in MainSail. (I wonder how they make it work on virtually any CRT portably? Does it use termcap? How do they portably get the terminal type. I wonder how well it performs at low baud rates, and how many terminals it really supports. --------- We had mainsail at our site for evaluation. We were not impressed. That is, some of us were not impressed. Mainsail is like C with strings and modules added. The modules are similar to the way a good structured program is written in C; with related functions together in a file as a module. The only difference is that mainsail formalizes the module idea and makes it a requirement. Good things about mainsail: processor independence. I really believe that a mainsail program will run the same anywhere. This is a nice feature. Dynamic linking. Everybody's object code doesn't carry around an image of all the standard libraries. Everybody's code doesn't have to be recompiled when you change the kernel. The potential of the user interface. Mainsail has an integrated user interface where the editor commands are always available (something like running the shell in a Gosling Emacs window.) Bad things about Mainsail: Xidak has a monopoly. Xidak is not very big. Mainsail is not able to run on a Z80. mainsail is not even able to run on a PDP-11 although they said for enough money they might try to squeeze it into a separate I/D machine. Mainsail requires a hard disk due to the dynamic linking. The user interface sucks. The concept is right but the implementation is weak. The programming environment is confusing: you can't tell easily if you are in the editor or debugger or compiler or what. Bugs are evident in several places. --------- There's also the favorable review posted by K. S. Bhaskar (fluke.844).