The Design and Implementation of a Multiparadigm Programming Language

Total Page:16

File Type:pdf, Size:1020Kb

The Design and Implementation of a Multiparadigm Programming Language The Design and Implementation of a Multiparadigm Programming Language By Chi-keung Luk A dissertation submitted in partial fulfillment of the requirement Tor the degree of Master of Philosophy in The Department of Computer Science The Chinese Hi^S^^^^ong Kong Hong 丨] July,1993 ‘ / » • \\ ; /, r-'*'^ "J '5 » Jaf • » i ‘ - . • - 職,� v^* ‘ . ‘‘ • • - •鞭 ff/7 - - V , ‘ ^ ‘ •••• . ... •‘一 - •. ‘ • . ’ • � r ^ ^ • ....... • •- ^^ ^ � . • • . ...• • - .... ‘ .; I . , “ ‘ . • - � ’ • ‘ .fchi ...... .... .... -.. f ,• : - • . ...- '^::.- h - . • ‘ • I-… ,.,:.::...I … ....… ‘ • • • • • • ‘ •• • •- To my family - ‘•I'v • . • .:;;. � ... .\ ‘ V? # . 1. • — , . h ‘‘ ;•l ' '^‘:- ..., .’...’. :k.‘. .•.”、.、."、:^ •"、.々 J,' ‘ ... : .4..-..、.... 广 .... ••« ; 1 �/ . - • /,. i ; ”• • ‘ ‘• 1. - • ... ‘ I 、 • ...- ‘ .. ‘ • •..,. .... • - . ‘ . ; i ••;•.•". , &岁:..‘..... I. .-.,., . ‘ . r . ‘ • - �••,.... - -. , ‘ . ...-.. 广略 \ ^ f \ i\ ::::;::「:、., ... »... .’ . .it'. -:• • r .!4. � .r. * . …,’" V.. | “•.:!•. ‘ .‘ * ;I •. -; ••‘ - • i - / . - ...... -.F. tf = .... • ••..,- ” . ‘ .• ,- . - 'i • ‘: . • … - ( . •‘ , ......_ � ‘ ” �, ^” “ tj 二 • . .„ ...‘.. .. .,. .1 ‘ . f 」 ;* 节;n,; ^ . • , \ , KJ : - ;C 、 ‘,‘ “ ^ ‘ n^Mu,、 , .. .. :, ’—玄 、_ . - - �_ % 1 < rp..IT: ....- ‘ . • •:.」 .,’?。:4 vwi •Sv*' • '。.•,.、•<• . •>. V ’. .1. ‘ ,-.. v^. • . y r . : . ‘ , .. • C „ .. •• •• ' - • I' :.••、.••••;.:又,.:.'、!;. 、厂:、• .”:;......:..). •• . • .... .’ • ^ - - . 少. ,• --. I - ” •v�‘ ’,、»> . ‘ ‘ • , - ‘ �'/V , I. � “ • • �- A , ; t . .�. , - ,. • :•、::: : .. "..、.:•::..’- ,,,ai^m. A'- ‘-r i ‘ i - ‘ . … • • : • 饭綠被办‘ .,. ..t"1 l.lfc.... M\… <;。 ,t...•�(’ -L ,、>…... ,>一 /.,.》� .•.�”,1 ;:::::. :fe^ 、.…‘.、」,,:, 。.,..> 種.; … .,. •.‘,:..:,:、,.1 .. 二„.…..‘〜;’二’…’ :: Contents Preface xi 1 Introduction 1 1.1 Programming Languages 2 1.2 Programming Paradigms 2 1.2.1 What is a programming paradigm 2 1.2.2 Which came first? Languages or paradigms? 2 1.2.3 Overview of some paradigms 4 1.2.4 A spectrum of paradigms 6 1.2.5 Mulitparadigm systems — not a dream but a need.. 7 1.3 The Objectives of this research 8 2 Studies of the object-oriented, the logic and the functional paradigms 10 2.1 The Object-Oriented Paradigm 10 2.1.1 Basic components 10 2.1.2 Motivations 11 2.1.3 Some related issues 12 2.1.4 Computational models for object-oriented programming 16 2.2 The Functional Paradigm 18 2.2.1 Basic concepts 18 2.2.2 Lambda calculus 20 2.2.3 The characteristics of functional programs 21 2.2.4 Practicality of functional programming 25 2.3 The Logic Paradigm 28 2.3.1 Relations 28 2.3.2 Logic programs 29 2.3.3 The opportunity for parallelism 30 2.4 Summary 31 3 A survey of some existing multiparadigm languages 32 3.1 Logic + Object-Oriented 33 一 3.1.1 LogiC++ 33 3.1.2 Intermission 34 3.1.3 Object-Oriented Programming in Prolog (OOPP) 36 3.1.4 Communication Prolog Unit (CPU) 37 3.1.5 DLP 37 iii • 3.1.6 Representing Objects in a Logic Programming Language with Scoping Constructs (OLPSC) 39 3.1.7 KSL/Logic 40 3.1.8 Orient84/K 41 3.1.9 Vulcan 42 3.1.10 The Bridge approach 43 3.1.11 Discussion ^ 3.2 Functional + Object-Oriented 46 3.2.1 PROOF 46 3.2.2 A Functional Language with Classes (PLC) 47 3.2.3 Common Lisp Object System (CLOS) 49 3.2.4 FOOPS 50 3.2.5 Discussion 51 3.3 Logic + Functional 52 3.3.1 HOPE 52 3.3.2 FUNLOG 54 3.3.3 F* 55 3.3.4 LEAF …… 56 3.3.5 Applog 57 3.3.6 Discussion 58 . 3.4 Logic + Functional + Object-Oriented 61 3.4.1 Paradise 61 3.4.2 LIFE 62 3.4.3 UNIFORM 63 3.4.4 G 64 3.4.5 FOOPlog 66 3.4.6 Logic and Objects (L&O) 66 3.4.7 Discussion 67 4 The design of a multiparadigm language 1 70 4.1 An Object-Oriented Framework 71 4.1.1 A hierarchy of classes 71 4.1.2 Program structure 71 4.1.3 Parametric classes 72 4.1.4 Inheritance... :……… 73 4.1.5 The meanings of classes and methods 75 4.1.6 Objects and messages 75 4.2 The logic Subclasses 76 4.2.1 Syntax 76 4.2.2 Distributed inference 76 4.2.3 Adding functions and expressions to logic programs 77 4.2.4 State modelling 79 4.3 Thcfunctional Subclasses 80 4.3.1 The syntax of functions 80 4.3.2 Abstract data types 81 4.3.3 Augmented list comprehensions 82 4.4 Ihe Semantic Foundation of /Programs 84 4.4.1 Tj*: Transform functions into Horn clauses 84 4.4.2 7*2*: Transform object-oriented features into pure logic 85 iv 4.5 Exploiting Parallelism in /Programs 89 4.5.1 Inter-object parallelism 89 4.5.2 Intra-object parallelism 92 4.6 Discussion 96 5 An implementation of a prototype of 1 99 5.1 System Overview 99 5.2 /-to-Prolog Translation 101 5.2.1 Pass 1 - lexical and syntax analysis 101 5.2.2 Pass 2 - Class Table Construction and Semantic Checking 101 5.2.3 Pass 3 - Determination of Multiple Inheritance Precedence 105 5.2.4 Pass 4 - Translation of the directive part 110 5.2.5 Pass 5 - Creation of Prolog source code for an I object 110 5.2.6 Using expressions in logic methods 112 5.3 /-to-LML Translation 114 5.4 The Run-time Handler 117 5.4.1 Object Management 118 5.4.2 Process Management and Message Passing 121 6 Some applications written in 1 125 6.1 Modeling of a State Space Search 125 6.2 A Solution to the N-queen Problem 129 6.3 Object-Oriented Modeling of a Database 131 6.4 A Simple Expert System 133 6.5 Summary 138 7 Conclusion and future work 139 7.1 Conclusion 139 7.2 Future Work 141 A Language manual 146 A.l Introduction 146 A.2 Syntax 146 A.2.1 The lexical specification 146 A.2.2 The syntax specification 149 A3 Classes 152 A.4 Object Creation and Method Invocation 153 A.5 The logic Subclasses 155 A.6 The functional Subclasses 156 A.7 Types 158 A.8 Mutable States 158 B User's guide 160 B.l System Calls 160 B.2 Configuration Parameters 162 B.3 Errors 163 B .4 Implementation Limits 164 B.5 How to install the system 164 V B.6 How to use the system 164 B.7 How to recompile the system 166 B.8 Directory arrangement 167 C List of publications 168 Bibliography 169 vi List of Programs 4.1 The definition of class person 73 4.2 The definition of class student 77 4.3 The definition of class gcd 78 4.4 The definition of the functional subclass boolean_ops 81 4.5 Implementation of list, stack and queue ADTs using functional subclasses 82 4.6 A simple program in I for illustrating T* 88 4.7 A parallel quicksort program in/ 90 4.8 Implementation of generic list, stack and queue using logic subclasses 96 4.9 A program to demonstrate the use of backtracking in object-oriented programming 97 5.1 A program used to illustrate the construction of the class table 104 5.2 Programs used to demonstrate the pass 4&5 of the Mo-Prolog translation 111 5.3 A program to demonstrate the /-to-LML translation 116 6.1 Definition of the class search 126 6.2 Definition of the class maze 126 6.3 Definition of the class four 一 queen 127 6.4 Definition of the class breath一first 128 6.5 Definition of the class queen 130 6.6 Definitions of three classes: staff, teaching and support 132 6.7 Some functions on the database in program 6.6 133 6.8 Definition of the class inference 134 6.9 Definition of the class fact s—base 134 6.10 Definition of the class doctor 135 6.11 Definition of the class disease 135 6.12 Definitions of some subclasses of disease 136 6.13 Definition of the class hospital 137 vu•着 List of Figures 1.1 Dates and ancestry of several important programming languages 3 1.2 Organization of programming paradigms 6 1.3 The operational-definitional spectrum 7 2.1 The configuration of an object 11 2.2 Relationships between types and classes 13 2.3 The family of object-based languages 15 2.4 Modeling an object as an automation 16 2.5 An example of a relation R between X and Y 28 3.1 The LOOF-space 33 3.2 Some logic + object-oriented approaches in the LOOF-space 45 3.3 Positions of some functional + object-oriented approaches in the LOOF-space 52 3.4 An example of narrowing 59 3.5 The classification of some logic + functional approaches 60 4.1 Class hierarchy in /.... 71 4.2 The structure of an / program 72 4.3 The structure of a class definition 72 4.4 A multiple inheritance hierarchy 74 4.5 The translation scheme 7* for giving semantics to / programs"" 84 4.6 Two message passing modes 89 4.7 An execution sequence of the parallel quicksort 91 4.8 Two deadlock situations 92 4.9 The configuration of an object with intra-object parallelism 93 4.10 The state diagram of an activity within an object 95 5.1 A configuration of the system 100 5.2 The Mo-Prolog translation scheme 102 5.3 The structure of a class table entry 103 .5.4 Example of a class table 104 5.5 A multiple inheritance hierarchy 106 5.6 A journey starting atE 109 5.7 The scheme to construct a LML module from a functional subclass definition 115 5.8 The components of the run-time handler 118 5.9 A client/server model for process communication 122 5.10 The sequence of creating an object followed by an invocation of a method of this object 123 6.1 Object-oriented modeling of a database 131 7.1 Cooperation between the three paradigms in 1 141 7.2 Hie original and a proposed translation schemes 143 B.l The directory tree of the system 167 viii List of Tables 1 • 1 Generations of programming languages 2 2.1 A summary of characteristics of the logic, the functional and the object-oriented paradigms 31 3.1 The support of subclasses and subtypes in the four functional + object-oriented approaches 51 7.1 A summary on the paradigms involved and the level of parallelism of some multiparadigm languages 140 B.l Error-handling 163 B.2 Implementation limits of the prototype 164 B.3 Directories of the system 167 ix List of Algorithms 5.1 Algorithm for filling two bit matrices A and J 107 5.2 An algorithm to traverse the inheritance hierarchy in the intended order 108 5.3 Algorithm to convert a logic program embedded with expressions to a corresponding expression-free logic program 113 5.4 Procedure to transform a functional subclasses definition into LML modules 114 / V Preface This thesis is about the research of multiparadigm programming languages.
Recommended publications
  • The Origins of Word Processing and Office Automation
    Remembering the Office of the Future: The Origins of Word Processing and Office Automation Thomas Haigh University of Wisconsin Word processing entered the American office in 1970 as an idea about reorganizing typists, but its meaning soon shifted to describe computerized text editing. The designers of word processing systems combined existing technologies to exploit the falling costs of interactive computing, creating a new business quite separate from the emerging world of the personal computer. Most people first experienced word processing using a word processor, we think of a software as an application of the personal computer. package, such as Microsoft Word. However, in During the 1980s, word processing rivaled and the early 1970s, when the idea of word process- eventually overtook spreadsheet creation as the ing first gained prominence, it referred to a new most widespread business application for per- way of organizing work: an ideal of centralizing sonal computers.1 By the end of that decade, the typing and transcription in the hands of spe- typewriter had been banished to the corner of cialists equipped with technologies such as auto- most offices, used only to fill out forms and matic typewriters. The word processing concept address envelopes. By the early 1990s, high-qual- was promoted by IBM to present its typewriter ity printers and powerful personal computers and dictating machine division as a comple- were a fixture in middle-class American house- ment to its “data processing” business. Within holds. Email, which emerged as another key the word processing center, automatic typewriters application for personal computers with the and dictating machines were rechristened word spread of the Internet in the mid-1990s, essen- processing machines, to be operated by word tially extended word processing technology to processing operators rather than secretaries or electronic message transmission.
    [Show full text]
  • The Database Language 95030
    Tbe Database Language GEM Carlo Zaniolo Bell Laboratories Holmdel, New Jersey 07733 ABSTRACT GEM (bn acronym for General Entity Manipulator) is a general-purpose query and update language for the DSIS data model, which is a semantic data model of the Entity-Relationship type. GEM is designed as -an easy-to-use extension of the relational language QUEL. providing supporr for. the notions of entities with surrogates, aggregation, generalization, null values, and set-valued attributes. 1. INTRODUCTION generalization. The possibility of extending the relational model to capture more meaning - as A main thrust of computer technology is towards opposed to introducing a new model - was simplicity and ease of use. Database management investigated in [CoddZl, where, surrogates and null systems have come a long way in this respect, values were found necessaryfor the task. particularly after the introduction of the relational approach [Ullml, which provides users with a simple ,-‘Most previous work with semantic data models has tabular view of data and powerful and convenient concentrated on the problem of modeling reality and query languages for interrogating and manipulating on schema design; also the problem of integrating the database. These features were shown to be the the database into a programming environment key to reducing the cost of database-intensive supporting abstract data types has received application programming Ecddll and to providing considerable attention [Brad, KMCI. However, the a sound environment for back-end support and
    [Show full text]
  • Reviews Computer Applications Programs
    REVIEWS COMPUTER APPLICATIONS PROGRAMS INTRODUCTION TO SOFTWARE REVIEWS By Glen McAninch, University of Kentucky "You've come a long way baby!!!" Archivists have come a long way from the development of SPINDEX in the early 1970s. Back then, it seemed that archiv- ists needed software written for mainframe computers in order to have the flex- ibility (i. e. variable length fields and user designated tags) and storage capacity necessary to store and retrieve information on archival material. While SPIN- DEX has not been completely superceded for certain applications (i. e., print- ing lists for large institutions with a high volume of data), archivists in the 1980s have found that micro- and minicomputers can provide a relatively low cost alternative which can offer new features such as on-line searching and the generation of statistics. It was in the early 1980s that I first heard of archivists using commercially available software on microcomputers. They were using word processors and file managers like PFS, Data Factory, and DB Master on Apple computers with limited memory. Later, archivists stepped up to IBM PCs and look-alikes with two or three times the internal memory of the Apples. This enabled them to use more sophisticated relational database managers such as dBase II and later SAVVY, which require programming through the use of a command language. Archivists also began mixing powerful computers and mass storage (fixed disk) with simple file managers, some of which are reviewed in this issue of The Mid- western Archivist. Another software package that took advantage of the added power of the IBM PC was MARCON, a'database manager written especially for archivists by AIRS, a software developer group-with an archival background.
    [Show full text]
  • A Programming Paradigm for Autonomic Systems
    0 Context-Oriented Programming: A Programming Paradigm for Autonomic Systems GUIDO SALVANESCHI and CARLO GHEZZI and MATTEO PRADELLA, Politecnico di Milano Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several approaches have been proposed in the literature to attack this problem at different and complementary abstraction levels: software architecture, middleware, and programming level. We focus on the support that ad-hoc programming language constructs may provide to support dynamically adaptive behaviors. We introduce context-oriented programming languages and we present a framework that positions the supported paradigm in the MAPE-K autonomic loop. We discuss the advantages of using context-oriented programming languages instead of other mainstream approaches based on dynamic aspect-oriented programming languages. We present a preliminary case study that shows how the proposed programming style naturally fits dynamic adaptation requirements and we extensively evaluate the use of COP in this scenario. Finally, we discuss some known problems and outline a number of open research challenges. Categories and Subject Descriptors: D.1 ,Software]: Programming .echniques—Object-oriented Programming0 D.3.3 ,Pro- gramming Languages]: Language Constructs and Features General .erms: Languages, Design Additional $ey Words and Phrases: Context, Self-adaptative software, Context-oriented programming, Autonomic comput- ing. 1. INTRODUCTION In the course of years, software systems complexity has been growing, increasing the required effort and the cost of management and maintenance. Autonomic computing 5"'6 ,$ephart and Chess 7881- aims at designing and building systems that can manage themselves with reduced human intervention pursuing high-level administrator’s goals.
    [Show full text]
  • Rocket Universe Guide to Retrieve
    Rocket UniVerse Guide to RetrieVe Version 11.2 November 2013 UNV-112-RETR-1 Notices Edition Publication date: November 2013 Book number: UNV-112-RETR-1 Product version: Rocket UniVerse V11.2 Copyright © Rocket Software, Inc. or its affiliates 1985-2014. All Rights Reserved. Trademarks Rocket is a registered trademark of Rocket Software, Inc. For a list of Rocket registered trademarks go to: www.rocketsoftware.com/about/legal. All other products or services mentioned in this document may be covered by the trademarks, service marks, or product names of their respective owners. Examples This information might contain examples of data and reports. The examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. License agreement This software and the associated documentation are proprietary and confidential to Rocket Software, Inc., are furnished under license, and may be used and copied only in accordance with the terms of such license. Note: This product may contain encryption technology. Many countries prohibit or restrict the use, import, or export of encryption technologies, and current use, import, and export regulations should be followed when exporting this product. Contact information Website: www.rocketsoftware.com Rocket Software, Inc. Headquarters 77 4th Avenue, Suite 100 Waltham, MA 02451-1468 USA Tel: +1 781 577 4321 Fax: +1 617 630 7100 2 Contacting Global Technical Support If you have current support and maintenance agreements with Rocket Software, you can access the Rocket Customer Portal to report and track a problem, to submit an enhancement request or question, or to find answers in the U2 Knowledgebase.
    [Show full text]
  • Dbase Plus 1 Table Designer Behavior
    User’s Guide VERSION 7.5 release 2.5 for Windows® 95, 98, 2000 NT, ME and XP dataBased Intelligence, Inc. Vestal, NY http://www.dbase.com news://news.dbase.com dataBased Intelligence, Inc. or Borland International may have patents and/or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. COPYRIGHT © 2002 dataBased Intelligence, Inc. All rights reserved. All dBASE product names are trademarks or registered trademarks of dataBased Intelligence, Inc. All Borland product names are trademarks or registered trademarks of Borland International, Inc. Other brand and product names are trademarks or registered trademarks of their respective holders. Printed in the U.S.A. Contents Chapter 1 Source Editor behavior . .11 Introduction to dBASE Plus 1 Table Designer behavior . .11 Optimized ReportViewer . .11 Welcome to dBASE Plus !. 1 Overview of dBASE Plus version 2.50 . .11 What is dBASE Plus? . 1 Mouse events . .11 dBASE Newsgroups . 2 Grid Class . .11 The dBASE Plus Knowledgebase: . 2 Project Explorer . .12 Changes from earlier versions . 2 TreeView. .12 Visual dBase 5.x through Visual dBase 7.0 . 2 Array Class . .12 Report objects and the integrated Report designer . 3 Report . .12 Project Explorer . 3 Inspector . .12 Data objects. 3 _app Object . .12 Visual designers . 3 _app.frameWin . .12 ActiveX integration. 4 Procedure files . .13 The Inspector . 4 Report Designer . .13 Full-featured Source editor . 4 Error Handling. .13 SQL designer . 4 CHOOSEPRINTER( ) and choosePrinter( ) . .13 BDE Administrator and database support . 4 dBASE Plus documentation . .13 DBF7 file format features .
    [Show full text]
  • Dbms Languages
    • Data Definition Language (DDL) • Data Manipulation Language (DML) • High-Level or Non-procedural Languages: These include the relational language SQL • May be used in a standalone way or may be embedded in a programming language • Low Level or Procedural Languages: These must be embedded in a programming language Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema of a database. • In many DBMSs, the DDL is also used to define internal and external schemas (views). • In some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas. • SDL is typically realized via DBMS commands provided to the DBA and database designers Data Manipulation Language (DML) Used to specify database retrievals and updates DML commands (data sublanguage) can be embedded in a general-purpose programming language (host language), such as COBOL, C, C++, or Java. • A library of functions can also be provided to access the DBMS from a programming language • Alternatively, stand-alone DML commands can be applied directly (called a query language). Types of DML • High Level or Non-procedural Language: For example, the SQL relational language are “set”-oriented and specify what data to retrieve rather than how to retrieve it. Also called declarative languages. • Low Level or Procedural Language: Retrieve data one record-at-a-time; Constructs such as looping are needed to retrieve multiple records, along with positioning pointers. DBMS Interfaces • Stand-alone query language interfaces Example: Entering SQL queries at the DBMS interactive SQL interface (e.g. SQL*Plus in ORACLE) • Programmer interfaces for embedding DML in programming languages • User-friendly interfaces • Menu-based, forms-based, graphics-based, etc.
    [Show full text]
  • Database Aware Memory Reconstruction for Object Oriented Programming Paradigm Dr
    INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 8, ISSUE 10, OCTOBER 2019 ISSN 2277-8616 Database Aware Memory Reconstruction for Object Oriented Programming Paradigm Dr. Vandana Bhagat, Dr. (Fr.) Jossy George Abstract— Data storage is a big challenge in front of industries and researchers when its growing enormously. Traditional data storage strategy was fulfilling the business needs till the data was in structured format. But now due to Internet of Things (IoT) compatible devices unstructured data is more than structured one. In such cases traditional data storage strategy won't work efficiently. Initially data storage devices used to store the data irrespective of its logical storage. It means the record was stored either in array format or block format. Such type of storage was not matching physical and logical structure. Logically, structured data is generated as an attribute of particular entity, but physically it gets stored in a sequential memory storage either as file or as memory block. Object Based Storage pattern(OBS) stores the data in the way object gets generated by the programmer and accordingly memory is allocated for that object. Object contains all the data related to that particular entity which makes it easy to retrieve it back. Current study includes comparative advantages, operations and study of different service providers of object-based storage. We also focused on the current need of object-based storage structure for big data analysis and cloud computing. Index Terms— Block-Storage, Cloud Object Storage, Distributed file system, File Storage, Metadata, Object Based Storage, Object Storage Device. —————————— —————————— 1 INTRODUCTION Innovations in Artificial Intelligence are responsible to components, its service providers and its compatibility generate enormous amount of data every day.
    [Show full text]
  • Ashton-Tate Is Among the World's Premier Developers and Marketers of Business Software for Microcomputers
    Contact: Gail Pomerantz Ashton-Tate (213) 204-5570 Mel Webster Miller Communications (617) 536-0470 CORPORATE BACKGROUND Ashton-Tate is among the world's premier developers and marketers of business software for microcomputers. The company is the leading supplier of database management systems, offers a highly acclaimed multi-purpose product, and provides its customers with a level of service and support that sets the industry standard. Based in Culver City, California, Ashton-Tate was founded in 1980 and has grown rapidly into one of the leaders in the microcomputer software field worldwide. Its first product, the best-selling dBASE II, first shipped in 1981. The company has followed up with a succession of software packages that significantly increase business productivity, including Framework, a multi-purpose program that offers a complete business solution. The company is one of the few major microcomputer software firms to have best-selling products in two major categories. Ashton-Tate employs a "distributed development" strategy to design new products, and has set a trend in the industry. Under this strategy, the company maintains research and development centers throughout the U.s. to design new products. Distributed (more) Ashton-Tate Corporate Background 2-2-2 development has already resulted in a best-selling product -- Framework, which was designed by the recently acquired Forefront Corporation of Sunnyvale, California. In addition to dBASE II, which is the all-time, best- selling database program for 8-bit microcomputers, the company's database products include dBASE III, the most popular database package for 16-bit microcomputers since its introduction in mid- 1984.
    [Show full text]
  • Ashton-Tate's Investors Are Sleeping Easier
    CHAIRMAN ESBER: "THERE'S NO DOUBT WE'LL BE ABLE TO CONTINUE OUR TRACK RECORD" ASHTON-TATE'S INVESTORS ARE SLEEPING EASIER New programmers and a revised dBase reassure the Street After a hectic week, Edward M. Esber Jr. sometimes sends out for pizza and summons his friends or colleagues to his home to play his favorite game, "Risk." The name seems apt for Esber, the 35-year-old Harvard University MBA whose tactics as Ashton-Tate Co.'s chief executive for the past three years have kept the soft-ware company a bit too close to the edge to suit Wall Street. As rivals announced new products, Esber took two painful years to come up with a new version of the company's dBase program. Ashton-Tate's position as the leading supplier of data-base programs for personal computers seemed to be in danger. But Wall Street is breathing easier these days—and forecasting that Esber's gamble will pay off. The reason: a slew of product announcements and revisions, especially a dramatically reworked version of dBase that will let personal computers tap into large data banks. Equally important, in the past year, Esber has assembled an all-star cast of computer scientists to rev up software development. "Esber has finally given the market what it wants," says Bahar Gidwani, an analyst with Kidder, Peabody & Co. And to hear Esber tell it, Ashton-Tate's market dominance is now guaranteed. "There's no doubt we'll continue our track record," he says. Indeed, it's been an enviable record so far.
    [Show full text]
  • Lifeboat Associates CPM2 Users Notes for Altair Disk
    CP/M2 ON MITS DISK USER'S NOTES BY LIFEBOAT ASSOCIATES 1651 THIRD AVENUE NEW YORK, N.Y. 10028 TELEPHONE 212 860-0300 TELEX 220501 CP/M2 ON MITS DISK BY LIFEBOAT ASSOCIATES 1651 THIRD AVENUE, NEW YORK,N.Y.10028 COPYRIGHT (C) 1981 **NOTE** The name "MITS" is a registered trademark of Micro Instrumentation and Telemetry Systems, Albuquerque, Nm. "CP/M" is copyright and trademark of Digital Research, Pacific Grove, Ca. "Z80" is a trademark of Zilog Inc., Cupertino, Ca. This manual and portions of this software system are copyright by Lifeboat Associates, New York, N.Y. License to use this copyright material is granted to an individual for use on a single computer system only after execution and return of the registration card to Lifeboat Associates and Digital Research. This document was created by Patrick Linstruth from information contained in “CP/M on MITS DISK – USERS NOTES”, April 27, 1977, and “CP/M2 ON NORTH STAR – DOUBLE DENSITY – QUAD CAPACITY USER’S NOTES”, December 1979, produced by Lifeboat Associates. Errors may be reported at https://github.com/deltecent/lifeboat-cpm22. Revision 1.0 April 2020 CP/M2 ON MITS DISK TABLE OF CONTENTS INTRODUCTION ................................................... 1 GENERAL INPORMATION .......................................... 1 CP/M AND THE ALTAIR SYSTEM ................................... 1 WHAT IS CP/M? ................................................ 2 A BRIEF HISTORY OF CP/M ...................................... 2 GETTING STARTED ................................................ 3 YOUR CP/M
    [Show full text]
  • User Guide Notices Copyright
    MapInfo Pro Version 15.2 User Guide Notices Copyright Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or its representatives. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, without the written permission of Pitney Bowes Software Inc., One Global View, Troy, New York 12180-8399. © 2015 Pitney Bowes Software Inc. All rights reserved. Pitney Bowes Software Inc. is a wholly owned subsidiary of Pitney Bowes Inc. Pitney Bowes, the Corporate logo, MapInfo, Group 1 Software, and MapInfo Pro are trademarks of Pitney Bowes Software Inc. All other marks and trademarks are property of their respective holders. Contact information for all Pitney Bowes Software Inc. offices is located at: http://www.pitneybowes.com/us/contact-us.html. © 2015 Adobe Systems Incorporated. All rights reserved. Adobe, the Adobe logo, Acrobat and the Adobe PDF logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. © 2015 OpenStreetMap contributors, CC-BY-SA; see OpenStreetMap http://www.openstreetmap.org (license available at www.opendatacommons.org/licenses/odbl) and CC-BY-SA http://creativecommons.org/licenses/by-sa/2.0 libtiff © 1988-1997 Sam Leffler, © 2015 Silicon Graphics Inc. All Rights Reserved. libgeotiff © 2015 Niles D. Ritter. Amigo, Portions © 1999 Three D Graphics, Inc. All Rights Reserved. Halo Image Library © 1993 Media Cybernetics Inc. All Rights Reserved. Portions thereof LEAD Technologies, Inc. © 1991-2015. All Rights Reserved. Portions © 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen.
    [Show full text]