AnIntroduction Here’saslightlycorrelatedsetofessaysI’vewritten.Refer-encesareprovidedinthestyleoftheAmericanMathematicalSociety.ThisdocumentisprovidedinPDF,HTML,andplaintextualformats.ThePDFcontainsactuallinksateachrefer-ence,andatypefacemuchlessexposedthanTimesNewRo-man.TheHTMLismostlySVG,correspondingsocloselytothePDFit’sgeneratedfromthatthesourcePDFmaybenearlyre-constructedusingthebrowser’sprintingfeatures.Thiscon-versionhasthebenefitofsuitingthemodernwebbrowser.Theplaintextfileisprovidedforthesakeofaccessibility,atthecostoflegibility.I’dbepleasantlysurprisedtoreceiveeitherpositiveornega-tivefeedback.Mycontactinformationisattheveryend,pastthelongbibliography. TheImpactoftheCProgrammingLanguageonthePast50YearsofComputing TheCProgrammingLanguagewasinitiallydevelopedbetween1969and1979.ItwasfurtherrefinedwhenstandardizedbytheAmericanNationalStandardsInstitutein1989.Inthetwentyyearsbetweenbirthandstandardization,Cbecamethedomi-nantprogramminglanguage,shapingtheenvironmentsiten-teredandtheprogrammerswhousedit.InthetimebetweenANSIstandardizationandnow,themajorityofcomputingsys-temshavebeendesignedtoleverageC.Aprogramminglanguageisaformatforexpressinglogic.Theprogramminglanguagethatacomputernativelyunder-stands,calledan“instructionset,”iscomposedofminusculeoperations.Acrossallkindsofdigitalcomputers,theseallowforlogicalevaluation,performanceofarithmetic,managementofinformation,andgeneralhardwarecontrol[Intel23],[Arm21],[Waterman19].Theseinstructionsareexpressedinbinarydigits,commonlycontractedto“bits”[Mackenzie80].Unlikeadecimaldigit,whichmaybeawholevaluebetween0and9,abitmaybeeither0or1.Indigitalcomputing’sinfancy,seriesofthesewereman-ually“toggledin”[Post83],usingphysicalswitchesandbut-tons.Savefortheoriesputonpaper,suchastheworksofAdaLovelace[Menabrea1842]andAlanTuring[Turing36],thiswasthefirstformofcomputerprogramming.Ashardwareandsoftwarebothadvanced,programmersbe-cameabletowriteprogramstextually.Theywouldphysi-callyinteractwithateleprinter,essentiallyatypewriterwhichwouldsendkeystrokestoandprintoutputfromacomput-er.Theywoulddigitallyinteractwithsoftwaretomanageandstoreteleprinterinput,naturallynamed“texteditors.”Then,thestoredinputfromtheteleprinterwouldbepassedtoaprogramcalledan“assembler,”tofurtherinterpretthesavedinput.Thetextualrepresentationsofcomputerinstructions,suchas“NOTA,”wouldbeencodedasrealcomputerinstructions,suchas“0010000101101010”[Nelson63],[Ritchie99],[Thomp-son71a],[Thompson71b],[Thompson71c].Thetextwhichprogrammerswouldprovidetoassemblerscametobecalled“assemblylanguage.”[IBM92].Assemblylanguagedirectlycorrelatestoacomputer’sin-structionset,meaningthattheprogrammermusttextuallymanageeachoperationinaprogram.Doingsoislesstediousthanflippingswitcheshundredsoftimesover,butstillte-dious[Nather83],[Post83].Computerscientistsfoundthatacomputermayinsteadbeprovidedatextwhichvaguelyde-scribestheintendedlogicofaprogram.Thoughthecomputerhasbeenprovidedlessinformation,itmayhaveenoughtopro-duceareasonabletranslationoftheabstractprogramtoitsowninstructionset.Asopposedtoanassembler,thesoftwarewhichperformsthiskindofinterpretationiscalleda“compil-er”[Aho14]. 2 Figure1.Top:thecontrolpanelofanearlydigitalcomput-er,designedtobeprogrammedthroughthetogglingofseveralswitches[Shirriff19].Middle:ATeletype-brandedteleprinter[Reinhold14].Bottom:Apunchcard,atatimethemosteco-nomicalmethodofstoringprogramdata[Jones22].Compilingaprogramfromanabstract—“high-level”—languageiscomparabletotranslatingexpressionsfromonehu-manlanguagetoanother:itmaybedone,loosely[Aho14].Withthislossinaccuracycomestwobenefits:programsmaybewritteninlesstime,andstructuredtoreadclosertohumanlanguage;andprogramsmaybeinterpretedwithsimilarlogi-calmeaningsonarchitecturallydifferentcomputers.Theseben-efitsaresostrongthatthevastmajorityoftoday’ssoftwareiswritteninhigh-levelprogramminglanguages[TIOBE23],[Backus56].Cwasamongthelanguagesdevelopedtotransitionfrompro-gramminginassemblytoahigh-levellanguage[Backus56],[Ritchie93].ItbeganitsdevelopmentatBellLaboratories,asubsidiaryofAT&T,“asasystemimplementationlanguageforthenascentUnixoperatingsystem”[Ritchie93].Unixwasasetofsoftwaretoenableasingularcomputertorunmultiplepro-gramsconcurrently—asopposedtooneatatime.Further,itfulfilledthebasicinfrastructureneededtomakehardwareac-cessibleinsoftware[Ritchie74],[Ritchie84]. #include<stdio.h>intmain(){puts("Hello.");return0;}.datamsg:.asciz"Hello.\n"len=.-msg-1.text.global_start_start:pushl$lenpushl$msgpushl$1movl$4,%eaxcalldo_syscalladdl$12,%esppushl$0movl$1,%eaxcalldo_syscalldo_syscall:int$0x80ret Figure2.Left:AtrivialprogramwritteninCforprinting“Hel-lo.”tothescreen.Writtenbytheauthor.Right:AprogramwritteninAssemblyforthesamepurpose.Itassumesaspe-cificversionofmodernUnixandaPC-architecturecomputer.Adaptedfrom[Sommers00].UnixandCweredesignedaroundeach-other.Cwasde-signedtoleveragethehardwareabstractionsprovidedbyUnix,andmuchofUnixitselfcametobewritteninC[Ritchie93].ThisbondallowedCandUnixtoformthefirst“portable”pro-grammingenvironment.Insuchanenvironment,programswrittenforonesetofhardwaremayrunlargelyorwhollyun-modifiedonanothersetofhardware[Johnson78].UnixandC—andmanyprogramswritteninCtorunontopofUnix—couldthenbeportedtoanewmachinewithrelativeease.“[T]houghoriginallyunplanned,”Unix’sauthorsdiscoveredit“tobepossibletoproduceanoperatingsystemandsetofsoft-warethatrunsonseveralmachinesandwhoseexpressioninsourcecodeis,exceptforafewmodules,identicaloneachma-chine”[Ritchie76].DespiteCandUnixformingarevolutionaryproduct,theyweredistributedliberallytouniversities.AT&Twasnotobliv-ioustoC’svalue,howevertheirhandwasforced.CandUnixweretobedistributedliberally,ornotdistributedatall.AT&Theldagovernment-sanctionedmonopolyontheUStelephonesystem.ThetermsofAT&T’sagree-mentwiththeUSgovernmentpreventeditfromsellingsoftware,whichmeantthatitcouldnotsellUNIXasaproduct.Instead,beginningin1974withFifthEdition,andespeciallywithSixthEdition,AT&TlicensedUNIXforuseinuniversitiesforanominaldistribu-tionfee.…AT&T’sreleaseofUNIXintouniversi-tiesgreatlycontributedtothepopularityanduseoftheoperatingsystem,andby1977,UNIXwasrunningatsome500sites,including125universitiesintheUnitedStatesandseveralothercountries.[Kerrisk10]DuetoCandUnix’sbondedsuccess,intandemwithanaf-fordableprice,Cbecamethepreferredprogramminglanguage 3 ineducation.ThislibertyindistributionledtoseveralderivativeversionsofUnix.AtUniversityofCalifornia,Berkeley,Unixwasmodi-fiedandre-writtenoverseveralyears.Itbecameconsideredbyitsauthorsasanindependent,compatibleoperatingsystem.By1983,thesystemhadbecomeasubstantialsupersetofUnix.The“BerkeleySoftwareDistribution”itselfbecamealicensedproduct,eventuallythebasisfor“[s]everalcommercialOSes[operatingsystems]”[Salus94a].Come1988,independentrecreationsofUnixhadbeenre-leased,undertotallyfreeterms.TheywerelargelycompatiblewithUnix,butcontainednoactualUnixsourcecode.Thesecouldbedistributedwithoutrestriction.Thiswasinstarkcon-trasttoAT&T’sselectivelicensingtouniversities.FollowinglegaldisputewithAT&T,BerkeleySoftwareDistributionit-selfbecamefreetodistribute,spawningtheBSDfamilyofop-eratingsystems[Salus94b],[OpenBSD23],[NetBSD23],[FreeBSD23].AsUnixbecamebothfeature-richandfreetoli-cense,itsinfluencespreadfurther.Bynecessity,whereUnixanditsderivativeswent,Cwenttoo.AsCbecameincreasinglypopularoutsideofBellLabs,“itwasclearthatCneededformalstandardization”[Ritchie93].Thelanguageinformallydocumenteddidnotwhollymatchthelanguageinuse[Kernighan78][Ritchie75].Asof1989,CbecameformallystandardizedbytheAmericanNationalStandardsInstitute[ANSI89],[X3J1198].Thisformalstan-dardbecameintegraltothecontinuedgrowthofC’spopulari-ty.“[T]heincipientuseofCinprojectssubjecttocommercialandgovernmentcontractmeantthattheimprimaturofanoffi-cialstandardwasimportant”[Ritchie93].Separately,C’ssisterproject,Unix,becamestandardized[IEEE07],[Harbour01],[Stallman11].Thanksinlargeparttotheirstandardization,UnixandChavebeenimplementedandre-implementedseveraltimes.Mod-ernversionsofUnixcontinuetobedesignedinC[Linux23],[OpenBSD23],[NetBSD23],[FreeBSD23],[Illumos23].Oncomputerswhichprovideservicesenmasse—publicac-cesswebsites;e-mailservers—thesearego-tochoices[Stat-Counter23a],[Fortune23].Thesmallcomputersthatmanagehomeinternetconnectionsoftenusethesameorsimilarin-frastructure[Dunn18],[OpenWRT23].Inessence,Unix’sde-scendantsenabletheinternetasweknowittoday,andtheythemselvesareenabledbyC.OperatingSystemServerMarketShare(in%) Windows25.1Linux62.4UNIX5.1Other7.4Figure3.Marketshareofoperatingsystemsforserveruse[For-tune23].“Linux”isaspecificderivativeofUnix.“UNIX,”aswrittenintheprovideddata,generallyreferstoBSD-derivedUnix.ThedistinctionisarguablymadeduetoLinux’sover-whelmingpopularity.Moregenerally,CandUnixhavebecomeintegraltocom-mercialsoftwaredevelopment.Amongtoday’smostaffluentsoftwarecompanies,Apple[Nicas22]hasbeenusingC-de-rivedlanguagessincetheiracquisitionofNeXTSTEPin1997[Singh06].NeXTSTEPwasaBSD-derivedoperatingsys-tem.Itwasdesignedinasuper-setofCnamedObjective-C.Atthetimeoftheacquisition,Apple’sMacintoshlineofcomput-erswereinneedofnewsystemsoftware.TheyproceededtouseNeXTSTEP—implementedinCandborrowingportionsofUnix—asthebasisfortheiradvancement[Reisinger16],[Singh06],[Singh03],[Edwards20].Yearsaftertheacquisi-tion,itbecamethebasisforthesoftwarebehindtheiPhone[Ap-ple23a],[Garling12].BeforeacquiringNeXTSTEP,Applewasnearbankruptcy.NeXTSTEPsavedthem,andtheyhavesinceflourished.Inpar-ticular,the2007releaseoftheiPhoneearnedAppleenormoussuccess[Martins23].Today,theiPhoneitselfisnowuncon-troversiallycalledoneofthemostrevolutionaryproductsofourtime[Leswing19],[Eadicicco17].It’snotastretchtosaythatCwasandcontinuestobeintegraltothatsuccess.Accord-ingly,ApplehasinvestedheavilyintheirC-basedinfrastruc-ture,fundingthedevelopmentofanewsetofcompilersoftware[Treat05],[Apple12],[Apple23b].Microsoft,acompanywhichgenuinelycompeteswithApplefor“World’sMostValuableCompany”[Klebnikov21],hassimilartiestoC.Theirpremiersoftwareproduct,Windows[Ward23],hasbeenwritteninCsince1995[Microsoft14].Inthequarter-centurysincethen,Microsofthasmaintainedacompatiblesoftwareenvironment.Asidefromotherfeatures[Microsoft23a],thisallowsyears-oldprogramstorunlargelyorwhollyunmodifiedonMicrosoft’slatestiterationsofWin-dows[Finck20],[Microsoft22].Individualprograms,lesserinscopethanoperatingsystems,areoftenwritteninCbecauseofitsubiquity.Programmersin-tendingtowriteaccessible,performantsoftwareresorttoit. 4 NotableexamplesincludeGoogle’sChrome,themostpopu-larwebbrowser[StatCounter23b];ffmpeg,anexceedinglypopularvideoprocessingsolution[Melanson11],[Maki20],[Larabel15];SQLite,asetofsoftwareincludedinamajorityofconsumercomputers[SQLite22];andOpenSSH,thenet-workedcomputerlog-inutilitybundledwithmostoftoday’slaptops[Microsoft23b],[Loder22].Programsoriginallywrit-teninlanguagesotherthanC,butthatneedportability,maybemachine-translatedtoC.ThishasbeenmostnotablydonewithTeX[TUG23],aprogramfordigitaldocumenttypesetting,popularlyusedforacademicpapers[CTAN23],[Beeton18].C’sportabilityistheresultofseriouseffort.Asidefromtheworkofstandardscommittees,Chasbeenwedgedintoenviron-mentsfardifferentfromUnix.ForthesakeofportingprogramswritteninC—“agooddealofinterestingsoftware”asearlyas1976[Ritchie76],subsetsofUnixwouldbeimplementedonotheroperatingsystems.AsMicrosoft’soperatingsystemstookholdinthehomecomputermarket,thedesiretoportCprogramstothemtookholdjustasfirmly.Forthispurpose,UnixwasfirstgraftedontopofMS-DOSbeginningin1989[Zaretskii99].AsMS-DOSwasreplacedbyWindows,thatworkwascarriedover,resultinginamultitudeofprojects.Mostprominently,Cygwinallowsalargeportionofstandards-compliantUnixprogramstorunwithoutmodification.ItmapsUnixfeaturestoWindowsfea-tures,andthoseUnixfeatureswhichhavenoanalogueareemu-lated[Cygwin22].[MinGW23].Theseprojectsenabledprogrammerstowriteprogramstorunonallthreeofthepopularsoftwareplatforms—Apple’sBSD-basedMacintosh,IBM’sPCandderivativesrunningMi-crosoft’sWindows,andthehardware-agnosticUnixservers[Reimer05].TheseprojectsbecameintegraltothefurtheringofWindows’ssoftwarelibrary.MicrosoftdecidedtofurthertheeffortforportabilityofC,bymeansoftheWSLproject.WhilethepreviousmethodsrequireUnixsoftwaretobewhollyre-compiledforWindows,Microsoft’ssolutionprovidesafullUnixenvironment[Microsoft23c],[Microsoft23d]. Year20232018201320082003199819931988 Python1486112422-C22122111C++33433224Java4121118--C#55589---JavaScript6899821--VisualBasic718------PHP87656---SQL988--7---Assembly1013------Ada24312220161673Objective-C271234148---Lisp30291417151082(Visual)Basic--745337Figure4.Estimatedandaveragedprogramminglanguagepop-ularityoverthecourseofagivenyear,from1988through2023[TIOBE23].“1”marksthefirstmostpopular,“30”marksthe30thmostpopular.“(Visual)Basic”and“VisualBasic”arein-tentionallydistinct.Theformerreferstoanowsplitfamilyoflanguages.Thelatterreferstoaspecificlanguagefromthatsplit.Forthesakeofcolumnwidth,“AssemblyLanguage”hasbeentruncatedto“Assembly.”C’sinfluencehaspermeatedtheevolutionofprogramminglanguages.Thehigh-levelprogramminglanguageswhichrivalC’spopularity[TIOBE23]borrowheavilyfromitsappear-anceandsemantics.BrieflyanalyzingFigure4,itisonlytheselanguageswhichhavepopularlyflourishedforthepasttwodecades.C++isadirectderivativeofC.JavaresemblesCclose-ly,tothepointatwhichvalidCisnearlyvalidJava.PythonandC#eachtakebasicsyntaxfromC.JavaScriptisintendedtobeCforthewebbrowser[Miller22],[Ezick02].Thesearetheno-tablemarketcompetitors.Evidently,Cshapedthemarketfor50yearspastitsinception. whilereturnbreakcontinueifelsefor Figure5.KeywordswithsimilarsemanticsinC,Python,C++,Java,C#,andJavaScript[Microsoft23e],[Microsoft21],[Mozilla23],[Python23].Despitebeingdistinctlanguages,someoftheirsemanticsaresimilar.C’spopularityhaswarrantedcontinuedextensionandstan-dardization.Thoughthe1989standardremainsde-facto,ChasbeencontinuallystandardizedbytheInternationalOrganiza-tionforStandardizationandtheInternationalElectrotechnicalCommission[WG1421].Chasbeengrownfromasingularlanguagetoafamilyoflanguages.ThisgrowthblursthelinesbetweenCanditscontemporaries,bringingmodernconsidera-tionsintotheoldlanguage’sdesign.AsopposedtolanguagesdistinctfromC,newlystandardizedversionsofChavethebenefitofitsexistingsoftwareinfras-tructure.Thatinfrastructurehasbeenhonedoverhalfofacen-tury.TheauthorsoflanguagesoperatinginthesamemarketasChavealoftygoal:tobeat50yearsofpre-builtsoftware,doc- 5 umentation,andcompilerimprovement.Particularly,programswritteninCareasfastandefficientashigh-levelprogramsmaybe.IftherearebetterwaysofgeneratingcodethanmodernCcompilersperform,wedon’tknowofthem.Bycomparison,mostotherlanguagesandtheircompilersaregrosslyinefficient[Pereira17].1.C,Pascal,Go2.Rust,C++,Fortran3.Ada4.Java,Chapel,Lisp,Ocaml5.Swift,Haskell,C#6.Dart,F#,Racket,Hack,PHP7.JavaScript,Ruby,Python8.TypeScript,Erlang9.Lua,JRuby,PerlFigure6.Themeasuredenergy,time,andmemoryefficiencyofprogramminglanguages,rankedintodistincttiers[Pereira17].Cisinthetoptier,andthefirstinitsclass.Ciseverywhere.It’sthebasisforsoftwareinhomecomput-ers,cellphones,Wi-Firouters,andwebservers.Thosecate-goriesarguablyspanthemajorityofcomputingsystemspeopleinteractwithtoday.DespiteC’subiquity,itisnottrivial.ThetimebeforeC’sstandardizationhadnosimilarlanguage.Thetimesincehasproducedderivatives,butnoreplacement.Be-foretheadventofthesederivatives,Chadbecomesouniversalastobea“linguafranca”amongprogramminglanguages[Arm-strong14].Modernandpopularcompetitionremainsstruc-turallyandsyntacticallysimilar.ThepopularityofprogramminglanguagesderivedfromCiscomparabletothepopularityofnaturallanguagesderivedfromLatin.Ineachcase,thederivativesareunique,butsimilarenoughtobestructurallyandsometimesliterallycompatible.Thegapingholeinthatcomparisonisthat,quiteunlikeLatin,Cisverymuchalivinglanguage.Nocomputingsystemiscom-pletewithoutit.ThisessaywasoriginallywrittenforanEnglish101class.ItwaswrittenthroughoutFallof2023,andsubmittedDecember11,around4inthemorning.Ithasbeenpublishedherewithsmallalterations. ModernTypographicTroubles Alltextsubscribestoastyle.Handwrittentextisoftendrawnwithlittledesign.Mostofthetextweseetodayismechanicallydrawn,asopposedtomanually.Thiskindoftextisreferredtoastypeset,andthestyleitadherestoisreferredtoasatypeface.Digitaltypesettinghasbecomeacommonpractice.Desirabledigitaltypefacesaccessibletoself-publishershavebecomefewandfarbetween.Typesettingsoftwarepackageswithrelativelyhigh-qualityoutputremainimperfectsolutions. FileSystemandOperatingSystemCompatibilities MicrosoftFAT32hasbeensupercededbyNTFS. 6 Bibliography [ANSI89]AmericanNationalStandardInstitute;InternationalOrganizationforStandardization, AmericanNationalStandardforProgrammingLanguages–C;ANSI/ISO9899-1990. InternationalOrganizationforStandardization,1990.[Aho14]Aho,AlfredV.;Lam,MonicaS.;Sethi,Ravi;Ullman,JeffreyD. Compilers:Principles,Techniques,andToolsSecondEdition. PearsonEducationLimited,2014.[Apple12]Apple,“LLVMCompilerOverview.”Apple,13December2012,developer.apple.com/library/archive/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/index.html.Accessed14November2023.[Apple23a]Apple,“xnu.”Github,26September2023,github.com/apple-oss-distributions/xnu.Accessed13November2023.[Apple23b]Apple,“LLVM/Clang.”Apple,2023,opensource.apple.com/projects/llvm-clang.Accessed14November2023.[Arm21]ArmLimited. Arm ® A64InstructionSetArchitectureArmv8,forArmv8-Aarchitectureprofile, p.2.ArmLimited,March2021,documentation-service.arm.com/static/606ef2575e70d934bc69e1bf.Accessed11November2023.[Armstrong14]JoeArmstrong.“TheMessWe’reIn.”StrangeLoopConferenceviaYouTube,19September2014,https://www.youtube.com/watch?v=lKXe3HUG2l4&t=1149.Accessed11December2023.[Backus56]J.W.Backus,R.J.Beeber,S.Best,R.Goldberg,H.L.Herrick,R.A.Hughes,L.B.Mitchell,R.A.Nelson,R.Nutt,D.Sayre,P.B.Sheridan,H.Stern,I.Ziller,“TheFORTRANAutomaticCodingSystemfortheIBM704EDPM:Programmer’sReferenceManual.”IBM,15October1956.Re-publishedatarchive.computerhistory.org/resources/text/Fortran/102649787.05.01.acc.pdf.Accessed8December2023.[Beeton18]BarbaraBeeton,KarlBerry,DavidWalden.“TeX:ABranchinDesktopPublishingEvolution,Part1,”in AnnalsoftheHistoryofComputing, vol.40,no.3,pp.78–93.July–September2018.Peer-reviewedmanuscriptpublishedatwww.walden-family.com/ieee/texhistory.html.Accessed9December2023.[CTAN23]ComprehensiveTeXArchiveNetwork.“WhatareTeXanditsfriends?”2023,ctan.org/tex.Accessed9December2023.[Cygwin22]Cygwinauthors. CygwinUser’sGuide, ,pp.1–2.27January2022,cygwin.com/cygwin-ug-net/cygwin-ug-net.pdf.Accessed9December2023.[Dunn18]JohnE.Dunn.“MosthomerouterslacksimpleLinuxOShardeningsecurity.”SophosLtd,20December2018,web.archive.org/web/20230322194141/https://nakedsecurity.sophos.com/2018/12/20/most-home-routers-lack-simple-linux-os-hardening-security.Accessed8December2023.[Eadicicco17]LisaEadicicco,“ThisIsWhytheiPhoneUpendedtheTechIndustry.”TIME,29June2017,time.com/4837176/iphone-10th-anniversary/.Accessed13November2023.[Edwards20]BenjEdwards.“BeforeMacOSX:WhatWasNeXTSTEP,andWhyDidPeopleLoveIt?”How-ToGeek,7November2020,www.howtogeek.com/698532/before-mac-os-x-what-was-nextstep-and-why-did-people-love-it.Accessed10December2023.[Ezick02]JamesEzick.“JavaandCsimilarities,byexample(notacompletelist).”CornellUniversity,Spring2002,www.cs.cornell.edu/courses/cs202/2002sp/JavaCcomparison.html.Accessed9December2023.[Finck20]ColinFinck.“WritingWin32appslikeit’s2020:Introduction.”ENLYZEGmbH,30July2020,building.enlyze.com/posts/writing-win32-apps-like-its-2020-part-1.Accessed8December2023.[Fortune23]FortuneBusinessInsights. ServerOperatingSystemMarketVolume,Share&COVID-19ImpactAnalysis,ByOperatingSystem(Windows,Linux,UNIX,andOthers),ByVirtualizationStatus(VirtualMachine,Physical,andVirtualized),BySubscriptionModel(Non-paidSubscriptionandPaidSubscription),ByEnterpriseType(LargeEnterprisesandSmall&MediumEnterprises),andRegionalForecast,2023-2030. FortuneBusinessInsights,May2023,www.fortunebusinessinsights.com/server-operating-system-market-106601.Accessed8December2023.[FreeBSD23]freebsd.org.Accessed15November2023. 7 [Garling12]CalebGarling,“iPhoneCodingLanguageNowWorld’sThirdMostPopular.”WIRED,9July2012,www.wired.com/2012/07/apple-objective-c.Accessed14November2023.[Google23a]GoogleLLC.“SetupforAndroidDevelopment.”GoogleLLC,2023,source.android.com/docs/setup/about.AccessedDecember2023.[Google23b]TheChromiumAuthors.“DeveloperInformationforChromeOSDevices.”GoogleLLC,2023,www.chromium.org/chromium-os/developer-information-for-chrome-os-devices.Accessed9December2023.[Harbour01]MichaelGonz á lezHarbour,“REAL-TIMEPOSIX:ANOVERVIEW.”UniversidaddeCantabriaDepartamentodeElectr ó nica,16March2001,www.cs.unc.edu/˜anderson/teach/comp790/papers/posix-rt.pdf.Accessed13November2023.[IBM92]IBM. HighLevelAssemblerfor z/OS&z/VM&z/VSE LanguageReferenceVersion1Release6. IBM,1992,https://publibz.boulder.ibm.com/epubs/pdf/asmr1021.pdf.Accessed11November2023.[IEEE07]IEEE, DraftStandardforInformationTechnology—PortableOperatingSystemInterface(POSIX ® ) .IEEE,2007,www.open-std.org/jtc1/sc22/open/n4217.pdf.Accessed13November2023.[Illumos23]illumos.org.Accessed8December2023.[Intel23]IntelCorporation. Intel ® 64andIA-32ArchitecturesSoftwareDeveloper’sManualCombinedVolumes:1,2A,2B,2C,2D,3A,3B,3C,3D,and4. IntelCorporation,September2023,cdrdv2.intel.com/v1/dl/getContent/671200,Volume1pp.5-5.Accessed11November2023.[Johnson78]S.C.Johnson,DennisM.Ritchie,“PortabilityofCProgramsandtheUNIXSystem”in TheBellSystemTechinicalJournal ,Vol.57,No.6,Part2,July–August1978,pp.2021-2048.Re-publishedatwww.bell-labs.com/usr/dmr/www/portpap.pdf.Accessed8December2023.[Jones22]DouglasW.Jones.“PunchedCardsforComputerPrograms.”UniversityofIowaDepartmentofComputerScience,5December2022,homepage.divms.uiowa.edu/˜jones/cards/collection/i-program.html.Datederivedfromimagemetadata.Specifically,from“821162IBM701code.jpg.”Accessed10December2023.[Kernighan78]BrianW.Kernighan,DennisM.Ritchie, TheCProgrammingLanguage. PrenticeHall,1978.[Kernighan88]BrianW.Kernighan;DennisM.Ritchie, TheCProgrammingLanguage,SecondEdition. PrenticeHall,1988.[Kerrisk10]MichaelKerrisk, TheLinuxProgrammingInterface. NoStarchPress,2010.pp3–5.[Klebnikov21]SergeiKlebnikov.“MicrosoftisNowTheWorld’sMostValuableCompanyAfterAppleFallsOnEarnings.”ForbesMedia,29October2021,www.forbes.com/sites/sergeiklebnikov/2021/10/29/microsoft-is-now-the-worlds-most-valuable-company-after-apple-falls-on-earnings.Accessed8December2023.[Larabel15]MichaelLarabel.“FirefoxEnablesFFmpegSupportByDefault.”PhoronixMedia,15November2015,www.phoronix.com/news/Firefox-FFmpeg-Default.Accessed9December2023.[Leswing19]KifLeswing,“TheiPhonedecade:HowApple’sphonecreatedanddestroyedindustriesandchangedtheworld.”CNBC,16December2019,www.cnbc.com/2019/12/16/apples-iphone-created-industries-and-changed-the-world-this-decade.html.Accessed13November2023.[Linux23]kernel.org.Accessed15November2023.[Loder22]ChipLoder.“HowtouseSSHforsecureconnectionsinmacOS.”QuillerMedia,15December2022,appleinsider.com/inside/macos/tips/how-to-use-ssh-for-secure-connections-in-macos.Accessed9December2023.[Mackenzie80]CharlesEMackenzie, CodedCharacterSets,HistoryandDevelopment. Addison-WesleyPublishingCompany,1980,archive.org/download/mackenzie-coded-char-sets/Mackenzie_CodedCharSets_text.pdf,pp.12.Accessed11November2023.[Mahoney16]MichaelS.Mahoney, AnOralHistoryofUnix. 1January2016,gromnitsky.users.sourceforge.net/lit/an-oral-history-of-unix/book.pdf.Accessed12November2023. 8 [Maki20]J.N.Maki,D.Gruel,C.McKinney,M.A.Ravine,M.Morales,D.Lee,R.Willson,D.Copley-Woods,M.Valvo,T.Goodsall,J.McGuire,R.G.Sellar,J.A.Schaffner,M.A.Caplinger,J.M.Shamah,A.E.Johnson,H.Ansari,K.Singh,T.Litwin,R.Deen,A.Culver,N.Ruoff,D.Petrizzo,D.Kessler,C.Basset,T.Estlin,F.Alibay,A.Nelessen,S.Algermissen.“TheMars2020EngineeringCamerasandMicrophoneonthePerseveranceRover:ANext-GenerationImagingSystemforMarsExploration,”excerptedfrom TheNASAMars2020Mission:SeekingSignsofAncientLifeandPreparingforSampleReturn ,p.37.Springer,24November2020,www.ncbi.nlm.nih.gov/pmc/articles/PMC7686239.Accessed9December2023.[Martins23]DanielMartins,unnamedcontributor.“AppleInThe1990s:WhyItNearlyWentBankrupt.”TheArenaGroupHoldings,10February2023,www.thestreet.com/apple/news/apple-in-the-1990s-why-it-nearly-went-bankrupt.Accessed10December2023.[Melanson11]MikeMelanson.“Google’sYouTubeUsesFFmpeg.”8February2011,multimedia.cx/eggs/googles-youtube-uses-ffmpeg.Accessed9December2023.[Menabrea1842]L.F.Menabrea,AdaAugustaLovelace, SketchofTheAnalyticalEngineInventedbyCharlesBabbage in Biblioth è queUniverselledeGen è ve ,October1842,No.82.Re-publishedatwww.fourmilab.ch/babbage/sketch.html.Accessed12November2023.[Microsoft14]Microsoft,“WindowsNTSystemOverview.”Microsoft,20February2014,learn.microsoft.com/en-us/previous-versions/cc767881(v=technet.10).Accessed14November2023.[Microsoft21]Microsoft.“CKeywords.”Microsoft,20September2021,learn.microsoft.com/en-us/cpp/c-language/c-keywords.Accessed10December2023.[Microsoft22]Microsoft,“GetStartedwithWin32andC++.”Microsoft,27January2022,learn.microsoft.com/en-us/windows/win32/learnwin32/learn-to-program-for-windows.Accessed14November2023.[Microsoft23a]Microsoft.“MakeolderappsorprogramscompatiblewithWindows.”Microsoft,2023,support.microsoft.com/en-us/windows/make-older-apps-or-programs-compatible-with-windows-783d6dd7-b439-bdb0-0490-54eea0f45938.Accessed8December2023.[Microsoft23b]Microsoft.“Tutorial:SSHinWindowsTerminal.”Microsoft,28September2023,learn.microsoft.com/en-us/windows/terminal/tutorials/ssh.[Microsoft23c]Microsoft.“HowtoinstallLinuxonWindowswithWSL.”Microsoft,28October2023,learn.microsoft.com/en-us/windows/wsl/install.Accessed10December2023.[Microsoft23d]Microsoft.“WSL2-Linux-Kernel.”Github,6October2023,github.com/microsoft/WSL2-Linux-Kernel.Accessed10December2023.[Microsoft23e]Microsoft.“C#Keywords.”Microsoft,22April2023,learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords.Accessed10December2023.[Miller22]StephanMiller.“HowAreC,C++,C#,andObjective-CDifferent?”Codecademy,4March2022,www.codecademy.com/resources/blog/c-vs-cplusplus-vs-csharp-vs-objective-c.Accessed9December2023.[MinGW23]www.mingw-w64.org.Accessed10December2023.[Mozilla23]Mozilla.“[JavaScript’s]Lexicalgrammar.”Mozilla,2023,developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#keywords.Accessed10December2023.[Nather83]EdNather,“ThestoryofMel,”in TheJargonFile .21May1983,stuff.mit.edu/afs/sipb/user/marc/stuff.athena/jargon/jargon2910.ascii.gz.Accessed11November2023.[Nelson63]R.A.Nelson;K.MLovitt,“HistoryofTeletypeDevelopment.”TeletypeCorporation,October1963.Re-publishedatweb.archive.org/web/20201105231651/http://www.thocp.net/hardware/history_of_teletype_development_.htm.Accessed11November2023.[NetBSD23]netbsd.org.Accessed15November2023.[Nicas22]JackNicas,“AppleBecomesFirstCompanytoHit$3TrillionMarketValue.”TheNewYorkTimes,3January2022,www.nytimes.com/2022/01/03/technology/apple-3-trillion-market-value.html.Accessed13November2023.[OpenBSD23]openbsd.org.Accessed15November2023.[OpenWRT23]OpenWRT.“OpenWRTHardwareList.”OpenWRT,2023,openwrt.org/docs/techref/hardware/list.Accessed8December2023. 9 [Pereira17]RuiPereira,MarcoCouto,FranciscoRibeiro,RuiRua,J á comeCunha,Jo ã oPauloFernandes,Jo ã oSaraiva.“EnergyEfficiencyacrossProgrammingLanguages:HowDoEnergy,Time,andMemoryRelate?”AssociationforComputingMachinery,23–24October2017,greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf.Accessed11December2023.[Post83]EdPost,“RealProgrammer’sDon’tUsePascal.” Datamation, Volume29,Number7,July1983.Re-publisheddigitallyatwww.usm.uni-muenchen.de/˜hoffmann/roff/tmp/rpdup.pdf;www.pbm.com/˜lindahl/real.programmers.html;www.ecb.torontomu.ca/˜elf/hack/realmen.html.Accessed11November2023.[Python23]PythonSoftwareFoundation. ThePythonLanguageReference, “Lexicalanalysis.”PythonSoftwareFoundation,2023,docs.python.org/3/reference/lexical_analysis.html#identifiers.Accessed10December2023.[Reimer05]JeremyReimer.“Totalshare:30yearsofpersonalcomputermarketsharefigures.”WIREDMediaGroup,14December2005,arstechnica.com/features/2005/12/total-share.Accessed11December2023.[Reinhold06]ArnoldReinhold.“PunchcardfromatypicalFortranprogram.”WikimediaCommons,11May2006,commons.wikimedia.org/wiki/File:FortranCardPROJ039.agr.jpg.Accessed10December2023.[Reinhold14]ArnoldReinhold.“TeletypeCorporationASR-33ondisplayattheComputerHistoryMuseum.”WikimediaCommons,2February2014,commons.wikimedia.org/wiki/File:ASR-33_at_CHM.agr.jpg.Accessed10December2023.[Reisinger16]DonReisinger.“SteveJobsSoldNeXTtoApple20YearsAgoToday.”FortuneMediaIPLimited,20December2016,fortune.com/2016/12/20/apple-next-anniversary.Accessed10December2023.[Ritchie74]DennisM.Ritchie,KenThompson,EricA.Brewer,“TheUnixTime-SharingSystem”in CommunicationsoftheACM, July1974,Volume17,Number7.Re-publishedatlandley.net/history/mirror/unix/unix.pdf.Accessed12November2023.[Ritchie75]DennisM.Ritchie, CReferenceManual. BellLaboratories,May1975.Re-publishedatdoc.cat-v.org/unix/v6/operating-systems-lecture-notes/v6/doc/c.psandwww.tuhs.org/cgi-bin/utree.pl?file=V6/usr/doc/c.[Ritchie76]DennisM.Ritchie,“TheUNIXTime-sharingSystem—ARetrospective.”BellLaboratories,January1977,www.bell-labs.com/usr/dmr/www/retro.pdf.Accessed8December2023.[Ritchie84]DennisM.Ritchie,“TheEvolutionoftheUnixTime-sharingSystem”in AT&TBellLaboratoriesTechnicalJournal63No.6Part2 ,October1984,pp.1577-1593.Re-publishedatread.seas.harvard.edu/˜kohler/class/aosref/ritchie84evolution.pdf.Accessed12November2023.[Ritchie93]DennisM.Ritchie,“TheDevelopmentoftheCLanguage.”AssociationforComputingMachinery,April1993,www.bell-labs.com/usr/dmr/www/chist.pdf.Accessed11November2023.[Ritchie99]DennisM.Ritchie,“UnixProgrammer’sManual,November3,1971.”BellLaboratories,11January1999,www.bell-labs.com/usr/dmr/www/1stEdman.html.[SQLite22]SQLite.“MostWidelyDeployedandUsedDatabaseEngine.”SQLite,8January2022,www.sqlite.org/mostdeployed.html.Accessed9December2023.[Salus94a]PeterH.Salus. AQuarterCenturyofUNIX. Addison-WesleyPublishing,1994,p.171.[Salus94b]PeterH.Salus. AQuarterCenturyofUNIX. Addison-WesleyPublishing,1994,pp.222–225.[Shirriff19]KenShirriff.“IconicconsolesoftheIBMSystem/360mainframes,55yearsold.”April2019,www.righto.com/2019/04/iconic-consoles-of-ibm-system360.html.Accessed10December2023.[Singh03]AmitSingh.“WhatisMacOSX?”December2003,web.archive.org/web/20120514135706/http://osxbook.com/book/bonus/ancient/whatismacosx/history.html.Accessed10December2023.[Singh06]AmitSingh, MacOSXInternals:ASystemsApproach. AddisonWesley,19June2006.[Sommers00]ThomanM.Sommers.“FrequentlyAskedQuestionsforFreeBSD2.X,3.Xand4.X.”2000,web.archive.org/web/20001027104103/http://home.ptd.net/˜tms2/hello.html.Accessed9December2023. 10 [Stallman11]RichardStallman,“TheoriginofthenamePOSIX.”11May2011,stallman.org/articles/posix.html.Accessed13November2023.[StatCounter23a]StatCounter.“OperatingSystemMarketShareWorldwide-November2023.”StatCounter,December2023,gs.statcounter.com/os-market-share#monthly-202211-202311.Accessed8December2023.[StatCounter23b]StatCounter.“BrowserMarketShareWorldwide-November2023.”StatCounter,December2023,https://gs.statcounter.com/browser-market-share/.Accessed9December2023.[TIOBE23]TIOBESoftwareBV.“TIOBEIndexforNovember2023.”TIOBESoftwareBV,December2023,www.tiobe.com/tiobe-index.Accessed9December2023.[TUG23]TeXUser’sGroup.“Web2c.”February2022,tug.org/texinfohtml/web2c.html.Accessed10December2023.[Thompson05]KenThompson;JohnMashey;YanRosenshteyn,“Thompson,Kenoralhistory.”ComputerHistoryMuseum,8February2005,computerhistory.org/collections/catalog/102657921.Accessed20October2023.[Thompson71a]KenThompson,DennisM.Ritchie,“Section1Part1”in UnixProgrammer’sManual. BellLaboratories,3November1971,www.bell-labs.com/usr/dmr/www/man11.pdf.[Thompson71b]KenThompson,DennisM.Ritchie,“Section1Part2”in UnixProgrammer’sManual. BellLaboratories,3November1971,www.bell-labs.com/usr/dmr/www/man12.pdf.[Thompson71c]KenThompson,DennisM.Ritchie,“Introduction”in UnixProgrammer’sManual. BellLaboratories,3November1971,www.bell-labs.com/usr/dmr/www/manintro.pdf.[Treat05]AdamTreat,“Qt4-preview-feedbackArchive,February2005mkspecsandpatchesforLLVMcompileofQt4.”19February2005,http://lists.trolltech.com/qt4-preview-feedback/2005-02/msg00691.html.Accessed14November2023.[Turing36]AlanM.Turing,“OnComputableNumbers,WithAnApplicationtotheEntscheidungsproblem.”12November1936.Re-publishedatwww.cs.virginia.edu/˜robins/Turing_Paper_1936.pdf.Accessed12November2023.[VCF19]VintageComputerFederation;KenThompson;BrianW.Kernighan,“KenThompsoninterviewedbyBrianKernighanatVCFEast2019.”YouTube,6May2019,youtube.com/watch?v=EY6q5dv_B-o.Accessed20October2023.[WG1407]JointTechnicalCommittee1,Subcommittee22,WorkingGroup14,ISO/IEC9899:TC3 CommitteeDraft(C99withTechnicalCorrigendum1,2,and3). ISO/IEC,7September2007,www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf.Accessed11November2023.[WG1421]WG14.“ISO/IECJTC1/SC22/WG14-C.”ISO/IEC,25November2021,www.open-std.org/jtc1/sc22/wg14.Accessed10December2023.[Ward23]KeithWard,“ABriefHistoryofMicrosoftWindows.”Lifewire,9February2023,www.lifewire.com/brief-history-of-microsoft-windows-3507078.Accessed14November2023.[Waterman19]AndrewWaterman;KrsteAsanovi ć , TheRISC-VInstructionSetManualVolumeI:UnprivilegedISA. RISC-VInternational,13December2019,riscv.org/wp-content/uploads/2019/12/riscv-spec-20191213.pdf,pp.18.Accessed11November2023.[X3J1198]X3J11, RationaleforInternationalStandard-ProgrammingLanguage-C. ANSI,22Jan1998,www.open-std.org/JTC1/SC22/WG14/www/docs/n802.pdf.Accessed11November2023.[Zaretskii99]EliZaretskii.“TheDJGPPProject.”July1999,www.delorie.com/djgpp/doc/eli-m17n99.html.Accessed9December2023. WhoandWhen KianAliAghelikaa@disroot.orgkaa.neocities.org2024January13