Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!gatech!bloom-beacon!think!ames!sdcsvax!ucbvax!MITRE-BEDFORD.ARPA!mhg
From: mhg@MITRE-BEDFORD.ARPA (Mark H. Granoff)
Newsgroups: comp.os.vms
Subject: Re: Curses and SMG
Message-ID: <8707161220.AA10635@mitre-bedford.ARPA>
Date: Thu, 16-Jul-87 08:20:34 EDT
Article-I.D.: mitre-be.8707161220.AA10635
Posted: Thu Jul 16 08:20:34 1987
Date-Received: Sun, 19-Jul-87 01:10:08 EDT
References: <1514@swan.cs.ulowell.edu>
Sender: daemon@ucbvax.BERKELEY.EDU
Distribution: world
Organization: The ARPA Internet
Lines: 63


>Could somebody comment about the merits of :
>1) Curses
>2) the Screen management routines

I can't comment on 'curses' but I can comment (quite verbosely) on
SMG.  We use it here for development and I wrote a Window Manager that
uses the SMG library of routines.

>Performance? Bugs(if any)? Functionality? How easy they are to use? 
>Would you recommend Curses or SMG to program games like rogue, hack?

Performance:
     I would have to say that SMG's performance is dependant on what
     kind of terminal you are using and how loaded the system is.  (By
     the way, SMG is pretty much terminal independent).

     There are ways to improve SMG's performance (through SMG calls).
     For example, selecting 'minimal update' when a pasteboard is
     created insures that only portions of the screen that change will
     be updated.  There are other means too.

Bugs:
     There are none that I know of -- but it certainly adheres to the
     rule that computers do what you *say* and not what you *mean*.

Functionality and Ease of Use:
     SMG is not easy to use.  Once you learn a good subset of routine
     names, it still is not easy to use (except that you'll know which
     routines do what).

     There are so many routines that it's difficult to keep straight
     the myriad of parameters that each one has.  In addition, the
     routine names are less than intuitive.

     I beleive that one of the best uses for SMG is window management,
     but the idea of 'pasteboards' and 'displays' is certainly much
     less obvious than 'screens' and 'windows'.  This is the reason
     that I wrote a Window Manager which has routines like
     'create_window' and 'open_window'.

     Once you get an application going that uses SMG, it will usually
     be *very* spiffy.  You can do some neat stuff.

As I said above, I don't know anything about 'curses'; DEC suggests
that all new (screen oriented) development use SMG (rather than direct
cursor addressing and escape sequences).  [There is an SMG routine
that tells SMG to use escape sequences].

Hope this is helpful.

+---------------------------------------------------------------------+
| Mark H. Granoff                       Member of the Technical Staff |
+---------------------------------------------------------------------+
| USMAIL: The MITRE Corporation   | ARPAnet: mhg @ mitre-bedford.ARPA |
|         Burlington Rd. M/S B015 |-----------------------------------|
|         Bedford, MA 01730       | A T & T: (617) 271 - 7030         |
+--------------------------- Disclaimer ------------------------------+ 
|The views expressed herein are my own and do not necessarily reflect |
|                      those of my employer.                          |
+---------------------------------------------------------------------+
|  Unix commands are based on the principle of intuitive complexity.  |
+---------------------------------------------------------------------+