Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6183))

Included in the following conference series:

  • 1596 Accesses

Abstract

This talk takes a look at object-oriented programming language design from a location outside the mainstream, namely the Scandinavian tradition going from the first object-oriented language SIMULA, through Beta which takes unification to an extreme, to gbeta which generalizes Beta in many ways. A range of underlying issues are considered, including the relation to the structure of human thinking and natural language, the dynamic semantics of the language, and the static analysis supported by its type system. It is our position that it is unimportant whether or not classes and entities model phenomena in the real world, but crucial that they allow for the style of thinking that evolved in creatures interacting with the real world. We also claim that the mainstream style of expressing behaviors involving communication among objects, i.e., data flow, gives rise to a convoluted relation between the program source and the actual behavior. We illustrate a significantly different way to express such behaviors, based on the motto that the data flow should follow the direction of reading. Conversely, when the emphasis is on a static description of a non-trivial entity rather than on the dynamics of object communication, we claim that the premier abstraction devices are support for refinement and combination, e.g., by subclassing and by method combination. We illustrate how this idea can be used for structure as well as behavior, and how intensely it pervades the fabric of gbeta programs. One issue which has been controversial for many years is that of block structure, i.e., general nesting of declarations. We motivate why it makes sense to insist that a type depends on its context, and how this dependency gives rise to some effects that may be surprising from a mainstream point of view. The developments in this secret valley of programming language design did actually give rise to a small mountain stream of ideas that flowed out of the valley and into the main stream in various ways over the years. We hope to illustrate that the exploration of such a somewhat esoteric position in the language design space may give rise to some fresh ideas for the rest of the world to think about now and then.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ernst, E. (2010). Secret Valley. In: D’Hondt, T. (eds) ECOOP 2010 – Object-Oriented Programming. ECOOP 2010. Lecture Notes in Computer Science, vol 6183. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14107-2_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14107-2_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14106-5

  • Online ISBN: 978-3-642-14107-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics