1.5 Programming Considerations
     
     
    
      The major programming considerations are as follows: 
    
    
      - 
        Keyboards are the greatest variable between different manufacturer's
        workstations. If you want your program to be portable, you should be
        particularly conservative here. 
      
- 
        Many display systems have limited amounts of off-screen memory. If you
        can, you should minimize use of pixmaps and backing store. 
      
- 
        The user should have control of his screen real-estate. Therefore, you
        should write your applications to react to window management, rather
        than presume control of the entire screen. What you do inside of your
        top level window, however, is up to your application. 
      
- 
        Coordinates and sizes in X are actually 16-bit quantities. They
        usually are declared as an
        int16 in
        the functions. Values larger than 16 bits can be truncated silently.
        Sizes (width and height) are unsigned quantities. 
      
- 
        The types
        color,
        colormap,
        cursor,
        display,
        font,
        gcontext,
        pixmap,
        screen,
        and
        window
        are defined solely by a functional interface. Even though they are
        treated like structures in this document, it is not specified whether
        they are implemented as structures or classes. Although some
        interfaces are described as functions, they are not required to be
        defined using defun. (It is a requirement that they be
        functions as opposed to macros or special forms.)