sroth@muddcs.UUCP (Steve Roth) (04/01/86)
The recent postings of various versions of microemacs have provided an interesting comparison of operating systems. One version of microemacs that we have been working with has code in it for a number of operating systems including VAX/VMS, UNIX V7, AmigaDos, and MS-DOS. Below is a com- parison of the number of lines of C code for certain tasks under each of those operating systems. Lines of Code: Task VAX/VMS UNIX V7 AmigaDos MS-DOS ---------------------------------------------------------- Spawn CLI 32 13 7 5 Spawn Command 38 14 10 7 Prepare Term for edit 37 5 1 0 Clean up after edit 10 1 1 0 Write char 3 1 1 1 Flush output 11 1 0 0 Read char, no echo 25 1 3 1 Furthermore, we ran termio.c (the terminal i/o routines, which are the majority of the system-dependent code) through the C preprocessor for each operating system. After deleting references to include files in each one, we found: Number of #includes removed: 5 1 0 1 Number of characters of preprocessor output: 7806 3964 3770 3675 Based on past experience, these statistics seem quite indicative of the relative level of difficulty of system-level programming on each of these operating systems. We hope you found this information as amusing as we did. Have a nice day! Steve Roth Marc Sugiyama -- ----------------------------------------------------------------- Steve Roth Harvey Mudd College, Claremont California ucbvax!sdcsvax!scgvaxd!muddcs!sroth -or- STEVE@YMIR.BITNET
dillon@CORY.BERKELEY.EDU (Matt Dillon) (04/03/86)
> > Lines of Code: > Task VAX/VMS UNIX V7 AmigaDos MS-DOS > ---------------------------------------------------------- > Spawn CLI 32 13 7 5 > Spawn Command 38 14 10 7 > Prepare Term > for edit 37 5 1 0 > Clean up after > edit 10 1 1 0 > Write char 3 1 1 1 > Flush output 11 1 0 0 > Read char, no > echo 25 1 3 1 > You forgot BSD 4.2/4.3 . It's about the same as UNIX V7, except that I myself can Spawn stuff in one, namely: if (!fork()) execv(...) Still, other people may want more control. Also, the '0' entries are misleading, considering that the number of things (options) you can do on a UNIX TTY port is quite a bit larger than what you can do from AmigaDos or MS-DOS. E.g. MS-DOS takes 0 lines to do the above because it can't (easily) do anything BUT the above... unless you've written library routines to do the nasty stuff. (I'm not flaming because this article put VMS in a bad state... I hate VMS) -Matt
gregg@okstate.UUCP (04/11/86)
> /* ---------- "Comparison of Operating Systems" ---------- */ > > The recent postings of various versions of microemacs have provided > an interesting comparison of operating systems. One version of microemacs > that we have been working with has code in it for a number of operating > systems including VAX/VMS, UNIX V7, AmigaDos, and MS-DOS. Below is a com- > parison of the number of lines of C code for certain tasks under each of > those operating systems. ......... > Steve Roth > Marc Sugiyama > > -- > ----------------------------------------------------------------- > Steve Roth Harvey Mudd College, Claremont California > ucbvax!sdcsvax!scgvaxd!muddcs!sroth -or- STEVE@YMIR.BITNET Come on guys.... This has absolutly no relevance at ALL. I can write a new library for any of the given systems, and make it look like the best or the worst. Just because the orginators of each system choose a different user level interface to the system, doesn't imply that any one is better than the other DOES IT????? The point is, you can hide anything you want from the programmer, making it easier, or more difficult to use any given feature (or bug for that matter). Gregg Wonderly Department of Computing and Information Sciences Oklahoma State University UUCP: {cbosgd, ea, ihnp4, isucs1, mcvax, uokvax}!okstate!gregg ARPA: gregg%okstate.csnet@CSNET-RELAY.ARPA or ARPA: gregg@A.CS.OKSTATE.EDU