Basic Concepts in Object-Oriented Programming an Overview of the Beta Language K. Nygaard

Total Page:16

File Type:pdf, Size:1020Kb

Basic Concepts in Object-Oriented Programming an Overview of the Beta Language K. Nygaard IX Basic Concepts in Object-Oriented Programming An Overview of the Beta Language K. Nygaard Rapporteur: G. Pappalardo ... IX. l 7 i-·- The "Newcastle '88. Conference ••• I "The Past, Present and Future of Object Oriented Programming" (probably the "in lecture title" these days) l!!;;;;;;;""""""""""""""""""""............... on Object Oriented Programming ;;;;;;;;;;;;;;;;;;111 © KriSten Nygaard, University of Oslo. Title: "The Past. Present and Future ot oop· The "Newcastle '88 " Conference ••• 1lofu aia it all starf? ... or: etten t~e - ala '3Rnmana - ala ~fkfnga - ala 'iabbage - young ([urtng - early ~fmulatora ana QIA31VQIlU\1lt-era ma @bjert ®rtentea Jrogrnmmfng I l!i&.______ ......... on Object Oriented Programming e Kr1Bten Nyga.&rd. University of Oslo. Title: How did it aJl st&rt? IX.2 The "Newcastle '88 " Conference ••• Object Orgy in Oslo : (Local headline reporting on ECOOP 188) rn.... ___....,; ___ ••• on Object Oriented Programming .....;;;;;;;;iII © Kr1Bten Nygaa,rd, University of Oslo. Title, Object Orgy In Oslol The "Newcastle '88 " Conference ••• Object Oriented Programming ... ... a passingfad? I!!.._....,;_iiiiii........... _ ... on Object Oriented Programming <0 Kr1sten Nygaa.rd., U01verslty of Oslo. Title, • oOP . • P&8S1ng Fod?' IX .3 The "Newcastle '88 " Conference ••• The idea that led to Simula and OOP: To create a languange that made it possible for people V' to comprehend, describe, and communicate about systems V' to analyze existing and proposed systems through computer based models 11.._..... _____ ... on Object Oriented Programming _-aI " Kristen Nygaard. University of Oslo. __ t.hat led to 81mul& an OOP The "Newcastle '88 " CQnference ••• To Describe Is to Understand .~ '----...........-- ... on Object Oriented Programming <C Kr1aten Nygaard, Unlverslty of 0810. _be ~ to Underetan4 IX. 4 The "Newcastle '88 " Conference ••• To Program Is to Understand l!I........ ..............____ ••• on Object Oriented Programming e Krtsten Nygaard, University of Oslo. T1tle: To Program Is to Understand The "Newcastle '88 " Conference ••• I CPU fbe~~.:iAj ········· ·· · ·· ··· · ······· w_ : procedure PI A : real • 1.a3 i Iprocedure 1'; :::BI A I. 1.a3 B:·AJ ......... ..... ; PI· .. I eDdj eDdj ...~. [,».!\I ...................................... eDdj \ ~ Inner bloak IDa\ance B 1 real. 1.83 B:·AJ • ·····t lt;; ... en4 ,.. PlDatanoe l!l;;;;,;................................... _ ••• on Object Oriented Programming Cl Kristen Nyga,ard., University of Oslo. T1tle: Algol Program Exeautll IX .S The "Newcastle '88 " Conference ••• Job shop system oQject IIns~ce I t t + • • Part Operator Machlnel Machlne2 oQject oQject oQject oQject IIns~cel • ~~ t ~ Ilnsta'nce I RJght Left arm arm oQject oQject --t.~ Nesting (static link) l!!;;;;;; .....___ .......... __ ... on Object Oriented Programming Q Kr1sten Nygaard. UDiverslty ot Oslo. T1t1e: 81mula Program Executit The "Newcastle '88 " Conference ••• Each component (object) has its own attributes and action sequence. The action sequences are concurrent in the modelled system (the referent system). In the computer based model concurrency is simulated by alternating sequences. \1;;;;;;;; _______ ••• on Object Oriented Programming <C> Kr1Bt<m Nygaard, University of 0010. _ soquOIlClng·1 IX.6 The "Newcastle '88 " Conference ••• Algol The world considered as a stack of block instances 8jmula The world considered as a nested collection of interactive objects, each object organjzed as a stack l!!;;;;;;;;..,..;................... ___ ••• on Object Oriented Programming <0 Kr1sten Nyga&rd., University of Oslo. Title: AlgollSlmul& Wor ld ViE The "Newcastle '88 " Conference ••• From Mathematical Models to Monte Carlo to General Simulation Models to System Description and Programmjng in General \!l;oa;;,......................................... .. on Object Oriented Programming e Kristen Ny ga&rd., University of Oslo. Title: From Math to !/lonte carlo .... IX. 7 The "Newcastle '88 " Conference •.• SimulaI 1961-64 A system description and simulation language that also was used as a general programming language Simula67 1966-67 A system description and general programming language that also is used as a simulation language La____ .... ....__ ... on Object Oriented Programming C Kristen Nyga.&rd, Univers1ty of 0810. Title: 81mul& Ii81mul& 67 The "Newcastle '88 " Conference ••• From the history of Simula - the Greek Night Club Episode: /I •• a.i'ter the dinner in Wasllington DC, Jim Nlckltas brought KN to a Greek n1gb.t olub, and while they were watc.htng a beautiful belly dancer, Nlckltas proposed this interesting deal: ...... /I "History of Programming Languages", ed. R. Weze1blatt. The version that came very close to final print: /I •• after the dinner in Washington DC, Jim Nlokltas brought KN to a Greek night olub, and while they were was.htng a beautiful belly danoer, Nlokltas proposed this interesting deal: .. .. .. /I I!I... ......................_ .....- ... on Object Oriented Programming C Kr1sten Nyga.&rd, University of Oslo. Title: Greek N1g!l.t Club EpISOde IX .S The "Newcastle '88 " Conference ••• DELTA 1973 -78 a general system description language and not a programming language BETA 1976- a general object oriented programming language and a research project with the objective ofcontributing to new concepts i languages [1..__ ............................. on Object Oriented Programming C Kristen Nygaard, UD.1verslty ot Oslo. TItle: DELTA/BlITA The "Newcastle '88 " Conference ••• The idea that led to Smalltalk and Macintosh: The "Dynabook" To create a book-sized computer that V' contajned a model of all facts relevant to its owner V' a model comprehensible to its owner V' a model used and controlled interactively by its owner ta-_...... ___ ...... _ ... on Object Oriented Programming C Kr18ten Nygaa.rd., University of Oslo. TItle: The !de& tha; led to 8malltalk and Mac1ntoah· IX.9 The "Newcastle '88 " Conference ••• Smallta1k The Dynabook needed: V' Simu1a's classes and subclasses to organize and make comprehensible the facts and models it contained V' Lisp's incrementality to respond immediately to what its user wanted to do V' A new kind of user interface to make the internal organization visible and navigable 11-______ ... on Object Oriented Programming Q Kr1Btsn Nyga&rd, Unlv.ratty of Oslo. Title: BmalIt&Ilt The "Newcastle '88 " Conference ••• Smallta1k What the Dynabook did not need: Multiple action sequences -+ objects with virtual procedures (methods) but not own action sequences -+ no non-virtual procedures Objects within objects -+ only one layer of nesting on Object Oriented Programming _ ..aI 111..----.....- ...... _ the Dynabook d1c1 DOt noed ... Q Kr1Btsn Nyga&rd, Unlv.ratty of Oslo. IX . l O The "Newcastle '88 " Conference ••• ConceptEUerarcbdes Inheritance Classes and Subclasses (Simula 67) Multiple inheritance Flavors (Cannon 1981) Smallta1k, Loops etc. '-----......... ... on Object Oriented Programming ~ e Kr1sten Nygaard, Unlverslty of 0010. Title, concept Hlerr.rah1ee The "Newcastle '88 " Conference ••• -----"""11 Non-Virtual and Virtual Procedures Sirnula 67 Messages = Virtual Procedures + Run Time Binding Smalltalk Generalized Virtual .. Attributes Beta ~ _____... ... on Object Oriented Programming -..:I © Kristen Nygaard. University of Oslo. Title, V!rtu&ls In Slmul&/ Sma1lt&lk/ BETA IX .ll The "Newcastle '88 " Conference .•. Main Application Areas for Object Oriented Programmjng: t/ Simulation From 1965 on t/ General Programming From 1965 on t/ Concurrency, Monitors Ca. 1970 t/ Structured Programming Book appearing in 1973 t/ Abstract DataTypes Much work from ca. 1973 on t/ VSLI Design From the mid-seventies on t/ Workstation Environments, Incremental Computing Smalltalk versions 1972-76-80 t/ Reusable Software Modules Early work from 1967 on, much work from ca.1980 !II... ___iliiiiiliiiiiliiii ..... iiii ••• on Object Oriented Programming C Kr1sten Nyga.ard. Universlty ot Oslo. Title: Mam Appl1catlon Ar~ The "Newcastle '88 " Conference ••• Dimensions in Object Space 1Mo..... __ ............... iiiiiliiiii ••• on Object Oriented Programming C Kristen Nygaard. University of Oslo. __IOnS In O~ect Sp&oo • I 1X.12 The "Newcastle '88 " Conference ••• Dimensions in Object Space - 2 Objects' basic qualities V Substance V Value: Measure ot state properties V Transitions tM.____ ................. ... on Object Oriented Programming C Kristen Nygaard. University of Oslo. __lena In O~""' 8p.,.,.2. B.. le qualltJea The "Newcastle '88 " Conference ••• Hierarchical Organization v Action Hierarchies by stacked objects V Value Hierarchies by categories and subcategories: patterns and subpatterns in BETA V Substance Hierarchies by nested objects in S1mula and BETA V Structure (Concept) Hierarchies by categories and subcategories: classes/subclasses in S1mula/Smalltalk etc., patterns and subpatterns in BETA V Program. Execution Hierarchies (from hardware through operating systems layers to program executions) by the actor/role concept in BETA. rn............................................ ... on Object Oriented Programming © Kr1Bten Nygaard. University of OSlo. Title: mera.rch1cal Org&n1z&t.1I I X.13 The "Newcastle '88 " Conference ••• lopu , ... .. ...................." .................. ibeginrealA; lnnaDoe : procellu:re P, A : real - 1.13 , A:-l.13, proce4u:re PJ begin real B, A :-l.13 B:-A; ......... .....; P; '0' , oOL eII4j eD4; ... ~. eII4j \ 1'».«I n n •• n n • • ••• n •••• n . n •• n. n n n. _blocklDAance " B I real- 1.13 1.1 B:- A; ..... ; P; ; ... end. ~
Recommended publications
  • Object-Oriented Programming Basics with Java
    Object-Oriented Programming Object-Oriented Programming Basics With Java In his keynote address to the 11th World Computer Congress in 1989, renowned computer scientist Donald Knuth said that one of the most important lessons he had learned from his years of experience is that software is hard to write! Computer scientists have struggled for decades to design new languages and techniques for writing software. Unfortunately, experience has shown that writing large systems is virtually impossible. Small programs seem to be no problem, but scaling to large systems with large programming teams can result in $100M projects that never work and are thrown out. The only solution seems to lie in writing small software units that communicate via well-defined interfaces and protocols like computer chips. The units must be small enough that one developer can understand them entirely and, perhaps most importantly, the units must be protected from interference by other units so that programmers can code the units in isolation. The object-oriented paradigm fits these guidelines as designers represent complete concepts or real world entities as objects with approved interfaces for use by other objects. Like the outer membrane of a biological cell, the interface hides the internal implementation of the object, thus, isolating the code from interference by other objects. For many tasks, object-oriented programming has proven to be a very successful paradigm. Interestingly, the first object-oriented language (called Simula, which had even more features than C++) was designed in the 1960's, but object-oriented programming has only come into fashion in the 1990's.
    [Show full text]
  • Simula Mother Tongue for a Generation of Nordic Programmers
    Simula! Mother Tongue! for a Generation of! Nordic Programmers! Yngve Sundblad HCI, CSC, KTH! ! KTH - CSC (School of Computer Science and Communication) Yngve Sundblad – Simula OctoberYngve 2010Sundblad! Inspired by Ole-Johan Dahl, 1931-2002, and Kristen Nygaard, 1926-2002" “From the cold waters of Norway comes Object-Oriented Programming” " (first line in Bertrand Meyer#s widely used text book Object Oriented Software Construction) ! ! KTH - CSC (School of Computer Science and Communication) Yngve Sundblad – Simula OctoberYngve 2010Sundblad! Simula concepts 1967" •# Class of similar Objects (in Simula declaration of CLASS with data and actions)! •# Objects created as Instances of a Class (in Simula NEW object of class)! •# Data attributes of a class (in Simula type declared as parameters or internal)! •# Method attributes are patterns of action (PROCEDURE)! •# Message passing, calls of methods (in Simula dot-notation)! •# Subclasses that inherit from superclasses! •# Polymorphism with several subclasses to a superclass! •# Co-routines (in Simula Detach – Resume)! •# Encapsulation of data supporting abstractions! ! KTH - CSC (School of Computer Science and Communication) Yngve Sundblad – Simula OctoberYngve 2010Sundblad! Simula example BEGIN! REF(taxi) t;" CLASS taxi(n); INTEGER n;! BEGIN ! INTEGER pax;" PROCEDURE book;" IF pax<n THEN pax:=pax+1;! pax:=n;" END of taxi;! t:-NEW taxi(5);" t.book; t.book;" print(t.pax)" END! Output: 7 ! ! KTH - CSC (School of Computer Science and Communication) Yngve Sundblad – Simula OctoberYngve 2010Sundblad!
    [Show full text]
  • Programming Languages: Design and Implementation
    طراحی و پیادهسازی زبان های برنامهسازی Programming Languages: Design and Implementation 40364 نیمسال دوم 1400 - 1399 slide 1 اهداف درس سیر طبیعی تحوﻻت مفاهیم و روش های طراحی و پیادهسازی نسل های مختلف زبان های برنامهسازی به روشی تجربی و گام به گام مهندسی زبان های برنامه سازی )زبان های ویژه دامنه( آشنایی با پیاده سازی مفسرها به ویژه بر بستر ماشین های مجازی اصول طراحی زبان های برنامه سازی و روش ها و ساختارهای داده ای به کار رفته در پیادهسازی یا محقق کردن محیط برنامه نویسی ایجاد توانایی ارزیابی، مقایسه و انتخاب میان زبان های برنامه سازی موجود برنامه سازی تابعی معناشناسی و استدﻻل پیرامون برنامه slide 2 Grading and Other Admin affairs Your grade components: • Final Exam • Mid Term Exam • Assignments (paper based) • Assignments (programming including a final project) • Class Presentation … Class Administration Policies: slide 3 Main References Daniel P. Friedman and Mitchell Wand, Essentials of Programming Languages, 3rd Edition, MIT Press, 2008. M.Felleisen, R.Findler, M.Flatt, S.Krishnamurthi, E.Barzilay, J.McCarthy, S.Tobin-Hochstadt, A Programmable Programming Language, Communications of the ACM, Vol. 61, No. 3, Pp. 62-71, March 2018. https://racket-lang.org/ My class and Slides slide 4 Other Useful General Text Books S.Krishnamurthi, Programming Languages: Application and Interpretation, 2nd Edition, http://cs.brown.edu/courses/cs173/2012/book/b ook.pdf, 2017. Peter Sestoft, Programming Language Concepts, 2nd Edition, 2017. Michael Scott, Programming Language Pragmatics, (with its complimentary CD) slide 5 Other Useful General Text Books
    [Show full text]
  • Arxiv:2106.11534V1 [Cs.DL] 22 Jun 2021 2 Nanjing University of Science and Technology, Nanjing, China 3 University of Southampton, Southampton, U.K
    Noname manuscript No. (will be inserted by the editor) Turing Award elites revisited: patterns of productivity, collaboration, authorship and impact Yinyu Jin1 · Sha Yuan1∗ · Zhou Shao2, 4 · Wendy Hall3 · Jie Tang4 Received: date / Accepted: date Abstract The Turing Award is recognized as the most influential and presti- gious award in the field of computer science(CS). With the rise of the science of science (SciSci), a large amount of bibliographic data has been analyzed in an attempt to understand the hidden mechanism of scientific evolution. These include the analysis of the Nobel Prize, including physics, chemistry, medicine, etc. In this article, we extract and analyze the data of 72 Turing Award lau- reates from the complete bibliographic data, fill the gap in the lack of Turing Award analysis, and discover the development characteristics of computer sci- ence as an independent discipline. First, we show most Turing Award laureates have long-term and high-quality educational backgrounds, and more than 61% of them have a degree in mathematics, which indicates that mathematics has played a significant role in the development of computer science. Secondly, the data shows that not all scholars have high productivity and high h-index; that is, the number of publications and h-index is not the leading indicator for evaluating the Turing Award. Third, the average age of awardees has increased from 40 to around 70 in recent years. This may be because new breakthroughs take longer, and some new technologies need time to prove their influence. Besides, we have also found that in the past ten years, international collabo- ration has experienced explosive growth, showing a new paradigm in the form of collaboration.
    [Show full text]
  • Ole-Johan Dahl
    Ole-Johan Dahl Born October 12, 1931, Mandal, Norway; with Kristen Nygaard, developer of the SIMULA programming language, which introduced classes and inheritance into the field of programming languages. Education: MS, numerical mathematics, University of Oslo, 1957. Professional Experience: Norwegian Defense Research Establishment (NDRE), 1952-1963; Norwegian Computing Center, 1963-1968; professor, computer science, University of Oslo, 1968-present. Dahl worked with the Norwegian Defense Research Establishment (NDRE) from 1952 to 1963 in computing and programming under Jan V. Gatwick. From 1956 onwards his main activity was software development. His master's thesis (“Numerical Mathematics,” 1957, University of Oslo) addressed the representation and manipulation of multidimensional arrays on a two-level store computer. His main contribution at the NDRE was a high-level programming language, MAC, used locally during the 1960s (first specification was dated 1957; the implemented version was modified as a result of the Algol effort). In 1963 he joined the Norwegian Computing Center for full-time work on SIMULA, and in 1968 he became a professor of computer science, then a new discipline at the University of Oslo. His main research during recent years has been in the areas of program architecture, specification tools, and verification techniques. From 1964 to 1976 he was the Norwegian delegate to IFIP Technical Committee 2 (Programming Languages), and from 1970 to 1977 he was a working member of IFIP Working Group 2.2 (Language Definition). He has been a member of IFIP Working Group 2.3 (Programming Methodology) since its founding in Oslo in 1969.1 BIBLIOGRAPHY Biographical Nygaard, Kristen, and Ole-Johan Dahl, “The Development of the SIMULA Languages,” in Wexelblat, Richard L., ed., History of Programming Languages, Academic Press, New York, 1981.
    [Show full text]
  • Ole-Johan Dahl- A.M
    12/19/2016 Ole-Johan Dahl- A.M. Turing Award Winner A .M . TURING CENTENARY GELEBRATION WEBCAST Search TYPE HERE MORE ACM AWARDS A.M. TURING AWARD WINNERS BY... ALPHABETICAL LISTING YEAR OF THE AWARD RESEARCH SUBJECT OLE-JOHAN DAHL Norway- 2001 CITATJON With Kristen Nygaard, for ideas fundamental to the emergence of object oriented programming, through their design of the programming languages Simula I and Simula 67. SHORT ANNOTATED ACM DL RESEARCH ADDITIONAL PHOTOGRAPHS BJBLJOGRAPHY AUTHOR PROFILE SUBJECTS MATERIALS BIRTH: Object-oriented programming is a dominant programming paradigm of this age. Fundamental to the 12th October 1931in Mandal, Norway emergence of this paradigm were core concepts such as objects, classes, and inheritance with virtual quantities, all clear1y established in Oie Johan Dahl and Kristen Nygaard's discrete event simulation language Simula I and DEATH: general programming language Simula 67. The objects integrale data, procedural, and cooperating action 29th June 2002 from Lymphatic Cancer sequence aspects into one very general and powerful unifying entity. at Asker, Norway By embodying these core concepts in a language designed both for system description and programming, Dahl EDUCATION: and Nygaard provided both a logical and a notalienal basis for the ideas. Software could be built in layers of MS in Numerical Mathematics, abstraction, each one relying on the description and conceptual plattarm implemented by the previous layers. By University of Oslo (1957). defining Simula 67 to be an extension of an international standard language, Algol-60, this medium of expression was accessible and available to the entire research community. Simula shaped and sped the EXPERIENCE: emergence of object-<lriented programming and the management discipline that accompanies it by many years.
    [Show full text]
  • Object-Oriented Programming in the Beta Programming Language
    OBJECT-ORIENTED PROGRAMMING IN THE BETA PROGRAMMING LANGUAGE OLE LEHRMANN MADSEN Aarhus University BIRGER MØLLER-PEDERSEN Ericsson Research, Applied Research Center, Oslo KRISTEN NYGAARD University of Oslo Copyright c 1993 by Ole Lehrmann Madsen, Birger Møller-Pedersen, and Kristen Nygaard. All rights reserved. No part of this book may be copied or distributed without the prior written permission of the authors Preface This is a book on object-oriented programming and the BETA programming language. Object-oriented programming originated with the Simula languages developed at the Norwegian Computing Center, Oslo, in the 1960s. The first Simula language, Simula I, was intended for writing simulation programs. Si- mula I was later used as a basis for defining a general purpose programming language, Simula 67. In addition to being a programming language, Simula1 was also designed as a language for describing and communicating about sys- tems in general. Simula has been used by a relatively small community for many years, although it has had a major impact on research in computer sci- ence. The real breakthrough for object-oriented programming came with the development of Smalltalk. Since then, a large number of programming lan- guages based on Simula concepts have appeared. C++ is the language that has had the greatest influence on the use of object-oriented programming in industry. Object-oriented programming has also been the subject of intensive research, resulting in a large number of important contributions. The authors of this book, together with Bent Bruun Kristensen, have been involved in the BETA project since 1975, the aim of which is to develop con- cepts, constructs and tools for programming.
    [Show full text]
  • Concepts of Programming Languages, Eleventh Edition, Global Edition
    GLOBAL EDITION Concepts of Programming Languages ELEVENTH EDITION Robert W. Sebesta digital resources for students Your new textbook provides 12-month access to digital resources that may include VideoNotes (step-by-step video tutorials on programming concepts), source code, web chapters, quizzes, and more. Refer to the preface in the textbook for a detailed list of resources. Follow the instructions below to register for the Companion Website for Robert Sebesta’s Concepts of Programming Languages, Eleventh Edition, Global Edition. 1. Go to www.pearsonglobaleditions.com/Sebesta 2. Click Companion Website 3. Click Register and follow the on-screen instructions to create a login name and password Use a coin to scratch off the coating and reveal your access code. Do not use a sharp knife or other sharp object as it may damage the code. Use the login name and password you created during registration to start using the digital resources that accompany your textbook. IMPORTANT: This access code can only be used once. This subscription is valid for 12 months upon activation and is not transferable. If the access code has already been revealed it may no longer be valid. For technical support go to http://247pearsoned.custhelp.com This page intentionally left blank CONCEPTS OF PROGRAMMING LANGUAGES ELEVENTH EDITION GLOBAL EDITION This page intentionally left blank CONCEPTS OF PROGRAMMING LANGUAGES ELEVENTH EDITION GLOBAL EDITION ROBERT W. SEBESTA University of Colorado at Colorado Springs Global Edition contributions by Soumen Mukherjee RCC Institute
    [Show full text]
  • History of Programming Languages
    History of Programming Languages Giuseppe De Giacomo Università degli Studi di Roma “La Sapienza” http://www.dis.uniroma1.it/~degiacomo/ Ingegneria Informatica Corso di Storia dell’Informatica A.A.2005/06 Programming Languages Timeline • Color programming language timeline http://www.oreilly.com/news/graphics/prog_l ang_poster.pdf • Original programming language timeline http://www.levenez.com/lang/history.html History of Programming Languages Giuseppe De Giacomo 2 The 50’s •Fortran •Lisp • Cobol History of Programming Languages Giuseppe De Giacomo 3 John Backus (cf. Backus-Naur Form – BNF) FORTRAN • FORTRAN: “FORmula TRANslating system” (1954) by John Backus and his group @ IBM • First high level language • First (industrial) compiled language • Excellent compiled code • Focused on scientific calculations (originally it had only integers and floating points) • Strongly influenced by hardware (IBM 704) - first computer with floating point math • FORTRAN IV (1962, ANSI standard in 1966) the most used Programming languages for scientific computations till 1978! Then FORTRAN 77 (ANSI 1978) IBM 704 • Still used for scientific calculations • Current standard version FORTRAN 90 (its includes object-oriented features!) History of Programming Languages Giuseppe De Giacomo 4 FORTRAN • Originally only integer and floating point (real) • No explicit variable type declaration: variables starting by I,J,K,L,M,N are integers, others are floating points • No stack, no heap ⇒ no recursion no dynamic memory allocation •Mathematical if: IF (arithmetic expression)
    [Show full text]
  • Early History of Object Oriented Programming
    Early History of Object Oriented Programming Per M. Kjeldaas Louisiana Tech University CSC 532 Student October 26, 2004 2 TABLE OF CONTENTS Abstract...................................................................................................... 3 Background................................................................................................ 3 Simula I ...................................................................................................... 4 Quasi-Parallel Processing .......................................................................... 6 Simula 67: Classes and Objects................................................................. 7 Subclasses and Inheritance........................................................................ 8 Polymorphism through Virtual Procedures and “inner”......................... 8 Garbage Collection .................................................................................... 9 “Remote” Element (Object) Connection................................................. 10 Components and Separate Compilation of Classes ................................ 10 Real-Time Simula .................................................................................... 11 Spreading of the Word............................................................................. 12 Finally Catching On................................................................................. 14 Postscript.................................................................................................. 15 References
    [Show full text]
  • Software Education for Changing Computing Technology
    Software Education for Changing Computing Technology Benjamin Cooper1 and Steve E. Watkins2 1 CMC Technologies Limited LLC and 2Missouri University of Science and Technology Abstract Software education has been dominated by procedural-based programming languages such as BASIC, FORTRAN and C, and before that, the assembly languages. The primary reason that this methodology has held such sway in education was that it allowed quick action for the first major users of computers. This approach was the most straight-forward means of utilizing hardware that, over the last 60 years, has gotten faster and more complex through smaller and more densely packed elements. However, traditional advances as described by Moore’s law are now reaching both physical and economic limits. Pure object-oriented programming approaches offer benefits for hardware that is highly parallel and that is of non-traditional design. This work describes the evolution of computational technology, explores features of pure object-oriented languages such as Squeak Smalltalk, and discusses proactive curricula options. Introduction Programming literacy and proficiency are key curricula concerns whether as an independent specialty or as a fundamental component of other engineering specialties. Software education typically emphasized procedural-based programming languages. Such programming approaches, which use sequential calculations and simple decision-making processes, are the traditional option, but they are not the only possible methodology. Alternative approaches have been explored with advanced features. Also, software choices are not unrelated to the hardware. Improvements in computational capabilities require both hardware and software considerations. Students that are educated today must be prepared for the next generation of digital technologies.
    [Show full text]
  • PROGRAMMING LANGUAGES TENTH EDITION This Page Intentionally Left Blank CONCEPTS of PROGRAMMING LANGUAGES TENTH EDITION
    CONCEPTS OF PROGRAMMING LANGUAGES TENTH EDITION This page intentionally left blank CONCEPTS OF PROGRAMMING LANGUAGES TENTH EDITION ROBERT W. SEBESTA University of Colorado at Colorado Springs Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto Delhi Mexico City Sao Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo Vice President and Editorial Director, ECS: Senior Production Project Manager: Marilyn Lloyd Marcia Horton Manufacturing Manager: Nick Sklitsis Editor in Chief: Michael Hirsch Operations Specialist: Lisa McDowell Executive Editor: Matt Goldstein Cover Designer: Anthony Gemmellaro Editorial Assistant: Chelsea Kharakozova Text Designer: Gillian Hall Vice President Marketing: Patrice Jones Cover Image: Mountain near Pisac, Peru; Marketing Manager: Yez Alayan Photo by author Marketing Coordinator: Kathryn Ferranti Media Editor: Dan Sandin Marketing Assistant: Emma Snider Full-Service Vendor: Laserwords Vice President and Director of Production: Project Management: Gillian Hall Vince O’Brien Printer/Binder: Courier Westford Managing Editor: Jeff Holcomb Cover Printer: Lehigh-Phoenix Color This book was composed in InDesign. Basal font is Janson Text. Display font is ITC Franklin Gothic. Copyright © 2012, 2010, 2008, 2006, 2004 by Pearson Education, Inc., publishing as Addison-Wesley. All rights reserved. Manufactured in the United States of America. This publication is protected by Copy- right, and permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission(s) to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to 201-236-3290.
    [Show full text]