Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
GALILEO: a strongly-typed, interactive conceptual language
Albano A., Cardelli L., Orsini R. ACM Transactions on Database Systems10 (2):230-260,1985.Type:Article
Date Reviewed: Feb 1 1986

This paper introduces GALILEO, a programming language for database applications. The language provides static typing, type hierarchies, abstraction mechanisms, and persistent data. This review attempts to answer the following questions:

  • (1) Does GALILEO narrow the semantic gap between programming languages and databases?

  • (2) Will GALILEO survive, or is it just one of numerous programming language designs soon to be forgotten?

The “semantic gap” between programming languages and databases refers to the problem that database development has, with few exceptions, not kept pace with the programming language area. The problem is that the abstract data structures available in high-level programming languages have no direct counterparts in most DDLs. For example, heavily linked data structures or abstract data types usually cannot be represented easily in an existing database. As a consequence, a difficult encoding/decoding process complicates all storage and retrieval operations. GALILEO represents significant progress in this area by integrating persistent data into the language. Data structures created in the global environment of GALILEO are simply stored permanently until destroyed explicitly. There is no distinction between the data types storable in the database and the data types manipulable by the language. However, it is unclear whether GALILEO’s persistent data structures will lend themselves to an efficient implementation, especially for very large databases. Furthermore, a number of extremely important facilities are missing, namely those that regulate concurrent access and access authorization for shared data.

The language definition itself does not meet the standard expected in the programming language area. Most of the language constructs are introduced by examples rather than defined, and others are simply never explained. The space of 30 pages would have been used more wisely by providing a concise reference manual.

A number of constructs in the language seem to be redundant. For example, the notions of subtypes and classes seem to have a rather large intersection, suggesting a single, underlying concept that should be modeled instead. The same observation applies to abstract types and environments--both are used for modularization. An important design principle for programming languages is to avoid duplication of constructs for modeling a single concept, and to develop orthogonal constructs that can be combined freely. Perhaps a revision of the language will clear up these matters. However, without a concise reference manual, it is doubtful that GALILEO will gain widespread acceptance, despite its laudable attempt to narrow the semantic gap.

Reviewer:  Walter Tichy Review #: CR109795
Bookmark and Share
 
Galileo (D.3.2 ... )
 
 
Abstract Data Types (D.3.3 ... )
 
 
Data Description Languages (DDL) (H.2.3 ... )
 
 
Data Manipulation Languages (DML) (H.2.3 ... )
 
 
Data Models (H.2.1 ... )
 
 
Data Types And Structures (D.3.3 ... )
 
  more  
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy