[editor : Christopher Morgan] [publisher : Virginia Londoner, Gordon R Williamson, John E Hayes] #Magazine
#Abstract
Smalltalk isn't small talk any more. Three years ago, the cover of BYTE depicted the island kingdom of Smalltalk as a place where great and magical things happen, though its "craggy aloofness" kept it out of the mainstream of the computer programming community. During the past three years the Xerox Learning Research Group has continued developing Smalltalk, and this month we present the culmination of its work - the debut of the Smalltalk-80 system.
Because of the special nature of this issue, we have added a special introduction by Adele Goldberg, manager of the Xerox Learning Research Group based in Palo Alto, California. Adele guides you gently through the array of articles-describing the Smalltalk-80 system and related topics.
In addition to our regular features, we also have the concluding part of Steve Ciarcia's article, "Build a Z8-Based Control Computer with BASIC." And Stan Miastkowski presents an in-depth report on what we can expect from Japan in his article, "The Japanese Computer Invasion."
[author : Chris Morgan] #Edito
Extract : « Welcome to the fifth annual BITE language issue. Over the past four years we have devoted our August issues to discussions of APL, Pascal, LISP, and FORTH, respectively. This year we are pleased to present the Smalltalk-80 language, the culmination of ten years of research by the Xerox Learning Research Group located at the Xerox Palo Alto Research Center (PARC) in California.
During the past few months the BITE staff has been acquainting itself with Smalltalk. I spent some time this spring working with the Smalltalk systems at Xerox PARC and being briefed by Adele Goldberg and Dave Robson. I came away excited by this revolutionary language. I hope the articles in this issue convey some of that excitement.
Smalltalk is an object-oriented language, as opposed to procedure-oriented languages such as BASIC, Pascal, and FORTRAN. Because of this, programming in Smalltalk is similar to the process of human interaction. [...]
When I first worked at a Smalltalk-80 computer terminal, I noticed an interesting phenomenon: I did very little typing, although a full keyboard was available to me. This is because of the window menu format and the presence of the "mouse," a small mechanical box with wheels that lets you quickly move the cursor around the screen. (Stoney Ballard of Digital Equipment Corporation, who has been doing research work lately with the Smalltalk-80 system, points out that he was able to do a significant amount of programming with his experimental system over several weeks even though his keyboard was not working.) Choosing a particular item in a list from a window causes another window to appear on the screen. Additional levels of nested windows can be accessed by continuing to reposition the cursor and pressing the appropriate key on the mouse.
This makes for fast programming. [...] »
A readers' guide to the Smalltalk articles in this issue.
[author : Adele Goldberg] #History #Smalltalk #Programming
Extract : « It is rare when one can indulge in one's prejudices with relative impunity, poking a bit of good humored fun to make a point.
With this statement, Carl Helmers opened his remarks in the "About the Cover" section of the August 1978 issue of BYTE. The issue was a special on the language Pascal, so Helmers took the opportunity to present Pascal's triangle as drawn by artist Robert Tinney. The primary allegory of the cover was the inversion of the Bermuda Triangle myth to show smooth waters within the area labeled "Pascal's Triangle." In explaining the allegory, Helmers guided the traveler through the FORTRAN Ocean, the BASIC Sea, around the Isle of BAL, and up to the Land of Smalltalk.
Traveling upward (in the picture) through heavy seas we come to the pinnacle, a snow white island rising like an ivory tower out of the surrounding shark infested waters. Here we find the fantastic kingdom of Smalltalk, where great and magical things happen. But alas... the craggy aloofness of the kingdom of Smalltalk keeps it out of the mainstream of things.
It is rare when one can indulge in one's fantasies to respond to so pointed a remark as that provided by the then editor of BYTE. This month's cover design presents just such an opportunity. It depicts the clouds clearing from around the kingdom of Smalltalk, and, with banners streaming, the Smalltalk system is taking flight into the mainstream of the computer programming community.
This cover was also executed by Robert Tinney, to the delight of the Learning Research Group (LRG) of the Xerox Palo Alto Research Center. LRG is the group that has designed, implemented, and evaluated several generations of Smalltalk over the past ten years.
The balloon on the cover symbolizes the Smalltalk-80 system that is being released this year for more general access. The release is in the form of publications and a file containing the Smalltalk-80 programming system. Twelve articles describing the system appear in this issue of BYTE. Through such publication, LRG's research will become generally accessible, dispelling the clouds.
Smalltalk is the name LGR assigned to the software part of Alan Kay's personal computing vision, the Dynabook. The vision is a hand-held, high-performance computer with a high-resolution display, input and output devices supporting visual and audio communication paths, and network connections to shared information resources. [...] »
How message-sending objects are used in the Smalltalk-80 system.
[author : the Xerox Learning Research Group] #History #Smalltalk #Programming #HowItWorks
Extract : « The Smalltalk-80 system represents the current state of the object-oriented point of view as it has been reduced to practice by the Xerox Learning Research Group. The Smalltalk-80 system is composed of objects that interact only by sending and receiving messages. The programmer implements a system by describing messages to be sent and describing what happens when messages are received.
The Smalltalk-80 system is the latest in a series of programming environments that have applied the object-oriented point of view more and more uniformly to the design and production of software systems. The fundamental ideas of objects, messages, and classes came from SIMULA. (See reference 1.) SIMULA allows users to create object-oriented systems, but uses the standard data/procedure-oriented ALGOL language to provide numbers, booleans, basic data structures, and control structures. The Flex system, the Smalltalk-72, Smalltalk-74, and Smalltalk-76 (see references 5, 2, and 4, respectively) systems extended the object-oriented point of view to an increasing number of the elements of a programming environment. For example, in Smalltalk-72, arithmetic, list structures, and control structures were represented as objects and messages, but classes were not. In Smalltalk-74, class descriptions as objects were introduced. The Smalltalk-76 system added the capability to express relationships between classes, and extended the object-oriented point of view to the programmer's interface.
This article presents the central semantic features and most of the syntactic features of the Smalltalk-80 system. It was prepared by Dave Robson and Adele Goldberg as scribes for' the group effort of designing and implementing the system. Two forthcoming books (see reference 3) provide the full specification of the Smalltalk-80 system; in particular, the books describe the implementation of the interpreter and storage manager, and the graphical user interface. [...] »
Steve continues his description of the Z8-BASIC Microcomputer and suggests two applications.
[author : Steve Ciarcia] #Electronic #ComputerKit #Listing #BASIC
Extract : « The Z8-BASIC Microcomputer system described in this two-part article is unlike any computer presently available for dedicated control applications. Based on a single-chip Zilog Z8 microcomputer with an onboard tiny-BASIC interpreter, this unit offers an extraordinary amount of power in a very small package. It is no longer necessary to use expensive program-development systems. Computer control can now be applied to many areas where it was not previously cost-effective.
The Z8-BASIC Microcomputer is intended for use as an intelligent controller, easy to program and inexpensive enough to dedicate to specific control tasks. It can also serve as a low-cost tiny-BASIC computer for general interest. [...] »
Object-oriented software systems provide the underlying design of Smalltalk.
[author : David Robson] #Method #Smalltalk #Glossary
Extract : « This article describes a general class of tools for manipulating information called object-oriented software systems. It defines a series of terms, including software system and object-oriented. The description is greatly influenced by a series of object-oriented programming environments developed in the last ten years by the Learning Research Group of Xerox's Palo Alto Research Center, the latest being the Smalltalk-80 system. The article describes object-oriented software systems in general, instead of the Smalltalk-80 system in particular, in order to focus attention on the fundamental property that sets the Smalltalk-80 system apart from most other programming environments. The words "object-oriented" mean different things to different people. Although the definition given in this article may exclude systems that should rightfully be called object- oriented, it is a useful abstraction of the idea behind many software systems.
Many people who have no idea how a computer works find the idea of object-oriented systems quite natural. In contrast, many people who have experience with computers initially think there is something strange about object-oriented systems. [...]
Conclusion
The realization that information can describe the manipulation of information is largely responsible for the great utility of computers today. However, that discovery is also partially responsible for the failure of computers to reach the utility of some predictions made in earlier times. On the one hand, it can be seen as a unification between the manipulator and the manipulated. However, in practice, it has been seen as a distinction between software and the information it manipulates. For small systems, this distinction is harmless. But for large systems, the distinction becomes a major source of complexity. The object-oriented point of view is a way to reduce the complexity of large systems without placing additional 'overhead on the construction of small systems. »
Programming and debugging in Smalltalk are always interactive activities.
[author : Larry Tesler] #Smalltalk #HowItWorks #Listing #History #Programming #Book
Extract : « [...] Enter the Integrated Environment
Soon after I began battling the mode monster, I became associated with Alan Kay, who had just founded the Learning Research Group (LRG) at the Xerox PARC. Kay shared my disdain for modes and had devised a user- interface paradigm (reference 3) that eliminated one kind of mode, the kind causing the preemption dilemma. The paradigm he advocated was called "overlapping windows." Most people who have used computer displays are familiar with windows. They are rectangular divisions of the screen, each displaying a different information set. In some windowing systems, you can have several tasks in progress, each represented in a different window, and can switch freely between tasks by switching between windows.
The trouble with most windowing systems is that the windows compete with each other for screen space-if you make one window bigger, another window gets smaller. Kay's idea was to allow the windows to overlap. The screen is portrayed as the surface of a desk, and the windows as overlapping sheets of paper (photo 2). Partly covered sheets peek out from behind sheets that obscure them. With the aid of a pointing device that moves a cursor around the screen, you can move the cursor over a partly covered sheet and press a button on the pointing device to uncover that sheet.
The advantages of the overlapping-window paradigm are:
• the displays associated with several user tasks can be
viewed simultaneously
• switching between tasks is done with the press of a button
• no information is lost switching between tasks
• screen space is used economically [...]
»
A Smalltalk application program will limit the user's access to the language.
[author : Trygve M H Reenskaug] #Smalltalk #HowItWorks #Listing #Programming #Book
Extract : « [...] This article shows how the basic metaphors of Smalltalk can be used to describe complex systems. Since this magazine is not yet distributed in a form readable by Smalltalk, we have to restrict ourselves to traditional written documentation. (Let it be a challenge to Smalltalk experimenters to convert this presentation into a graphic and dynamic one.)
The Smalltalk system user will most likely employ his system to organize the large amount of information that will be available to him, such as reference materials in the form of market information, news services, and weather forecasts. Some data, such as travel information and bank transactions, may flow both to and from the owner. Other information, such as personal notes or material that is not yet ready for distribution, can remain private.
An individual's total information needs are very large and complex. His Smalltalk system, therefore, is also likely to be large and complex. The challenge to the Smalltalk experimenter is to find ways to structure systems so the user will not only understand how to use them, but also get an intuitive feel for their inner workings. In this way, the user can really be the master and the systems his faithful slaves.
An important part of any system is the software that controls the user's interaction with the information. Mastering the software is crucial to handling the information. With Smalltalk, software is just a special kind of information and is treated as any other information within the total system. It is available to the user in the usual manner.
A traditional way of describing software is through written documentation. Smalltalk provides more dynamic interfaces through the use of two-dimensional graphics and animation on the computer screen. Devising such interfaces is probably the greatest challenge in personal computing today, and it provides a rich field of endeavor for the interested experimenter. [...] »
The Graphics Kernel provides the interface through which all text and graphics are displayed.
[author : Daniel H H Ingalls] #Smalltalk #HowItWorks #Listing #Programming #Graphics #Book
Extract : « Graphics are essential to the quality of an interactive programming system and to the interactive applications that go along with such a system. Qualitatively, people think with images, and any system that is incapable of manipulating images is incapable of augmenting such thought. Quantitatively, a person can visually absorb information equivalent to millions of characters a second, while the normal rate for reading text is less than 100 characters a second.
For the graphical interaction cycle to be complete, a computer system must provide a channel for input in the visual domain as well. While the projection of images from the realm of thought into the space of electronic information seems an impossible task, a well-designed pointing device can effectively harness the computer's graphical output capability to express graphical input from the user. Given such a pointing device, the process of selecting from graphical objects, such as text displayed on the screen, is natural and rapid. By tracking the pointer with a program that simulates a pen or paintbrush, the visual input channel can be extended to include line drawing and freehand sketches.
The purpose of graphics in the Smalltalk system is to support the reactive principle:
Any object accessible to the user should be able to present itself in a meaningful way for observation and manipulation.
Meaningful presentation of any object in the system demands maximum control over the display medium, and many technologies fall short in this respect. One approach that provides the necessary flexibility is to allow the brightness of every discernible point in the displayed image to be independently controlled. The simplest implementation of this approach is a contiguous block of storage in which the setting of each bit (1 or 0) is mapped into dark or light illumination of the corresponding picture element, or pixel, when displaying or combining with other images. The block of storage is thus referred to as a bitmap, and this type of display is called a bitmap display. The simplest form of bitmap allows only two brightness levels, white and black. The Smalltalk-80 graphics system is built around this model. [...] »
Like it or not, the Japanese small computers are on their way.
[author : Stan Miastkowski] #Computer #Overview #TradeAndLaws
Extract : « [...] Summary
The Japanese personal computers are impressive machines at highly competitive prices. However, the outlook for American computer manufacturers is not entirely grim. There is little if any chance that the influx of Japanese products into our market will have anywhere near the same effect Japanese automobiles and steel have had on those US markets. The American computer industry is far from being the mature and top- heavy group that the auto and steel industries are. The United States developed the computer and that development continues to move forward at a dizzying pace.
In fact, the influx of Japanese personal computers is likely to further spur the domestic computer makers. Their highly experienced marketing and product-development groups are poised to give the Japanese products a run for their money. The bottom line seems to be that the "Japanese Computer Invasion" will result in better products and lower prices for consumers. »
Many kinds of data structures can be added easily to the Smalltalk-80 system.
[author : James C Althoff Jr] #Smalltalk #Listing #Programming #DataStructure #Book
Extract : « Most programmers are exposed to the concept of data structures very early in their programming experience. A course in data structures is an integral part of most computer science curricula, and there are many excellent and widely used texts on the subject (see references 1, 2, and 4). The data structures covered in these texts generally include the linear list, stack, queue, tree, and graph.
In this article, we will define and implement some of the simplest structures, including the linear list, stack, and queue. Our approach will be to describe each data structure informally, and then to show a Smalltalk-80 class definition that closely matches this informal description. We will see that it is possible, using the class construct, to create programming structures that clearly mirror the entities being implemented. However, in order to demonstrate how to build these data structures from scratch, we will not make use of any of the advanced data structure classes that already exist in the Smalltalk-80 system.
We will make extensive use of the Smalltalk-80 subclass mechanism in the class definitions we introduce. We will use subclassing to facilitate the construction of different implementations of the same entity. In addition, we will see how the subclass mechanism enables us to define two or more related classes in such a way that the common parts of their definition can be shared. [...]
Summary
The class construct is an extremely useful tool for implementing data structures. Implementing a data structure with a class makes it possible to confine the details of the implementation to one place and to insure that the resulting object will be accessed by the rest of the system in a secure manner, namely, through the use of a set of messages that correspond to the operations that are well defined for that data structure. Additionally, the ability to create subclasses makes it possible to share variables and methods among similar class definitions, thereby reducing the amount of work needed to implement a set of data structures. »
The design principles of a language strongly affect its power and usability.
[author : Daniel H H ingalls] #Smalltalk #HowItWorks #Method #Programming
Extract : « The purpose of the Smalltalk project is to provide computer support for the creative spirit in everyone. Our work flows from a vision that includes a creative individual and the best computing hardware available. We have chosen to concentrate on two principal areas of research: a language of description (programming language) that serves as an interface between the models in the human mind and those in computing hardware, and a language of interaction (user interface) that matches the human communication system to that of the computer. Our work has followed a two- to four-year cycle that can be seen to parallel the scientific method:
• Build an application program within the current system (make an
observation)
• Based on that experience, redesign the language (formulate a
theory)
• Build a new system based on the new design (make a prediction that
can be tested)
The Smalltalk-80 system marks our fifth time through this cycle. In this article, I present some of the general principles we have observed in the course of our work. While the presentation frequently touches on Smalltalk "motherhood," the principles themselves are more general and should prove useful in evaluating other systems and in guiding future work.
Just to get warmed up, I'll start with a principle that is more social than technical and that is largely responsible for the particular bias of the Smalltalk project:
Personal Mastery: If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual. [...] »
The use of a Smalltalk-80 Virtual Machine allows the system to be transported easily among different 16-bit microprocessors.
[author : Glenn Krasner] #Smalltalk #HowItWorks #Programming #Simulation
Extract : « The Smalltalk-80 system is a powerful system that encourages the development of large applications programs. The system contains a compiler, a debugger, a storage management system, text and picture editors, and a file system. It also contains a highly interactive user interface based on graphics that include overlapping windows.
Typically the task of bringing up such a powerful system on a new computer includes writing code to implement these pieces. The Smalltalk-80 system is different in that most of these pieces are written in Smalltalk-80 itself. The part that can be written in Smalltalk-80 is called the Smalltalk-80 Virtual Image, and it includes the compiler, debugger, editors, decompiler, and the file system.
The remaining part of the Smalltalk-80 system is defined in terms of an abstract machine called the Smalltalk-80 Virtual Machine (see figure 1). The Smalltalk-80 compiler translates source code into machine instructions for this virtual machine, rather than translating directly into machine instructions for a particular hardware machine. The task of bringing up a Smalltalk-80 system on a new "target" computer consists only of implementing (writing a program to simulate) the Smalltalk Virtual Machine on the target computer. In this article, we will present an overview of the elements needed to implement the Smalltalk Virtual Machine. These elements are:
• the Storage Manager
• the Interpreter
• the Primitive Subroutines
[...]
»
Design of complicated control structures is easy in the Smallralk-80 language
[author : L Peter Deutsch] #Smalltalk #Listing #Method #Programming
Extract : « Just as data structures refer to the ways that we group data together by using simple objects to represent more complex objects, control structures refer to the ways a programmer can build up complex sequences of operations from simpler ones. The easiest example of a control structure is sequencing: do something and then do something else. Two other familiar examples are the conditional structure (if some condition is true, do something, otherwise do something else) and the loop (do something as long as some condition remains true).
Most languages provide a few common control structures, typically sequencing, conditional, looping, and procedures, but no way for a programmer to define new structures. One useful control structure that many languages omit is the simple case statement (given N alternative things to do, numbered from 1 to N, and a variable K, do the Kth thing). If the language doesn't provide a case statement, you can always simulate it with a long string of conditionals, but it makes your program harder to read . Other useful control structures are much more difficult to simulate if the language fails to provide them.
The Smalltalk-80 language and system (which will be called simply "Smalltalk") is one of the few languages in which a programmer can invent and implement, with relative ease, new control structures that aren't provided by the system implementors. The rest of the article illustrates this point with examples that have actually been run on a Smalltalk-80 implementation. [...] »
Although Smalltalk-80 is not meant to be used by children, application programs can be written that will allow them to be creative and, at the same time, learn about programming.
[author : Adele Goldberg and Joan Ross] #Smalltalk #Education #Programming #Graphics #History #Book
Extract : « For many years our work on the Smalltalk project has carried with it the purpose of creating new technologies that can be used effectively for instruction, both to teach programming and to support the implementation of educational activities. While the Smalltalk-80 system is not specifically designed for school-age children, most of the applications that we developed as tests of the earlier Smalltalk systems were.
This article will present a brief history of the development of the Smalltalk-80 system that focuses on the instructional uses of its various predecessors. A significant part of this history is the redesign of the language syntax. Programming in Smalltalk involves creating a language for communicating among objects; this language is created within the syntactic restrictions of the Smalltalk-80 system. Often the programmer adds an additional level of syntax in which the language for communicating among objects is presented in terms of graphic images. An example of an instructional activity, the Dance Kit, illustrates the idea of such a language. Its design was motivated by the rich support for generalization and interactive graphics available in the Smalltalk-80 system.
Our original intention in writing this article was to disabuse readers of the idea that the Smalltalk-80 system, like LOGO, is a language for children. We concluded, however, that the other articles in this issue and the two books on the system (see references) will easily accomplish that task. It remains, then, for us to comment on the style of use of the system that our instructional work has taught us. Although there are a few places where knowledge of the Smalltalk-80 system is helpful, this article does not, in general, require such knowledge. [...] »
The versatile Smalltalk-80 language can create an environment for graphics design that can be used by non technically oriented people.
[author : William Bowman and Bob Flegal] #Smalltalk #Graphics
Extract : « Computer art is usually thought of as linear, geometric, and repetitious. The Smalltalk group at the Xerox Palo Alto Research Center has been exploring the potential image-making capabilities of the computer-powered display medium for almost ten years. We have investigated the idea of using the computer and its associated display as an art medium for a user/artist to create visual material. We allow the mixture of an artist's freehand sketches with structured commands for manipulating graphic forms. This approach can be contrasted with the more traditional approach where the machine is programmed to "draw," usually with lines, some visual image on the display screen. Figure 1 is a typical computer-generated pattern in which symmetrically ordered lines form an illusion of spherical volume.
This article reports on one of our developments in the area of computer-assisted image creation. ToolBox is a drawing system designed for general-purpose, interactive image creation and editing. ToolBox was designed jointly by artist William Bowman and computer scientist Bob Flegal to explore graphic specialization within the computer- powered display medium. We were interested in determining the areas within the visual and graphic arts for which the computer-powered display medium is a particularly suitable and efficient graphic tool. To do so we investigated possible tools, techniques, and image-making capabilities of this new medium. The underlying implication (and intention) of this approach is a new role in professional graphics: that of the illustrator/artist who creates images with computer machine tools rather than with conventional hand tools.
The ToolBox system receives input from the user/artist from a graphics tablet and keyboard and modifies the screen image based on his/her actions. The computer program does not generate the image from a set of programmed drawing instructions. For example, to specify a straight- edge line, the artist need only specify the two end points of the line with the graphics tablet and the program completes the line. This is in contrast to methods where a "pen" is programmed with up, down, and draw commands with coordinates as arguments. This idea is illustrated in figure 2. [...] »
Virtual memory techniques must be used when the active memory space needed by a language is much larger than the amount of available memory.
[author : Ted Kaehler] #Memory #HowItWorks #Book
Extract : « The amount of information in a person's brain is truly vast; even the amount accessed in the course of a few hours of thought is vast. This is in contrast to the amount of information in the main memory of a computer, which is minuscule by comparison. The exciting thing about computers, though, is that we can use them to extend and enhance our thought. If a computer is to serve effectively as an aid to thought, it must be able to hold enough information to be useful. However, the memory of the largest computer today is so small that it severely limits what that computer can do. There are so many orders of magnitude between the capacity of the brain and the capacity of a computer that given the question "How much memory will the computer need?" the answer should always be "As much as possible."
Software for personal computers is just crossing a threshold of usefulness and flexibility. There are tasks, such as revising a draft of a paper, which are tremendously easier to do with a computer than without. Once you have edited with a computer, it seems absurd to edit by hand. The number of tasks for which the computer is essential is growing rapidly, causing a very sharp rise in the demand for storage in each personal computing system. As we design more useful aids to human thought, we will immediately want to access an amount of information closer to the amount in someone's head. Many extraordinary ideas will become software realities in the next few years. And large quantities of memory will be needed to run and store all of that wonderful software. [...] »
[author : Keith Carlson] #Software #Review #Programming
Extract : « When I opened the manual for Microsoft's Editor / Assembler Plus, I felt like crying. I had just spent a hardearned $29.95 for Radio Shack's original Editor/Assembier, and now I felt cheated: It has been my experience with electronics that no matter what I buy, the price goes down soon after I buy it. Perhaps the old cliche is true: all things come to he who waits.
The price for Editor/Assembler Plus is actually the same as the earlier version, but its value has increased enormously. This is what prompted me to consider wreaking havoc on nearby inanimate objects. As I read the manual and discovered its extensively upgraded features, however, my resentment and frustration turned to delight. Microsoft had turned my Level II 16 K TRS-80 into a full-blown assembly-language development system, something that Radio Shack had failed to do.
The features of Editor/Assembler Plus are those of a much larger machine. There are some limitations, but the result satisfies my need to econ'omize by squeezing every last drop of value out of my TRS-80.
It helped that one of the authors of Editor/Assembler Plus, Mark L Chamberlin, wrote Radio Shack's Editor/Assembler. Both authors have previous experience with the TRS-80 and probably were involved with the design of Level II BASIC.
After all the plaudits, however, some problems remain. One of the major problems is documentation. [...] »
[author : Scott Mitchell] #Software #Review #Programming
Extract : « BOSS is a utility program to help debug programs written in TRS-80 Microsoft BASIC by dynamically tracing steps in execution. Essentially, this program intercepts the TRACE function included with TRS-80 BASIC and modifies its operation. The result is a more versatile debugging utility with a more meaningful and readable screen display. [...] »
#Book
Extract : « Basic Business Software, E G Braoner. Indianapolis IN: Howard Sams & Company, 1980; 13.5 by 22 cm, 141 pages, softcover, ISBN 0-672-21751-1, $9.95.
Basic Electrical Engineering, Fifth Edition, A E Fitzgerald, D Higginbotham, and A Grabel. New York: McGraw-Hill, 1981; 17.5 by 24.5 cm, 937 pages, hardcover, ISBN 0-07-021154-X, $28.95.
Computer Language Reference Guide, Harry L Helms Jr. Indianapolis IN: Howard Sams & Company, 1980; 13.5 by 22 cm, 109 pages, softcover, ISBN 0-672-21786-4, $6.95.
Computer Networks and Distributed Processing: Software, Techniques, and Architecture, James Martin. Englewood Cliffs NJ : Prentice-Hall, 1981; 19 by 24.5 cm, 562 pages, hardcover, ISBN 0-13-165258-3, $34.
Computer Networks in the Chemical Laboratory, G Levy and D Terpstra, editors. New York: John Wiley & Sons, 1981; 16 by 23.5 cm, 221 pages, hardcover, ISBN 0-471-08471-9, $27.50.
Computer Programs in BASIC. Paul Friedman. Englewood Cliffs NJ: Prentice-Hall, 1981; 23 by 29.5 cm, 271 pages, hardcover, ISBN 0-13-165225-7, $19.95. Available in softcover for $10.95.
Database Security and Integrity, E Fernandez, R Summers, and C Wood. Reading MA: Addison-Wesley, 1981; 16.5 by 24.5 cm, 320 pages, hardcover, ISBN 0-201-14467-0, $17.95.
Data Dictionaries and Data Administration - Concepts and Practices for Data Resources Management, Ronald G Ross. New York: AMACOM, 1981; 16.5 by 23.5 cm, 454 pages, hardcover, ISBN 0-8144-5596-4, $29.95.
History of Programming Languages , R Wexelblat, editor. New York : Academic Press, 1981; 18.5 by 26 cm, 758 pages, hardcover, ISBN 0-12-745040-8, $45.
Introduction to 8080/8085 Assembly-Language Programming: A Self-Teaching Guide, J Fernandez and R Ashley. New York: John Wiley & Sons, 1981; 17.5 by 25.5 cm, 303 pages, softcover, ISBN 0-471-08009-8, $8.95.
Introduction to Pascal for Scientists, James W Cooper. New York: John Wiley & Sons, 1981; 16 by 23.5 cm, 260 pages, hardcover, ISBN 0-471-08785-8, $19.95.
Lecture Notes in Computer Science, Directions in Human Factors for Interactive Science, H Ledgard, A Singer, and J Whiteside, edited by G Goos and J Hartmanis. New York : Springer-Verlag, 1981; 16.5 by 24.5 ern, 190 pages, softcover, ISBN 3-540-10574-3, $11.80.
Managing a Programming Project, Second Edition, Philip W Metzger. Englewood Cliffs NJ: Prentice-Hall, 1981; 16 by 23.5 cm, 244 pages, hardcover, ISBN 0-13-550772-3, $22.95.
Microcomputer Architecture and Programming, John F Wakerly. New York: John Wiley & Sons, 1981; 17.5 by 23.5 cm, 692 pages, hardcover, ISBN 0-471-05232-9, $27.95.
More TRS-80 BASIC. A Self-Teaching Guide, D Inman, R Zamora, and B Albrecht. New York: John Wiley & Sons, 1981; 18.5 by 23.5 cm, 280 pages, softcover, ISBN 0-471-08010-1, $9.95.
Nailing Jelly to a Tree, J Willis and W Danley Jr. Beaverton OR: Dilithium Press, 1981; 14 by 22 ern, 244 pages, softcover, ISBN 0-918398-42-8, $12.95.
Structured COBOL, Fundamentals and Style, Tyler Welburn. Palo Alto CA: Mayfield Publishing, 1981; 22 by 27.5 ern, 535 pages, softcover, ISBN 0-87484-543-2, $18.95.
Systems Programmer's Problem Solver, William S Mosteller. Englewood Cliffs NJ: Prentice-Hall, 1981; 16 by 23.5 cm, 223 pages, hardcover, ISBN 0-87626-830-0, $18.95.
Telecommunications - Management for Business and Government, Larry A Arrendondo. New York : Telecom Library, 1981; 22 by 28 cm, 270 pages, softcover, ISBN 0-936648-07-4, $30.
User's Guidebook to Digital CMOS Integrated Circuits, Eugene R Hnatek. New York : McGraw-Hill, 1981; 16 by 23.5 cm, 339 pages, hardcover, ISBN 0-07-029067-9, $24.50. »