AnIntroduction
Here’saslightlycorrelatedsetofessaysI’vewritten.Refer-
encesareprovidedinthestyleoftheAmericanMathematical
Society.ThisdocumentisprovidedinPDF,HTML,andplain
textualformats.ThePDFcontainsactuallinksateachrefer-
ence,andatypefacemuchlessexposedthanTimesNewRo-
man.TheHTMLismostlySVG,correspondingsocloselyto
thePDFit’sgeneratedfromthatthesourcePDFmaybenearly
re-constructedusingthebrowser’sprintingfeatures.Thiscon-
versionhasthebenefitofsuitingthemodernwebbrowser.The
plaintextfileisprovidedforthesakeofaccessibility,atthe
costoflegibility.
I’dbepleasantlysurprisedtoreceiveeitherpositiveornega-
tivefeedback.Mycontactinformationisattheveryend,past
thelongbibliography.
TheImpactoftheCProgrammingLanguageonthePast50
YearsofComputing
TheCProgrammingLanguagewasinitiallydevelopedbetween
1969and1979.Itwasfurtherrefinedwhenstandardizedbythe
AmericanNationalStandardsInstitutein1989.Inthetwenty
yearsbetweenbirthandstandardization,Cbecamethedomi-
nantprogramminglanguage,shapingtheenvironmentsiten-
teredandtheprogrammerswhousedit.Inthetimebetween
ANSIstandardizationandnow,themajorityofcomputingsys-
temshavebeendesignedtoleverageC.
Aprogramminglanguageisaformatforexpressinglogic.
Theprogramminglanguagethatacomputernativelyunder-
stands,calledan“instructionset,”iscomposedofminuscule
operations.Acrossallkindsofdigitalcomputers,theseallow
forlogicalevaluation,performanceofarithmetic,management
ofinformation,andgeneralhardwarecontrol[Intel23],[Arm
21],[Waterman19].
Theseinstructionsareexpressedinbinarydigits,commonly
contractedto“bits”[Mackenzie80].Unlikeadecimaldigit,
whichmaybeawholevaluebetween0and9,abitmaybeeither
0or1.Indigitalcomputing’sinfancy,seriesofthesewereman-
ually“toggledin”[Post83],usingphysicalswitchesandbut-
tons.Savefortheoriesputonpaper,suchastheworksofAda
Lovelace[Menabrea1842]andAlanTuring[Turing36],this
wasthefirstformofcomputerprogramming.
Ashardwareandsoftwarebothadvanced,programmersbe-
cameabletowriteprogramstextually.Theywouldphysi-
callyinteractwithateleprinter,essentiallyatypewriterwhich
wouldsendkeystrokestoandprintoutputfromacomput-
er.Theywoulddigitallyinteractwithsoftwaretomanageand
storeteleprinterinput,naturallynamed“texteditors.”Then,the
storedinputfromtheteleprinterwouldbepassedtoaprogram
calledan“assembler,”tofurtherinterpretthesavedinput.The
textualrepresentationsofcomputerinstructions,suchas“NOT
A,”wouldbeencodedasrealcomputerinstructions,suchas
“0010000101101010”[Nelson63],[Ritchie99],[Thomp-
son71a],[Thompson71b],[Thompson71c].Thetextwhich
programmerswouldprovidetoassemblerscametobecalled
“assemblylanguage.”[IBM92].
Assemblylanguagedirectlycorrelatestoacomputer’sin-
structionset,meaningthattheprogrammermusttextually
manageeachoperationinaprogram.Doingsoislesstedious
thanflippingswitcheshundredsoftimesover,butstillte-
dious[Nather83],[Post83].Computerscientistsfoundthat
acomputermayinsteadbeprovidedatextwhichvaguelyde-
scribestheintendedlogicofaprogram.Thoughthecomputer
hasbeenprovidedlessinformation,itmayhaveenoughtopro-
duceareasonabletranslationoftheabstractprogramtoits
owninstructionset.Asopposedtoanassembler,thesoftware
whichperformsthiskindofinterpretationiscalleda“compil-
er”[Aho14].
2
Figure1.Top:thecontrolpanelofanearlydigitalcomput-
er,designedtobeprogrammedthroughthetogglingofseveral
switches[Shirriff19].Middle:ATeletype-brandedteleprinter
[Reinhold14].Bottom:Apunchcard,atatimethemosteco-
nomicalmethodofstoringprogramdata[Jones22].
Compilingaprogramfromanabstract—“high-level”—
languageiscomparabletotranslatingexpressionsfromonehu-
manlanguagetoanother:itmaybedone,loosely[Aho14].
Withthislossinaccuracycomestwobenefits:programsmay
bewritteninlesstime,andstructuredtoreadclosertohuman
language;andprogramsmaybeinterpretedwithsimilarlogi-
calmeaningsonarchitecturallydifferentcomputers.Theseben-
efitsaresostrongthatthevastmajorityoftoday’ssoftware
iswritteninhigh-levelprogramminglanguages[TIOBE23],
[Backus56].
Cwasamongthelanguagesdevelopedtotransitionfrompro-
gramminginassemblytoahigh-levellanguage[Backus56],
[Ritchie93].ItbeganitsdevelopmentatBellLaboratories,a
subsidiaryofAT&T,“asasystemimplementationlanguagefor
thenascentUnixoperatingsystem”[Ritchie93].Unixwasaset
ofsoftwaretoenableasingularcomputertorunmultiplepro-
gramsconcurrently—asopposedtooneatatime.Further,it
fulfilledthebasicinfrastructureneededtomakehardwareac-
cessibleinsoftware[Ritchie74],[Ritchie84].
#include<stdio.h>
int
main()
{
puts("Hello.");
return0;
}
.data
msg:.asciz"Hello.\n"
len=.-msg-1
.text
.global_start
_start:
pushl$len
pushl$msg
pushl$1
movl$4,%eax
calldo_syscall
addl$12,%esp
pushl$0
movl$1,%eax
calldo_syscall
do_syscall:
int$0x80
ret
Figure2.Left:AtrivialprogramwritteninCforprinting“Hel-
lo.”tothescreen.Writtenbytheauthor.Right:Aprogram
writteninAssemblyforthesamepurpose.Itassumesaspe-
cificversionofmodernUnixandaPC-architecturecomputer.
Adaptedfrom[Sommers00].
UnixandCweredesignedaroundeach-other.Cwasde-
signedtoleveragethehardwareabstractionsprovidedbyUnix,
andmuchofUnixitselfcametobewritteninC[Ritchie93].
ThisbondallowedCandUnixtoformthefirst“portable”pro-
grammingenvironment.Insuchanenvironment,programs
writtenforonesetofhardwaremayrunlargelyorwhollyun-
modifiedonanothersetofhardware[Johnson78].Unixand
C—andmanyprogramswritteninCtorunontopofUnix
—couldthenbeportedtoanewmachinewithrelativeease.
“[T]houghoriginallyunplanned,”Unix’sauthorsdiscoveredit
“tobepossibletoproduceanoperatingsystemandsetofsoft-
warethatrunsonseveralmachinesandwhoseexpressionin
sourcecodeis,exceptforafewmodules,identicaloneachma-
chine”[Ritchie76].
DespiteCandUnixformingarevolutionaryproduct,they
weredistributedliberallytouniversities.AT&Twasnotobliv-
ioustoC’svalue,howevertheirhandwasforced.CandUnix
weretobedistributedliberally,ornotdistributedatall.
AT&Theldagovernment-sanctionedmonopolyonthe
UStelephonesystem.ThetermsofAT&T’sagree-
mentwiththeUSgovernmentpreventeditfromselling
software,whichmeantthatitcouldnotsellUNIXasa
product.Instead,beginningin1974withFifthEdition,
andespeciallywithSixthEdition,AT&Tlicensed
UNIXforuseinuniversitiesforanominaldistribu-
tionfee.…AT&T’sreleaseofUNIXintouniversi-
tiesgreatlycontributedtothepopularityanduseofthe
operatingsystem,andby1977,UNIXwasrunningat
some500sites,including125universitiesintheUnited
Statesandseveralothercountries.[Kerrisk10]
DuetoCandUnix’sbondedsuccess,intandemwithanaf-
fordableprice,Cbecamethepreferredprogramminglanguage
3
ineducation.
Thislibertyindistributionledtoseveralderivativeversions
ofUnix.AtUniversityofCalifornia,Berkeley,Unixwasmodi-
fiedandre-writtenoverseveralyears.Itbecameconsideredby
itsauthorsasanindependent,compatibleoperatingsystem.By
1983,thesystemhadbecomeasubstantialsupersetofUnix.
The“BerkeleySoftwareDistribution”itselfbecamealicensed
product,eventuallythebasisfor“[s]everalcommercialOSes
[operatingsystems]”[Salus94a].
Come1988,independentrecreationsofUnixhadbeenre-
leased,undertotallyfreeterms.Theywerelargelycompatible
withUnix,butcontainednoactualUnixsourcecode.These
couldbedistributedwithoutrestriction.Thiswasinstarkcon-
trasttoAT&T’sselectivelicensingtouniversities.Following
legaldisputewithAT&T,BerkeleySoftwareDistributionit-
selfbecamefreetodistribute,spawningtheBSDfamilyofop-
eratingsystems[Salus94b],[OpenBSD23],[NetBSD23],
[FreeBSD23].AsUnixbecamebothfeature-richandfreetoli-
cense,itsinfluencespreadfurther.Bynecessity,whereUnix
anditsderivativeswent,Cwenttoo.
AsCbecameincreasinglypopularoutsideofBellLabs,“it
wasclearthatCneededformalstandardization”[Ritchie93].
Thelanguageinformallydocumenteddidnotwhollymatch
thelanguageinuse[Kernighan78][Ritchie75].Asof1989,
CbecameformallystandardizedbytheAmericanNational
StandardsInstitute[ANSI89],[X3J1198].Thisformalstan-
dardbecameintegraltothecontinuedgrowthofC’spopulari-
ty.“[T]heincipientuseofCinprojectssubjecttocommercial
andgovernmentcontractmeantthattheimprimaturofanoffi-
cialstandardwasimportant”[Ritchie93].Separately,C’ssister
project,Unix,becamestandardized[IEEE07],[Harbour01],
[Stallman11].
Thanksinlargeparttotheirstandardization,UnixandChave
beenimplementedandre-implementedseveraltimes.Mod-
ernversionsofUnixcontinuetobedesignedinC[Linux23],
[OpenBSD23],[NetBSD23],[FreeBSD23],[Illumos23].
Oncomputerswhichprovideservicesenmasse—publicac-
cesswebsites;e-mailservers—thesearego-tochoices[Stat-
Counter23a],[Fortune23].Thesmallcomputersthatmanage
homeinternetconnectionsoftenusethesameorsimilarin-
frastructure[Dunn18],[OpenWRT23].Inessence,Unix’sde-
scendantsenabletheinternetasweknowittoday,andthey
themselvesareenabledbyC.
Operating
System
ServerMarketShare(in%)
Windows25.1
Linux62.4
UNIX5.1
Other7.4
Figure3.Marketshareofoperatingsystemsforserveruse[For-
tune23].“Linux”isaspecificderivativeofUnix.“UNIX,”as
writtenintheprovideddata,generallyreferstoBSD-derived
Unix.ThedistinctionisarguablymadeduetoLinux’sover-
whelmingpopularity.
Moregenerally,CandUnixhavebecomeintegraltocom-
mercialsoftwaredevelopment.Amongtoday’smostaffluent
softwarecompanies,Apple[Nicas22]hasbeenusingC-de-
rivedlanguagessincetheiracquisitionofNeXTSTEPin1997
[Singh06].NeXTSTEPwasaBSD-derivedoperatingsys-
tem.Itwasdesignedinasuper-setofCnamedObjective-C.At
thetimeoftheacquisition,Apple’sMacintoshlineofcomput-
erswereinneedofnewsystemsoftware.Theyproceededto
useNeXTSTEP—implementedinCandborrowingportions
ofUnix—asthebasisfortheiradvancement[Reisinger16],
[Singh06],[Singh03],[Edwards20].Yearsaftertheacquisi-
tion,itbecamethebasisforthesoftwarebehindtheiPhone[Ap-
ple23a],[Garling12].
BeforeacquiringNeXTSTEP,Applewasnearbankruptcy.
NeXTSTEPsavedthem,andtheyhavesinceflourished.Inpar-
ticular,the2007releaseoftheiPhoneearnedAppleenormous
success[Martins23].Today,theiPhoneitselfisnowuncon-
troversiallycalledoneofthemostrevolutionaryproductsof
ourtime[Leswing19],[Eadicicco17].It’snotastretchtosay
thatCwasandcontinuestobeintegraltothatsuccess.Accord-
ingly,ApplehasinvestedheavilyintheirC-basedinfrastruc-
ture,fundingthedevelopmentofanewsetofcompilersoftware
[Treat05],[Apple12],[Apple23b].
Microsoft,acompanywhichgenuinelycompeteswithApple
for“World’sMostValuableCompany”[Klebnikov21],has
similartiestoC.Theirpremiersoftwareproduct,Windows
[Ward23],hasbeenwritteninCsince1995[Microsoft14].
Inthequarter-centurysincethen,Microsofthasmaintaineda
compatiblesoftwareenvironment.Asidefromotherfeatures
[Microsoft23a],thisallowsyears-oldprogramstorunlargely
orwhollyunmodifiedonMicrosoft’slatestiterationsofWin-
dows[Finck20],[Microsoft22].
Individualprograms,lesserinscopethanoperatingsystems,
areoftenwritteninCbecauseofitsubiquity.Programmersin-
tendingtowriteaccessible,performantsoftwareresorttoit.
4
NotableexamplesincludeGoogle’sChrome,themostpopu-
larwebbrowser[StatCounter23b];ffmpeg,anexceedingly
popularvideoprocessingsolution[Melanson11],[Maki20],
[Larabel15];SQLite,asetofsoftwareincludedinamajority
ofconsumercomputers[SQLite22];andOpenSSH,thenet-
workedcomputerlog-inutilitybundledwithmostoftoday’s
laptops[Microsoft23b],[Loder22].Programsoriginallywrit-
teninlanguagesotherthanC,butthatneedportability,maybe
machine-translatedtoC.Thishasbeenmostnotablydonewith
TeX[TUG23],aprogramfordigitaldocumenttypesetting,
popularlyusedforacademicpapers[CTAN23],[Beeton18].
C’sportabilityistheresultofseriouseffort.Asidefromthe
workofstandardscommittees,Chasbeenwedgedintoenviron-
mentsfardifferentfromUnix.Forthesakeofportingprograms
writteninC—“agooddealofinterestingsoftware”asearlyas
1976[Ritchie76],subsetsofUnixwouldbeimplementedon
otheroperatingsystems.
AsMicrosoft’soperatingsystemstookholdinthehome
computermarket,thedesiretoportCprogramstothemtook
holdjustasfirmly.Forthispurpose,Unixwasfirstgraftedon
topofMS-DOSbeginningin1989[Zaretskii99].AsMS-DOS
wasreplacedbyWindows,thatworkwascarriedover,resulting
inamultitudeofprojects.Mostprominently,Cygwinallows
alargeportionofstandards-compliantUnixprogramstorun
withoutmodification.ItmapsUnixfeaturestoWindowsfea-
tures,andthoseUnixfeatureswhichhavenoanalogueareemu-
lated[Cygwin22].[MinGW23].
Theseprojectsenabledprogrammerstowriteprogramsto
runonallthreeofthepopularsoftwareplatforms—Apple’s
BSD-basedMacintosh,IBM’sPCandderivativesrunningMi-
crosoft’sWindows,andthehardware-agnosticUnixservers
[Reimer05].Theseprojectsbecameintegraltothefurthering
ofWindows’ssoftwarelibrary.Microsoftdecidedtofurther
theeffortforportabilityofC,bymeansoftheWSLproject.
WhilethepreviousmethodsrequireUnixsoftwaretobewholly
re-compiledforWindows,Microsoft’ssolutionprovidesafull
Unixenvironment[Microsoft23c],[Microsoft23d].
Year20232018201320082003199819931988
Python1486112422-
C22122111
C++33433224
Java4121118--
C#55589---
JavaScript6899821--
VisualBasic718------
PHP87656---
SQL988--7---
Assembly1013------
Ada24312220161673
Objective-C271234148---
Lisp30291417151082
(Visual)Basic--745337
Figure4.Estimatedandaveragedprogramminglanguagepop-
ularityoverthecourseofagivenyear,from1988through2023
[TIOBE23].“1”marksthefirstmostpopular,“30”marksthe
30thmostpopular.“(Visual)Basic”and“VisualBasic”arein-
tentionallydistinct.Theformerreferstoanowsplitfamilyof
languages.Thelatterreferstoaspecificlanguagefromthat
split.Forthesakeofcolumnwidth,“AssemblyLanguage”has
beentruncatedto“Assembly.”
C’sinfluencehaspermeatedtheevolutionofprogramming
languages.Thehigh-levelprogramminglanguageswhichrival
C’spopularity[TIOBE23]borrowheavilyfromitsappear-
anceandsemantics.BrieflyanalyzingFigure4,itisonlythese
languageswhichhavepopularlyflourishedforthepasttwo
decades.C++isadirectderivativeofC.JavaresemblesCclose-
ly,tothepointatwhichvalidCisnearlyvalidJava.Pythonand
C#eachtakebasicsyntaxfromC.JavaScriptisintendedtobe
Cforthewebbrowser[Miller22],[Ezick02].Thesearetheno-
tablemarketcompetitors.Evidently,Cshapedthemarketfor50
yearspastitsinception.
whilereturnbreakcontinue
ifelsefor
Figure5.KeywordswithsimilarsemanticsinC,Python,
C++,Java,C#,andJavaScript[Microsoft23e],[Microsoft21],
[Mozilla23],[Python23].Despitebeingdistinctlanguages,
someoftheirsemanticsaresimilar.
C’spopularityhaswarrantedcontinuedextensionandstan-
dardization.Thoughthe1989standardremainsde-facto,Chas
beencontinuallystandardizedbytheInternationalOrganiza-
tionforStandardizationandtheInternationalElectrotechnical
Commission[WG1421].Chasbeengrownfromasingular
languagetoafamilyoflanguages.Thisgrowthblursthelines
betweenCanditscontemporaries,bringingmodernconsidera-
tionsintotheoldlanguage’sdesign.
AsopposedtolanguagesdistinctfromC,newlystandardized
versionsofChavethebenefitofitsexistingsoftwareinfras-
tructure.Thatinfrastructurehasbeenhonedoverhalfofacen-
tury.Theauthorsoflanguagesoperatinginthesamemarketas
Chavealoftygoal:tobeat50yearsofpre-builtsoftware,doc-
5
umentation,andcompilerimprovement.Particularly,programs
writteninCareasfastandefficientashigh-levelprogramsmay
be.IftherearebetterwaysofgeneratingcodethanmodernC
compilersperform,wedon’tknowofthem.Bycomparison,
mostotherlanguagesandtheircompilersaregrosslyinefficient
[Pereira17].
1.C,Pascal,Go
2.Rust,C++,Fortran
3.Ada
4.Java,Chapel,Lisp,Ocaml
5.Swift,Haskell,C#
6.Dart,F#,Racket,Hack,PHP
7.JavaScript,Ruby,Python
8.TypeScript,Erlang
9.Lua,JRuby,Perl
Figure6.Themeasuredenergy,time,andmemoryefficiencyof
programminglanguages,rankedintodistincttiers[Pereira17].
Cisinthetoptier,andthefirstinitsclass.
Ciseverywhere.It’sthebasisforsoftwareinhomecomput-
ers,cellphones,Wi-Firouters,andwebservers.Thosecate-
goriesarguablyspanthemajorityofcomputingsystemspeople
interactwithtoday.DespiteC’subiquity,itisnottrivial.The
timebeforeC’sstandardizationhadnosimilarlanguage.The
timesincehasproducedderivatives,butnoreplacement.Be-
foretheadventofthesederivatives,Chadbecomesouniversal
astobea“linguafranca”amongprogramminglanguages[Arm-
strong14].Modernandpopularcompetitionremainsstruc-
turallyandsyntacticallysimilar.
ThepopularityofprogramminglanguagesderivedfromCis
comparabletothepopularityofnaturallanguagesderivedfrom
Latin.Ineachcase,thederivativesareunique,butsimilar
enoughtobestructurallyandsometimesliterallycompatible.
Thegapingholeinthatcomparisonisthat,quiteunlikeLatin,
Cisverymuchalivinglanguage.Nocomputingsystemiscom-
pletewithoutit.
ThisessaywasoriginallywrittenforanEnglish101class.It
waswrittenthroughoutFallof2023,andsubmittedDecember
11,around4inthemorning.Ithasbeenpublishedherewith
smallalterations.
ModernTypographicTroubles
Alltextsubscribestoastyle.Handwrittentextisoftendrawn
withlittledesign.Mostofthetextweseetodayismechanically
drawn,asopposedtomanually.Thiskindoftextisreferredto
astypeset,andthestyleitadherestoisreferredtoasatypeface.
Digitaltypesettinghasbecomeacommonpractice.Desirable
digitaltypefacesaccessibletoself-publishershavebecomefew
andfarbetween.Typesettingsoftwarepackageswithrelatively
high-qualityoutputremainimperfectsolutions.
FileSystemandOperatingSystemCompatibilities
MicrosoftFAT32hasbeensupercededbyNTFS.
6
Bibliography
[ANSI89]AmericanNationalStandardInstitute;
InternationalOrganizationfor
Standardization,
AmericanNationalStandard
forProgrammingLanguages–C;ANSI/ISO
9899-1990.
InternationalOrganizationfor
Standardization,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
®
A64InstructionSet
ArchitectureArmv8,forArmv8-Aarchitecture
profile,
p.2.ArmLimited,March
2021,documentation-service.arm.com/static/
606ef2575e70d934bc69e1bf.Accessed11
November2023.
[Armstrong14]JoeArmstrong.“TheMessWe’reIn.”
StrangeLoopConferenceviaYouTube,19
September2014,https://www.youtube.com/
watch?v=lKXe3HUG2l4&t=1149.Accessed
11December2023.
[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,“TheFORTRAN
AutomaticCodingSystemfortheIBM704
EDPM:Programmer’sReferenceManual.”
IBM,15October1956.Re-publishedat
archive.computerhistory.org/resources/text/
Fortran/102649787.05.01.acc.pdf.Accessed
8December2023.
[Beeton18]BarbaraBeeton,KarlBerry,DavidWalden.
“TeX:ABranchinDesktopPublishing
Evolution,Part1,”in
Annalsofthe
HistoryofComputing,
vol.40,no.3,pp.
78–93.July–September2018.Peer-reviewed
manuscriptpublishedatwww.walden-
family.com/ieee/texhistory.html.Accessed9
December2023.
[CTAN23]ComprehensiveTeXArchiveNetwork.“What
areTeXanditsfriends?”2023,ctan.org/tex.
Accessed9December2023.
[Cygwin22]Cygwinauthors.
CygwinUser’sGuide,
,
pp.1–2.27January2022,cygwin.com/
cygwin-ug-net/cygwin-ug-net.pdf.Accessed9
December2023.
[Dunn18]JohnE.Dunn.“Mosthomerouterslack
simpleLinuxOShardeningsecurity.”
SophosLtd,20December2018,
web.archive.org/web/20230322194141/
https://nakedsecurity.sophos.com/2018/12/
20/most-home-routers-lack-simple-linux-
os-hardening-security.Accessed8
December2023.
[Eadicicco17]LisaEadicicco,“ThisIsWhytheiPhone
UpendedtheTechIndustry.”TIME,29
June2017,time.com/4837176/iphone-10th-
anniversary/.Accessed13November2023.
[Edwards20]BenjEdwards.“BeforeMacOSX:What
WasNeXTSTEP,andWhyDidPeople
LoveIt?”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.Accessed9
December2023.
[Finck20]ColinFinck.“WritingWin32appslike
it’s2020:Introduction.”ENLYZEGmbH,
30July2020,building.enlyze.com/posts/
writing-win32-apps-like-its-2020-part-1.
Accessed8December2023.
[Fortune23]FortuneBusinessInsights.
ServerOperating
SystemMarketVolume,Share&COVID-
19ImpactAnalysis,ByOperatingSystem
(Windows,Linux,UNIX,andOthers),
ByVirtualizationStatus(VirtualMachine,
Physical,andVirtualized),BySubscription
Model(Non-paidSubscriptionandPaid
Subscription),ByEnterpriseType(Large
EnterprisesandSmall&Medium
Enterprises),andRegionalForecast,2023-
2030.
FortuneBusinessInsights,May2023,
www.fortunebusinessinsights.com/server-
operating-system-market-106601.Accessed8
December2023.
[FreeBSD23]freebsd.org.Accessed15November2023.
7
[Garling12]CalebGarling,“iPhoneCodingLanguage
NowWorld’sThirdMostPopular.”WIRED,
9July2012,www.wired.com/2012/07/apple-
objective-c.Accessed14November2023.
[Google23a]GoogleLLC.“SetupforAndroid
Development.”GoogleLLC,2023,
source.android.com/docs/setup/about.
AccessedDecember2023.
[Google23b]TheChromiumAuthors.“Developer
InformationforChromeOSDevices.”Google
LLC,2023,www.chromium.org/chromium-
os/developer-information-for-chrome-os-
devices.Accessed9December2023.
[Harbour01]MichaelGonz
á
lezHarbour,“REAL-TIME
POSIX:ANOVERVIEW.”Universidad
deCantabriaDepartamentodeElectr
ó
nica,
16March2001,www.cs.unc.edu/˜anderson/
teach/comp790/papers/posix-rt.pdf.Accessed
13November2023.
[IBM92]IBM.
HighLevelAssemblerfor
z/
OS&z/VM&z/VSE
Language
ReferenceVersion1Release6.
IBM,
1992,https://publibz.boulder.ibm.com/
epubs/pdf/asmr1021.pdf.Accessed11
November2023.
[IEEE07]IEEE,
DraftStandardforInformation
Technology—PortableOperatingSystem
Interface(POSIX
®
)
.IEEE,2007,www.open-
std.org/jtc1/sc22/open/n4217.pdf.Accessed
13November2023.
[Illumos23]illumos.org.Accessed8December2023.
[Intel23]IntelCorporation.
Intel
®
64andIA-32
ArchitecturesSoftwareDeveloper’sManual
CombinedVolumes: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,“Portability
ofCProgramsandtheUNIXSystem”in
TheBellSystemTechinicalJournal
,Vol.57,
No.6,Part2,July–August1978,pp.2021-
2048.Re-publishedatwww.bell-labs.com/
usr/dmr/www/portpap.pdf.Accessed8
December2023.
[Jones22]DouglasW.Jones.“PunchedCardsfor
ComputerPrograms.”UniversityofIowa
DepartmentofComputerScience,5
December2022,homepage.divms.uiowa.edu/
˜jones/cards/collection/i-program.html.Date
derivedfromimagemetadata.Specifically,
from“821162IBM701code.jpg.”Accessed10
December2023.
[Kernighan78]BrianW.Kernighan,DennisM.Ritchie,
TheCProgrammingLanguage.
Prentice
Hall,1978.
[Kernighan88]BrianW.Kernighan;DennisM.Ritchie,
The
CProgrammingLanguage,SecondEdition.
PrenticeHall,1988.
[Kerrisk10]MichaelKerrisk,
TheLinuxProgramming
Interface.
NoStarchPress,2010.pp3–5.
[Klebnikov21]SergeiKlebnikov.“MicrosoftisNow
TheWorld’sMostValuableCompany
AfterAppleFallsOnEarnings.”Forbes
Media,29October2021,www.forbes.com/
sites/sergeiklebnikov/2021/10/29/microsoft-
is-now-the-worlds-most-valuable-company-
after-apple-falls-on-earnings.Accessed8
December2023.
[Larabel15]MichaelLarabel.“FirefoxEnablesFFmpeg
SupportByDefault.”PhoronixMedia,
15November2015,www.phoronix.com/
news/Firefox-FFmpeg-Default.Accessed9
December2023.
[Leswing19]KifLeswing,“TheiPhonedecade:How
Apple’sphonecreatedanddestroyed
industriesandchangedtheworld.”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.“HowtouseSSHforsecure
connectionsinmacOS.”QuillerMedia,
15December2022,appleinsider.com/
inside/macos/tips/how-to-use-ssh-for-secure-
connections-in-macos.Accessed9
December2023.
[Mackenzie80]CharlesEMackenzie,
CodedCharacterSets,
HistoryandDevelopment.
Addison-Wesley
PublishingCompany,1980,archive.org/
download/mackenzie-coded-char-sets/
Mackenzie_CodedCharSets_text.pdf,pp.12.
Accessed11November2023.
[Mahoney16]MichaelS.Mahoney,
AnOral
HistoryofUnix.
1January2016,
gromnitsky.users.sourceforge.net/lit/an-oral-
history-of-unix/book.pdf.Accessed12
November2023.
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.“TheMars2020Engineering
CamerasandMicrophoneonthePerseverance
Rover:ANext-GenerationImagingSystem
forMarsExploration,”excerptedfrom
The
NASAMars2020Mission:SeekingSigns
ofAncientLifeandPreparingforSample
Return
,p.37.Springer,24November
2020,www.ncbi.nlm.nih.gov/pmc/articles/
PMC7686239.Accessed9December2023.
[Martins23]DanielMartins,unnamedcontributor.“Apple
InThe1990s:WhyItNearlyWentBankrupt.”
TheArenaGroupHoldings,10February
2023,www.thestreet.com/apple/news/apple-
in-the-1990s-why-it-nearly-went-bankrupt.
Accessed10December2023.
[Melanson11]MikeMelanson.“Google’sYouTubeUses
FFmpeg.”8February2011,multimedia.cx/
eggs/googles-youtube-uses-ffmpeg.Accessed
9December2023.
[Menabrea
1842]
L.F.Menabrea,AdaAugustaLovelace,
Sketch
ofTheAnalyticalEngineInventedbyCharles
Babbage
in
Biblioth
è
queUniversellede
Gen
è
ve
,October1842,No.82.Re-published
atwww.fourmilab.ch/babbage/sketch.html.
Accessed12November2023.
[Microsoft14]Microsoft,“WindowsNTSystem
Overview.”Microsoft,20February
2014,learn.microsoft.com/en-us/previous-
versions/cc767881(v=technet.10).Accessed
14November2023.
[Microsoft21]Microsoft.“CKeywords.”Microsoft,20
September2021,learn.microsoft.com/en-
us/cpp/c-language/c-keywords.Accessed10
December2023.
[Microsoft22]Microsoft,“GetStartedwithWin32
andC++.”Microsoft,27January2022,
learn.microsoft.com/en-us/windows/win32/
learnwin32/learn-to-program-for-windows.
Accessed14November2023.
[Microsoft23a]Microsoft.“Makeolderappsorprograms
compatiblewithWindows.”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:SSHinWindows
Terminal.”Microsoft,28September
2023,learn.microsoft.com/en-us/windows/
terminal/tutorials/ssh.
[Microsoft23c]Microsoft.“HowtoinstallLinuxonWindows
withWSL.”Microsoft,28October2023,
learn.microsoft.com/en-us/windows/wsl/
install.Accessed10December2023.
[Microsoft23d]Microsoft.“WSL2-Linux-Kernel.”Github,6
October2023,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.Accessed10
December2023.
[Mozilla23]Mozilla.“[JavaScript’s]Lexicalgrammar.”
Mozilla,2023,developer.mozilla.org/
en-US/docs/Web/JavaScript/Reference/
Lexical_grammar#keywords.Accessed10
December2023.
[Nather83]EdNather,“ThestoryofMel,”in
TheJargonFile
.21May1983,
stuff.mit.edu/afs/sipb/user/marc/stuff.athena/
jargon/jargon2910.ascii.gz.Accessed11
November2023.
[Nelson63]R.A.Nelson;K.MLovitt,“History
ofTeletypeDevelopment.”Teletype
Corporation,October1963.Re-published
atweb.archive.org/web/20201105231651/
http://www.thocp.net/hardware/
history_of_teletype_development_.htm.
Accessed11November2023.
[NetBSD23]netbsd.org.Accessed15November2023.
[Nicas22]JackNicas,“AppleBecomesFirstCompany
toHit$3TrillionMarketValue.”The
NewYorkTimes,3January2022,
www.nytimes.com/2022/01/03/technology/
apple-3-trillion-market-value.html.Accessed
13November2023.
[OpenBSD23]openbsd.org.Accessed15November2023.
[OpenWRT23]OpenWRT.“OpenWRTHardwareList.”
OpenWRT,2023,openwrt.org/docs/techref/
hardware/list.Accessed8December2023.
9
[Pereira17]RuiPereira,MarcoCouto,Francisco
Ribeiro,RuiRua,J
á
comeCunha,Jo
ã
o
PauloFernandes,Jo
ã
oSaraiva.“Energy
EfficiencyacrossProgrammingLanguages:
HowDoEnergy,Time,andMemoryRelate?”
AssociationforComputingMachinery,
23–24October2017,greenlab.di.uminho.pt/
wp-content/uploads/2017/10/sleFinal.pdf.
Accessed11December2023.
[Post83]EdPost,“RealProgrammer’sDon’tUse
Pascal.”
Datamation,
Volume29,Number
7,July1983.Re-publisheddigitally
atwww.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.
The
PythonLanguageReference,
“Lexical
analysis.”PythonSoftwareFoundation,
2023,docs.python.org/3/reference/
lexical_analysis.html#identifiers.Accessed
10December2023.
[Reimer05]JeremyReimer.“Totalshare:30yearsof
personalcomputermarketsharefigures.”
WIREDMediaGroup,14December2005,
arstechnica.com/features/2005/12/total-
share.Accessed11December2023.
[Reinhold06]ArnoldReinhold.“Punchcardfromatypical
Fortranprogram.”WikimediaCommons,11
May2006,
commons.wikimedia.org/
wiki/File:FortranCardPROJ039.agr.jpg.
Accessed10December2023.
[Reinhold14]ArnoldReinhold.“TeletypeCorporation
ASR-33ondisplayattheComputerHistory
Museum.”WikimediaCommons,2February
2014,commons.wikimedia.org/wiki/
File:ASR-33_at_CHM.agr.jpg.Accessed10
December2023.
[Reisinger16]DonReisinger.“SteveJobsSoldNeXTto
Apple20YearsAgoToday.”FortuneMedia
IPLimited,20December2016,fortune.com/
2016/12/20/apple-next-anniversary.Accessed
10December2023.
[Ritchie74]DennisM.Ritchie,KenThompson,EricA.
Brewer,“TheUnixTime-SharingSystem”
in
CommunicationsoftheACM,
July
1974,Volume17,Number7.Re-published
atlandley.net/history/mirror/unix/unix.pdf.
Accessed12November2023.
[Ritchie75]DennisM.Ritchie,
CReferenceManual.
BellLaboratories,May1975.Re-published
atdoc.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.”Bell
Laboratories,January1977,www.bell-
labs.com/usr/dmr/www/retro.pdf.Accessed8
December2023.
[Ritchie84]DennisM.Ritchie,“TheEvolutionofthe
UnixTime-sharingSystem”in
AT&TBell
LaboratoriesTechnicalJournal63No.6
Part2
,October1984,pp.1577-1593.Re-
publishedatread.seas.harvard.edu/˜kohler/
class/aosref/ritchie84evolution.pdf.Accessed
12November2023.
[Ritchie93]DennisM.Ritchie,“TheDevelopmentof
theCLanguage.”AssociationforComputing
Machinery,April1993,www.bell-labs.com/
usr/dmr/www/chist.pdf.Accessed11
November2023.
[Ritchie99]DennisM.Ritchie,“UnixProgrammer’s
Manual,November3,1971.”Bell
Laboratories,11January1999,www.bell-
labs.com/usr/dmr/www/1stEdman.html.
[SQLite22]SQLite.“MostWidelyDeployedandUsed
DatabaseEngine.”SQLite,8January
2022,www.sqlite.org/mostdeployed.html.
Accessed9December2023.
[Salus94a]PeterH.Salus.
AQuarterCenturyofUNIX.
Addison-WesleyPublishing,1994,p.171.
[Salus94b]PeterH.Salus.
AQuarterCenturyof
UNIX.
Addison-WesleyPublishing,1994,pp.
222–225.
[Shirriff19]KenShirriff.“IconicconsolesoftheIBM
System/360mainframes,55yearsold.”
April2019,www.righto.com/2019/04/iconic-
consoles-of-ibm-system360.html.Accessed
10December2023.
[Singh03]AmitSingh.“WhatisMacOSX?”
December2003,web.archive.org/web/
20120514135706/http://osxbook.com/book/
bonus/ancient/whatismacosx/history.html.
Accessed10December2023.
[Singh06]AmitSingh,
MacOSXInternals:ASystems
Approach.
AddisonWesley,19June2006.
[Sommers00]ThomanM.Sommers.“Frequently
AskedQuestionsforFreeBSD2.X,3.X
and4.X.”2000,web.archive.org/web/
20001027104103/http://home.ptd.net/˜tms2/
hello.html.Accessed9December2023.
10
[Stallman11]RichardStallman,“Theoriginofthename
POSIX.”11May2011,stallman.org/articles/
posix.html.Accessed13November2023.
[StatCounter
23a]
StatCounter.“OperatingSystemMarketShare
Worldwide-November2023.”StatCounter,
December2023,gs.statcounter.com/
os-market-share#monthly-202211-202311.
Accessed8December2023.
[StatCounter
23b]
StatCounter.“BrowserMarketShare
Worldwide-November2023.”StatCounter,
December2023,https://gs.statcounter.com/
browser-market-share/.Accessed9
December2023.
[TIOBE23]TIOBESoftwareBV.“TIOBEIndexfor
November2023.”TIOBESoftwareBV,
December2023,www.tiobe.com/tiobe-index.
Accessed9December2023.
[TUG23]TeXUser’sGroup.“Web2c.”February2022,
tug.org/texinfohtml/web2c.html.Accessed10
December2023.
[Thompson05]KenThompson;JohnMashey;Yan
Rosenshteyn,“Thompson,Kenoralhistory.”
ComputerHistoryMuseum,8February2005,
computerhistory.org/collections/catalog/
102657921.Accessed20October2023.
[Thompson
71a]
KenThompson,DennisM.Ritchie,“Section
1Part1”in
UnixProgrammer’sManual.
Bell
Laboratories,3November1971,www.bell-
labs.com/usr/dmr/www/man11.pdf.
[Thompson
71b]
KenThompson,DennisM.Ritchie,“Section
1Part2”in
UnixProgrammer’sManual.
Bell
Laboratories,3November1971,www.bell-
labs.com/usr/dmr/www/man12.pdf.
[Thompson
71c]
KenThompson,DennisM.Ritchie,
“Introduction”in
UnixProgrammer’s
Manual.
BellLaboratories,3November
1971,www.bell-labs.com/usr/dmr/www/
manintro.pdf.
[Treat05]AdamTreat,“Qt4-preview-feedbackArchive,
February2005mkspecsandpatchesfor
LLVMcompileofQt4.”19February
2005,http://lists.trolltech.com/qt4-preview-
feedback/2005-02/msg00691.html.Accessed
14November2023.
[Turing36]AlanM.Turing,“OnComputable
Numbers,WithAnApplicationtothe
Entscheidungsproblem.”12November
1936.Re-publishedatwww.cs.virginia.edu/
˜robins/Turing_Paper_1936.pdf.Accessed12
November2023.
[VCF19]VintageComputerFederation;Ken
Thompson;BrianW.Kernighan,“Ken
ThompsoninterviewedbyBrianKernighan
atVCFEast2019.”YouTube,6May
2019,youtube.com/watch?v=EY6q5dv_B-o.
Accessed20October2023.
[WG1407]JointTechnicalCommittee1,Subcommittee
22,WorkingGroup14,ISO/IEC9899:TC3
CommitteeDraft(C99withTechnical
Corrigendum1,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.Accessed10
December2023.
[Ward23]KeithWard,“ABriefHistoryof
MicrosoftWindows.”Lifewire,9February
2023,www.lifewire.com/brief-history-of-
microsoft-windows-3507078.Accessed14
November2023.
[Waterman19]AndrewWaterman;KrsteAsanovi
ć
,
The
RISC-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,22
Jan1998,www.open-std.org/JTC1/SC22/
WG14/www/docs/n802.pdf.Accessed11
November2023.
[Zaretskii99]EliZaretskii.“TheDJGPPProject.”
July1999,www.delorie.com/djgpp/doc/eli-
m17n99.html.Accessed9December2023.
WhoandWhen
KianAliAgheli
kaa@disroot.org
kaa.neocities.org
2024January13