Object-Oriented Programming Intro
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Typology of Programming Languages E Early Languages E
Typology of programming languages e Early Languages E Typology of programming languages Early Languages 1 / 71 The Tower of Babel Typology of programming languages Early Languages 2 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 3 / 71 IBM Mathematical Formula Translator system Fortran I, 1954-1956, IBM 704, a team led by John Backus. Typology of programming languages Early Languages 4 / 71 IBM 704 (1956) Typology of programming languages Early Languages 5 / 71 IBM Mathematical Formula Translator system The main goal is user satisfaction (economical interest) rather than academic. Compiled language. a single data structure : arrays comments arithmetics expressions DO loops subprograms and functions I/O machine independence Typology of programming languages Early Languages 6 / 71 FORTRAN’s success Because: programmers productivity easy to learn by IBM the audience was mainly scientific simplifications (e.g., I/O) Typology of programming languages Early Languages 7 / 71 FORTRAN I C FIND THE MEAN OF N NUMBERS AND THE NUMBER OF C VALUES GREATER THAN IT DIMENSION A(99) REAL MEAN READ(1,5)N 5 FORMAT(I2) READ(1,10)(A(I),I=1,N) 10 FORMAT(6F10.5) SUM=0.0 DO 15 I=1,N 15 SUM=SUM+A(I) MEAN=SUM/FLOAT(N) NUMBER=0 DO 20 I=1,N IF (A(I) .LE. MEAN) GOTO 20 NUMBER=NUMBER+1 20 CONTINUE WRITE (2,25) MEAN,NUMBER 25 FORMAT(11H MEAN = ,F10.5,5X,21H NUMBER SUP = ,I5) STOP TypologyEND of programming languages Early Languages 8 / 71 Fortran on Cards Typology of programming languages Early Languages 9 / 71 Fortrans Typology of programming languages Early Languages 10 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 11 / 71 ALGOL, Demon Star, Beta Persei, 26 Persei Typology of programming languages Early Languages 12 / 71 ALGOL 58 Originally, IAL, International Algebraic Language. -
Biographies of Computer Scientists
1 Charles Babbage 26 December 1791 (London, UK) – 18 October 1871 (London, UK) Life and Times Charles Babbage was born into a wealthy family, and started his mathematics education very early. By . 1811, when he went to Trinity College, Cambridge, he found that he knew more mathematics then his professors. He moved to Peterhouse, Cambridge from where he graduated in 1814. However, rather than come second to his friend Herschel in the final examinations, Babbage decided not to compete for an honors degree. In 1815 he co-founded the Analytical Society dedicated to studying continental reforms of Newton's formulation of “The Calculus”. He was one of the founders of the Astronomical Society in 1820. In 1821 Babbage started work on his Difference Engine designed to accurately compile tables. Babbage received government funding to construct an actual machine, but they stopped the funding in 1832 when it became clear that its construction was running well over-budget George Schuetz completed a machine based on the design of the Difference Engine in 1854. On completing the design of the Difference Engine, Babbage started work on the Analytical Engine capable of more general symbolic manipulations. The design of the Analytical Engine was complete in 1856, but a complete machine would not be constructed for over a century. Babbage's interests were wide. It is claimed that he invented cow-catchers for railway engines, the uniform postal rate, a means of recognizing lighthouses. He was also interested in locks and ciphers. He was politically active and wrote many treatises. One of the more famous proposed the banning of street musicians. -
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! -
Internet Engineering Jan Nikodem, Ph.D. Software Engineering
Internet Engineering Jan Nikodem, Ph.D. Software Engineering Theengineering paradigm Software Engineering Lecture 3 The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968 by: Friedrich. L. Bauer Nationality;German, mathematician, theoretical physicist, Technical University of Munich Friedrich L. Bauer 1924 3/24 The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968 by: Peter Naur Nationality;Dutch, astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen. Peter Naur 1928 4/24 Whatshouldbe ourresponse to software crisis which provided with too little quality, too late deliver and over budget? Nationality;Dutch, astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen. Peter Naur 1928 5/24 Software should following an engineering paradigm NATO conference in Garmisch-Partenkirchen, 1968 Peter Naur 1928 6/24 The hope is that the progress in hardware will cure all software ills. The Oberon System User Guide and Programmer's Manual. ACM Press Nationality;Swiss, electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory, Institute for Media Communications Martin Reiser 7/24 However, a critical observer may notethat software manages to outgrow hardware in size and sluggishness. The Oberon System User Guide and Programmer's Manual. ACM Press Nationality;Swiss, electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory, Institute for Media Communications Martin Reiser 8/24 Wirth's computing adage Software is getting slower more rapidly than hardware becomes faster. Nationality;Swiss, electronic engineer, computer scientist ETH Zürich, University of California, Berkeley, Stanford University University of Zurich. Xerox PARC. -
Women in Computing
History of Computing CSE P590A (UW) PP190/290-3 (UCB) CSE 290 291 (D00) Women in Computing Katherine Deibel University of Washington [email protected] 1 An Amazing Photo Philadelphia Inquirer, "Your Neighbors" article, 8/13/1957 2 Diversity Crisis in Computer Science Percentage of CS/IS Bachelor Degrees Awarded to Women National Center for Education Statistics, 2001 3 Goals of this talk ! Highlight the many accomplishments made by women in the computing field ! Learn their stories, both good and bad 4 Augusta Ada King, Countess of Lovelace ! Translated and extended Menabrea’s article on Babbage’s Analytical Engine ! Predicted computers could be used for music and graphics ! Wrote the first algorithm— how to compute Bernoulli numbers ! Developed notions of looping and subroutines 5 Garbage In, Garbage Out The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It can follow analysis; but it has no power of anticipating any analytical relations or truths. — Ada Lovelace, Note G 6 On her genius and insight If you are as fastidious about the acts of your friendship as you are about those of your pen, I much fear I shall equally lose your friendship and your Notes. I am very reluctant to return your admirable & philosophic 'Note A.' Pray do not alter it… All this was impossible for you to know by intuition and the more I read your notes the more surprised I am at them and regret not having earlier explored so rich a vein of the noblest metal. -
Ada Lovelace the first Computer Programmer 1815 - 1852
Ada Lovelace The first computer programmer 1815 - 1852 Biography Ada Lovelace Day I Born on December 10th, 1815 in London as Augusta Ada Byron Each second Tuesday in October is Ada Lovelace Day. A day to raise the I Parents separated when she was a baby profile of women in science, technology, engineering, and maths to create new role models for girls and women in these fields. During this day the I Father Lord Byron was a poet and died when she was 8 years old accomplishments of those women are celebrated. I Mother Lady Wentworth was a social reformer I Descended from a wealthy family I Early interest in mathematics and science, encouraged by her mother Portrait I Obtained private classes and got in touch with intellectuals, e.g. Mary Sommerville who tutored her and later introduced Lovelace to Charles Babbage at the age of 17 I Married in 1835 William King at the age of 19, shortly after becoming the Countess of Lovelace I By 1839, she had given birth to 3 children I Continued studying maths, supported among others by Augustus De Morgan, a math professor in London who taught her via correspondence I In 1843, she published a translation of an Italian academic paper about Babbage's Analytical Engine and added her famous note section (see Contributions) I Died on November 27th, 1852 at the age of 36 Contributions I First computer programmer, roughly a century before the electronic computer I A two decade lasting correspondence with Babbage about his idea of an Analytical Engine I Developed an algorithm that would enable the Analytical Engine to calculate a sequence of Bernoulli numbers, unfortunately, the machine was never built I First person to realize the power of computer programs: Not only used for calculations with numbers I Combined arts and logic, calling it poetical science Figure 3:Ada Lovelace I First reflections about artificial intelligence, but she rejected the idea Bernoulli Numbers Quotes I Play an important role in several domains of mathematics, e.g. -
Oral History Interview with John Brackett and Doug Ross
An Interview with JOHN BRACKETT AND DOUG ROSS OH 392 Conducted by Mike Mahoney on 7 May 2004 Needham, Massachusetts Charles Babbage Institute Center for the History of Information Processing University of Minnesota, Minneapolis Copyright, Charles Babbage Institute John Brackett and Doug Ross Interview 7 May 2004 Oral History 392 Abstract Doug Ross and John Brackett focus on the background of SofTech and then its entry into the microcomputer software marketplace. They describe their original contact with the University of California at San Diego (UCSD) and licensing the p-System which had been developed there. They discuss the effort required to bring the program to production status and the difficulties in marketing it to the sets of customers. They talk about the transition from 8 bit to 16 bit machines and how that affected their market opportunities. They conclude with a review of the negotiations with IBM and their failure to get p-System to become a primary operating environment. That, and the high performance of Lotus 1-2-3, brought about the demise of the p- System. [John Brackett requested that the following information from Wikipedia, the free encyclopedia, be provided as an introduction to this oral history interview: “UCSD p-System or UCSD Pascal System was a portable, highly machine independent operating system based upon UCSD Pascal. The University of California, San Diego Institute for Information Systems developed it in 1978 to provide students with a common operating system that could run on any of the then available microcomputers as well as campus DEC PDP-11 minicomputers. UCSD p- System was one of three operating systems (along with PC-DOS and CP/M-86) that IBM offered for its original IBM PC. -
Type Extensions, Wirth 1988
Type Extensions N. WIRTH lnstitut fijr Informatik, ETH, Zurich Software systems represent a hierarchy of modules. Client modules contain sets of procedures that extend the capabilities of imported modules. This concept of extension is here applied to data types. Extended types are related to their ancestor in terms of a hierarchy. Variables of an extended type are compatible with variables of the ancestor type. This scheme is expressed by three language constructs only: the declaration of extended record types, the type test, and the type guard. The facility of extended types, which closely resembles the class concept, is defined in rigorous and concise terms, and an efficient implementation is presented. Categories and Subject Descriptors: D.3.3 [Programming Languages]: Language Constructs-data types and structures; modules, packuges; D.3.4 [Programming Languages]: Processors-code generation General Terms: Languages Additional Key Words and Phrases: Extensible data type, Modula-2 1. INTRODUCTION Modern software development tools are designed for the construction of exten- sible systems. Extensibility is the cornerstone for system development, for it allows us to build new systems on the basis of existing ones and to avoid starting each new endeavor from scratch. In fact, programming is extending a given system. The traditional facility that mirrors this concept is the module-also called package-which is a collection of data definitions and procedures that can be linked to other modules by an appropriate linker or loader. Modern large systems consist, without exception, of entire hierarchies of such modules. This notion has been adopted successfully by modern programming languages, such as Mesa [4], Modula-2 [8], and Ada [5], with the crucial property that consistency of interfaces be verified upon compilation of the source text instead of by the linking process. -
Lovelace & Babbage and the Creation of the 1843 'Notes'
Lovelace & Babbage and the Creation of the 1843 ‘Notes’ John Fuegi and Jo Francis Flare/MITH Augusta Ada Lovelace worked with Charles Babbage to create a description of Babbage’s unbuilt invention, the Analytical Engine, a highly advanced mechanical calculator often considered a forerunner of the electronic calculating computers of the 20th century. Ada Lovelace’s “Notes,” describing the Analytical Engine, published in Taylor’s Scientific Memoirs in 1843, contained a ground-breaking description of the possibilities of programming the machine to go beyond number-crunching to “computing” in the wider sense in which we understand the term today. This article expands on research first presented by the authors in their documentary film, To Dream Tomorrow. What shall we do to get rid of Mr. Babbage and known to have crossed the intellectual thresh- his calculating Machine? Surely if completed it old between conceptualizing computing as would be worthless as far as science is con- only for calculation on the one hand, and on cerned? the other hand, computing as we know it —British Prime Minister Sir Robert Peel, 18421 today: with wider applications made possible by symbolic substitution. The Analytical Engine does not occupy common In an early background interview at the ground with mere ‘calculating machines.’ … In Science Museum (London) for the historical enabling mechanism to combine together gen- documentary film about collaboration between eral symbols, in successions of unlimited variety Lovelace and Babbage, To Dream Tomorrow,3 and extent, a uniting link is established between Babbage authority Doron Swade mentioned the operations of matter and the abstract mental that he thought Babbage and Lovelace had processes of the most abstract branch of mathe- “very different qualities of mind.” Swade’s matical science. -
A Brief History of Computers
History of Computers http://www.cs.uah.edu/~rcoleman/Common/History/History.html A Brief History of Computers Where did these beasties come from? Ancient Times Early Man relied on counting on his fingers and toes (which by the way, is the basis for our base 10 numbering system). He also used sticks and stones as markers. Later notched sticks and knotted cords were used for counting. Finally came symbols written on hides, parchment, and later paper. Man invents the concept of number, then invents devices to help keep up with the numbers of his possessions. Roman Empire The ancient Romans developed an Abacus, the first "machine" for calculating. While it predates the Chinese abacus we do not know if it was the ancestor of that Abacus. Counters in the lower groove are 1 x 10 n, those in the upper groove are 5 x 10 n Industrial Age - 1600 John Napier, a Scottish nobleman and politician devoted much of his leisure time to the study of mathematics. He was especially interested in devising ways to aid computations. His greatest contribution was the invention of logarithms. He inscribed logarithmic measurements on a set of 10 wooden rods and thus was able to do multiplication and division by matching up numbers on the rods. These became known as Napier’s Bones. 1621 - The Sliderule Napier invented logarithms, Edmund Gunter invented the logarithmic scales (lines etched on metal or wood), but it was William Oughtred, in England who invented the sliderule. Using the concept of Napier’s bones, he inscribed logarithms on strips of wood and invented the calculating "machine" which was used up until the mid-1970s when the first hand-held calculators and microcomputers appeared. -
Reception of Pascal in the History of Sciences
Reception of Pascal in the history of sciences... Camille Akmut April 27, 2020 Abstract In particular computer science and technologies. With references to the history of philosophy and the social sciences. 1 I - Crown jewel computers, and sciences The computer scientist Niklaus Wirth, creator of the Pascal programming language, has said of the origins of his creation : I named it after the French philosopher and mathematician, who in 1642 designed one of the first gadgets that might truly be called a digital calculator.1 This is how Wirth remembered Pascal, and explained his choice of the philosopher for his namesake language in 1993 as part of a large conference organized by the ACM on the history of programming languages (the second HOPL); as a pioneer in a line from which { it is either implied, or we interpret too strongly { he ultimately descended. Another notable computer scientist, Friedrich Bauer, known for the stack ADT and his participation in the making of ALGOL 602 among others, in his 'Historical notes on computer science' (one of his last books, if not the last) expressed the following judgment on Pascal and Schickard : \We would not do Schickard any justice by exaggerating : his cal- culating machine was no 4-type ["Vier-Species"] machine, like that of Leibniz, but only a 2-type like Pascal's, but with the difference of having come twenty years earlier. Kepler was said to have been most happy with it. And, perhaps its mechanism was superior. But, that would be a detail."3 [trans.] Ergo : the real machine was Leibniz's { as it could (really) do all four operations of arithmetic { and as for the earlier, partial or lesser, ones Schickard's 1Found in History of programming languages, vol. -
1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B.