Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Programming in Prolog (2nd ed.)
Programming in Prolog (2nd ed.)
Implementation of resilient, atomic data types
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Database hosting in strongly-typed programming languages
ACM Transactions on Database Systems (TODS)
GALILEO: a strongly-typed, interactive conceptual language
ACM Transactions on Database Systems (TODS)
Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
An introduction to database systems: vol. I (4th ed.)
An introduction to database systems: vol. I (4th ed.)
Language features for flexible handling of exceptions in information systems
ACM Transactions on Database Systems (TODS)
Miranda: a non-strict functional language with polymorphic types
Proc. of a conference on Functional programming languages and computer architecture
A framework for choosing a database query language
ACM Computing Surveys (CSUR)
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C++ programming language
A persistent graphics facility for the ICL PERQ
Software—Practice & Experience
ACM SIGPLAN Notices
A domain theoretic approach to higher-order relations
Proceedings on International conference on database theory
Inheritance and persistence in database programming languages
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
An amateur's introduction to recursive query processing strategies
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Traversal recursion: a practical approach to supporting recursive applications
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Relational Information Systems
Relational Information Systems
Implementing an extended functional data model using PS-algol
Software—Practice & Experience
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Development of an object-oriented DBMS
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The management of changing types in an object-oriented database
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Types, bindings and parameters in a persistent environment
Data types and persistence
The implementation of Galileo's persistent values
Data types and persistence
Persistent and shared objects in Trellis/Owl
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
The functional data model and the data languages DAPLEX
ACM Transactions on Database Systems (TODS)
Database description with SDM: a semantic database model
ACM Transactions on Database Systems (TODS)
The persistent store as an enabling technology for integrated project support environments
ICSE '85 Proceedings of the 8th international conference on Software engineering
An implementation technique for database query languages
ACM Transactions on Database Systems (TODS)
Limitations of record-based information models
ACM Transactions on Database Systems (TODS)
Extending the database relational model to capture more meaning
ACM Transactions on Database Systems (TODS)
Theseus—a programming language for relational databeses
ACM Transactions on Database Systems (TODS)
A language facility for designing database-intensive applications
ACM Transactions on Database Systems (TODS)
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
System R: relational approach to database management
ACM Transactions on Database Systems (TODS)
The design and implementation of INGRES
ACM Transactions on Database Systems (TODS)
Database abstractions: aggregation and generalization
ACM Transactions on Database Systems (TODS)
Some high level language constructs for data of type relation
ACM Transactions on Database Systems (TODS)
Journal of the ACM (JACM)
Query Optimization in Database Systems
ACM Computing Surveys (CSUR)
Logic and Databases: A Deductive Approach
ACM Computing Surveys (CSUR)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
A relational model of data for large shared data banks
Communications of the ACM
SIMULA: an ALGOL-based simulation language
Communications of the ACM
CLU Reference Manual
Principles of Database Systems
Principles of Database Systems
The Codasyl Approach to Data Base Management
The Codasyl Approach to Data Base Management
Universality of data retrieval languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Relational Database Systems: Analysis and Comparison
Relational Database Systems: Analysis and Comparison
Functional Programming and Its Applications: An Advanced Course
Functional Programming and Its Applications: An Advanced Course
An Introduction to Programming with S-ALGOL
An Introduction to Programming with S-ALGOL
Logic and Data Bases
Data abstraction, views and updates in RIGEL
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Range nesting: a fast method to evaluate quantified queries
SIGMOD '83 Proceedings of the 1983 ACM SIGMOD international conference on Management of data
Making smalltalk a database system
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Object and File Management in the EXODUS Extensible Database System
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Persistent First Class Procedures are Enough
Proceedings of the Fourth Conference on Foundations of Software Technology and Theoretical Computer Science
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Extending object oriented programming in Smalltalk
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
The semantic elegance of applicative languages
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Introduction to Database Systems
Introduction to Database Systems
Rationale for the design of the Ada programming language
ACM SIGPLAN Notices - Rationale for the deisgn of the Ada programming language
Report on the programming language Euclid
ACM SIGPLAN Notices
Adding database management to Ada
ACM SIGMOD Record
Extending the relational algebra to capture less meaning
ACM SIGMOD Record
PS-algol: an algol with a persistent heap
ACM SIGPLAN Notices
LISP 1.5 Programmer's Manual
Semantic database modeling: survey, applications, and research issues
ACM Computing Surveys (CSUR)
Parallelizing a database programming language
DPDS '88 Proceedings of the first international symposium on Databases in parallel and distributed systems
ODE (Object Database and Environment): the language and the data model
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Database programming in Machiavelli—a polymorphic language with static type inference
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Object identity as a query language primitive
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Dynamic typing in a statically-typed language
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Including Scalars in a Programming Language Based on the Relational Algebra
IEEE Transactions on Software Engineering
The O2 database programming language
VLDB '89 Proceedings of the 15th international conference on Very large data bases
An object-oriented relational database
Communications of the ACM
A tour of suite user interface software
UIST '90 Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology
PCLOS: stress testing CLOS experiencing the metaobject protocol
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Type consistency of queries in an object-oriented database system
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Adding relational abstraction to programming languages
Conference proceedings on Formal methods in software development
Design decisions for the incremental Adage framework
ICSE '90 Proceedings of the 12th international conference on Software engineering
Incomplete information in object-oriented databases
ACM SIGMOD Record
Managing objects in a user interface system with ROBA
ACM SIGCHI Bulletin
Dynamic typing in a statically typed language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Database programming languages: a functional approach
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
K: a high-level knowledge base programming language for advanced database applications
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
The GemStone object database management system
Communications of the ACM
Reusable distributed “data environments”
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
Using Ada for rapid prototyping of database applications
WADAS '91 Proceedings of the eighth annual Washington Ada symposium & summer SIGAda meeting on Ada: software: foundation for competitveness
Working with Persistent Objects: To Swizzle or Not to Swizzle
IEEE Transactions on Software Engineering
Computer
A compilation method for ML-style polymorphic record calculi
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Persistent Caching: An Implementation Technique for Complex Objects with Object Identity
IEEE Transactions on Software Engineering
Query evaluation techniques for large databases
ACM Computing Surveys (CSUR)
Equal rights for functional objects or, the more things change, the more they are the same
ACM SIGPLAN OOPS Messenger
PLEIADES: an object management system for software engineering environments
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
The design of the E programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tutorial: languages for collection types
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Orthogonal persistence and Ada
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
ACM Transactions on Programming Languages and Systems (TOPLAS)
An approach to support automatic generation of user interfaces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Polymorphism and type inference in database programming
ACM Transactions on Database Systems (TODS)
Heraclitus: elevating deltas to be first-class citizens in a database programming language
ACM Transactions on Database Systems (TODS)
Journal of Intelligent Information Systems - Special issue: next generation information technologies and systems
UCL+P—Defining and Implementing Persistent Common Lisp
Lisp and Symbolic Computation
Controlling access in multiuser interfaces
ACM Transactions on Computer-Human Interaction (TOCHI)
An Overview of the Rule-Based Object Language
Journal of Intelligent Information Systems
Managing performance requirements for information systems
Proceedings of the 1st international workshop on Software and performance
Object identity as a query language primitive
Journal of the ACM (JACM)
Research directions in object-oriented database systems
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Consistency management for complex applications
Proceedings of the 20th international conference on Software engineering
Mostly-copying reachability-based orthogonal persistence
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using persistence technology to control schema evolution
SAC '94 Proceedings of the 1994 ACM symposium on Applied computing
Management of Performance Requirements for Information Systems
IEEE Transactions on Software Engineering
On type systems for object-oriented database programming languages
ACM Computing Surveys (CSUR)
Orthogonally persistent object systems
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Fibonacci: a programming language for object databases
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Tigukat: a uniform behavioral objectbase management system
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Thémis: a database programming language handling integrity constraints
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Prototyping Bubba, A Highly Parallel Database System
IEEE Transactions on Knowledge and Data Engineering
The DASDBS Project: Objectives, Experiences, and Future Prospects
IEEE Transactions on Knowledge and Data Engineering
A FAD for Data Intensive Applications
IEEE Transactions on Knowledge and Data Engineering
Set Operations in Object-Based Data Models
IEEE Transactions on Knowledge and Data Engineering
Optimizing Queries with Foreign Functions in a Distributed Environment
IEEE Transactions on Knowledge and Data Engineering
Evaluation and Optimization of Query Programs in an Object-Oriented and Symbolic Information System
IEEE Transactions on Knowledge and Data Engineering
Data Providers - A Language Experiment
DNIS '00 Proceedings of the International Workshop on Databases in Networked Information Systems
PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
The C-based Database Programming Language Jasmine/C
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Data Sharing Analysis for a Database Programming Lanaguage via Abstract Interpretation
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Of Objects and Databases: A Decade of Turmoil
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
Persistent Turing Machines as a Model of Interactive Computation
FoIKS '00 Proceedings of the First International Symposium on Foundations of Information and Knowledge Systems
Ada-Europe '99 Proceedings of the 1999 Ada-Europe International Conference on Reliable Software Technologies
The design and implementation of K: a high-level knowledge-base programming language of OSAM*.KBMS
The VLDB Journal — The International Journal on Very Large Data Bases
Safe query objects: statically typed objects as remotely executable queries
Proceedings of the 27th international conference on Software engineering
Object-oriented programming with recursive queries
DBA'06 Proceedings of the 24th IASTED international conference on Database and applications
Proceedings of the 44th annual Southeast regional conference
A multi-level architecture for distributed object bases
Data & Knowledge Engineering
Anatomy of the ADO.NET entity framework
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Software configuration management in an object oriented database
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
Simple and safe SQL queries with c++ templates
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Lost in translation: formalizing proposed extensions to c#
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Eliminating impedance mismatch in C++
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Compiling mappings to bridge applications and databases
ACM Transactions on Database Systems (TODS)
Whiteoak: introducing structural typing into java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Model-Centric, Context-Aware Software Adaptation
Software Engineering for Self-Adaptive Systems
The Script-Writer's Dream: How to Write Great SQL in Your Own Language, and Be Sure It Will Succeed
DBPL '09 Proceedings of the 12th International Symposium on Database Programming Languages
Simple and safe SQL queries with C++ templates
Science of Computer Programming
Generic multiset programming for language-integrated querying
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Orthogonal persistence revisited
ICOODB'09 Proceedings of the Second international conference on Object databases
Making standard ML a practical database programming language
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Comparing high level mapreduce query languages
APPT'11 Proceedings of the 9th international conference on Advanced parallel processing technologies
Generic multiset programming with discrimination-based joins and symbolic Cartesian products
Higher-Order and Symbolic Computation
Semi-strong static type checking of object-oriented query languages
SOFSEM'06 Proceedings of the 32nd conference on Current Trends in Theory and Practice of Computer Science
ADBIS'05 Proceedings of the 9th East European conference on Advances in Databases and Information Systems
On the revival of dynamic languages
SC'05 Proceedings of the 4th international conference on Software Composition
Automatic prefetching by traversal profiling in object persistence architectures
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
The role of programming languages in future data-centric and net-centric applications
ICDCIT'06 Proceedings of the Third international conference on Distributed Computing and Internet Technology
A practical theory of language-integrated query
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.04 |
Traditionally, the interface between a programming language and a database has either been through a set of relatively low-level subroutine calls, or it has required some form of embedding of one language in another. Recently, the necessity of integrating database and programming language techniques has received some long-overdue recognition. In response, a number of attempts have been made to construct programming languages with completely integrated database management systems. These languages, which we term database programming languages, are the subject of this review.The design of these languages is still in its infancy, and the purpose of writing this review is to identify the areas in which further research is required. In particular, we focus on the problems of providing a uniform type system and mechanisms for data to persist. Of particular importance in solving these problems are issues of polymorphism, type inheritance, object identity, and the choice of structures to represent sets of similar values. Our conclusion is that there are areas of programming language research—modules, polymorphism, persistence, and inheritance—that must be developed and applied to achieve the goal of a useful and consistent database programming language. Other research areas of equal importance, such as implementation, transaction handling, and concurrency, are not examined here in any detail.