ebook img

Reflections on Programming Systems: Historical and Philosophical Aspects PDF

284 Pages·2018·4.26 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Reflections on Programming Systems: Historical and Philosophical Aspects

Philosophical Studies Series Liesbeth De Mol · Giuseppe Primiero Editors Refl ections on Programming Systems Historical and Philosophical Aspects Philosophical Studies Series Volume 133 Editor-in-Chief Luciano Floridi, University of Oxford, Oxford Internet Institute, United Kingdom Mariarosaria Taddeo, University of Oxford, Oxford Internet Institute, United Kingdom ExecutiveEditorialBoard PatrickAllo,VrijeUniversiteitBrussel,Belgium MassimoDurante,UniversitàdegliStudidiTorino,Italy PhyllisIllari,UniversityCollegeLondon,UnitedKingdom ShannonVallor,SantaClaraUniversity BoardofConsultingEditors LynneRudderBaker,UniversityofMassachusettsatAmherst StewartCohen,ArizonaStateUniversity,Tempe RaduBogdan,TulaneUniversity MarianDavid,UniversityofNotreDame JohnM.Fischer,UniversityofCaliforniaatRiverside KeithLehrer,UniversityofArizona,Tucson DeniseMeyerson,MacquarieUniversity FrançoisRecanati,InstitutJean-Nicod,EHESS,Paris MarkSainsbury,UniversityofTexasatAustin BarrySmith,StateUniversityofNewYorkatBuffalo NicholasD.Smith,Lewis&ClarkCollege LindaZagzebski,UniversityofOklahoma Moreinformationaboutthisseriesathttp://www.springer.com/series/6459 Liesbeth De Mol (cid:129) Giuseppe Primiero Editors Reflections on Programming Systems Historical and Philosophical Aspects 123 Editors LiesbethDeMol GiuseppePrimiero CNRS,UMR8163Savoirs,Textes,Langage DepartmentofPhilosophy Villeneuved’Ascq,France UniversityofMilan Milano,Italy ISSN0921-8599 ISSN2542-8349 (electronic) PhilosophicalStudiesSeries ISBN978-3-319-97225-1 ISBN978-3-319-97226-8 (eBook) https://doi.org/10.1007/978-3-319-97226-8 LibraryofCongressControlNumber:2018962879 ©SpringerNatureSwitzerlandAG2018 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartof thematerialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation, broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology nowknownorhereafterdeveloped. Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Thepublisher,theauthorsandtheeditorsaresafetoassumethattheadviceandinformationinthisbook arebelievedtobetrueandaccurateatthedateofpublication.Neitherthepublishernortheauthorsor theeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinorforany errorsoromissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregardtojurisdictional claimsinpublishedmapsandinstitutionalaffiliations. ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSwitzerlandAG Theregisteredcompanyaddressis:Gewerbestrasse11,6330Cham,Switzerland Acknowledgements We would like to thank Baptiste Mélès and Raphaël Fournier-S’niehotta for their help with setting up and chairing HaPoP-3. We are also very grateful to the participantstothesymposiumaswellasthePCmembersfortheirhelpinselecting theacceptedtalks.Finally,thisbookvolumewouldnothavebeenpossiblewithout thecarefulandcriticalreadingofthedifferentreviewerswhohelpedtoimprovethe contributions. v Contents 1 Programming Systems: in Search of Historical and PhilosophicalFoundations................................................. 1 LiesbethDeMolandGiuseppePrimiero PartI ProgrammingWithoutSystems 2 ValidityandCorrectnessBeforetheOS:theCaseofLEOI andLEOII.................................................................. 15 RabiaArif,ElisabettaMori,andGiuseppePrimiero 3 What Is an Operating System? A Historical Investigation (1954–1964).................................................................. 49 MaartenBullynck PartII FormalizingSystems 4 FormalSemanticsofALGOL60:FourDescriptionsintheir HistoricalContext .......................................................... 83 TroyK.Astarte,CliffB.Jones 5 Sans-PapiersasFirst-ClassCitizens...................................... 153 JulianRohrhuber PartIII CreatingSystems 6 Unix,Plan9andtheLurkingSmalltalk ................................. 189 StephenKell 7 Unix:BuildingaDevelopmentEnvironmentfromScratch............ 215 WarrenToomey vii viii Contents PartIV EvaluatingSystems 8 EthicalOperatingSystems ................................................ 235 Naveen Sundar Govindarajulu, Selmer Bringsjord, Atriya Sen, Jean-ClaudePaquin,andKevinO’Neill 9 FromSovereignOperatingSystemstotheSovereignDigitalChain.. 261 GaëlDuval 10 EleganceinSoftware....................................................... 273 RobinK.Hill Chapter 1 Programming Systems: in Search of Historical and Philosophical Foundations LiesbethDeMolandGiuseppePrimiero Todaywetendtogoonforyears,withtremendousinvestments tofindthatthesystem,whichwasnotwellunderstoodtostart with,doesnotworkasanticipated.Webuildsystemslikethe Wrightbrothersbuiltairplanes—buildthewholething,pushit offthecliff,letitcrash,andstartoveragain. (Graham,inSoftwareEngineeringandSociety,Naurand Randell1968.) Abstract This chapter introduces the topics investigated in this book and it framestheminabroaderhistoricalandphilosophicalanalysisofprogrammingand computingtechnology. Keywords Historyofprogrammingsystems · Softwarecrisis · Formalmethods · Granddesignsystems · Ethical,legalandpoliticalissuesofsoftwaresystems 1.1 MethodologicalBackground The purpose of this book is to engage with historical and philosophical issues underpinningwhatweidentifyhere,as‘programmingsystems’,viz.largesystems thathavebeenprogrammedinordertocontrolsomeprocessorsetofprocesses. In a recent paper published in the Communications of the ACM, we read the following assessment of the state of modern computing systems, (Neumann 2017, p.3): L.DeMol((cid:2)) CNRS,UMR8163Savoirs,Textes,Langage,Villeneuved’Ascq,France e-mail:[email protected] G.Primiero DepartmentofPhilosophy,UniversityofMilan,Milano,Italy e-mail:[email protected] ©SpringerNatureSwitzerlandAG2018 1 L.DeMol,G.Primiero(eds.),ReflectionsonProgrammingSystems,Philosophical StudiesSeries133,https://doi.org/10.1007/978-3-319-97226-8_1 2 L.DeMolandG.Primiero Unfortunately, the trends for the future seem relatively bleak. Computer system trust- worthiness and the implications of its absence are increasingly being questioned. Semi- andfullyautonomoussystems,theseeminglyimminentInternetofThings,andartificial intelligenceareprovidingfurtherexamplesinwhichincreasingcomplexityleadstoobscure and unexplainable system behavior. The concept of trustworthiness seems to becoming supplantedwithpeoplefalselyplacingtheirtrustinsystemsandpeoplethataresimplynot trustworthy—withoutanystrongcasesbeingmadeforsafety,security,orindeedassurance thatmightotherwisebefoundinregulatedcriticalindustries. Trustworthiness of large systems is just one of a growing number of serious problems relatedtocomputing, withthepotentialtoaffectmillionsoflives.1 This isduenotjusttopropertiesofthesystemsthemselves,butalsototheiruse,design anddevelopment byhumans.Ontheonehand,thesesystemsareubiquitous,both in terms of usage and impact: almost everyone in large part of the developed world interacts constantly with a computing device; also, some of these systems have progressively evolved into cyber-physical entities, capable of acting upon and being affected by the external environment. On the other hand, there is an obvious mismatch between the complexity and ability of these systems to act in our world, and the level of knowledge required to interact critically with them. While the possibility to use them without expert knowledge has been a major factor in the diffusion of computing systems, it also has the important drawback that computing systems are nowadays used mostly by people who are unaware of the risks and consequences involved. Additionally, the increasing complexity and size of those systems, which is often rooted in a historically accumulated set of layersofabstractionandso-calledbloatedsoftwaresystems(Wirth1995),hasonly deepenedtheissuesofsoftwaredesign,developmentandmaintenanceastheycame tobeknowninthe1960s.Byconsequence,ithasbecomemoredifficulttoprevent (potentially disastrous) errors. While this is principally a technical concern, it involvesalsopoliticalandcommercialaspectsunderpinningthedesign,production and distribution of computing systems. From the point of view of the social and politicalimplications,sufficeheretomentionissuesofaccountabilityinalgorithm designandprivacyofusers.2 Given these circumstances, we are very much in need of a deeper reflection on the nature of computing systems. A methodological safe ground for such an investigation into the foundations of computing would require us to have a clear understandingofthefieldinitself,oftherelationsamongitsseveralsub-fields,and 1This is a long standing issue in computing, touching on several areas. One of the early and most broad views on computing, risk and trust can be found in MacKenzie (2004). Recently, theareaofcomputationaltrusthasgrownsensiblyinitsimpactandapplications,fromsoftware packagesdistributionsystemstovehicularnetworks,seee.g.PrimieroandBoender(2017)and Primieroetal.(2017)forsomeapproachandoverviewsoftherelatedliteratures.Forahigh-level commentaryontrustofdigitaltechnologies,seeTaddeo(2017). 2The issue of algorithm accountability is gaining much traction, especially in view of current progress in AI. For a recent high-level analysis of the problem, see Diakopoulos and Friedler (2016).Forcontributionsconcerningthedebateontheethicalrelevanceofalgorithmsintermsof accountabilityandtheirpublicimpact,seeMittelstadtetal.(2016)andBinns(2017).

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.