A História das Linguagens de Programação

59
A História das Linguagens de Programação Fernando Magno Quintão Pereira (apresentação extraída de slides de Adam Brooks Webber)

Transcript of A História das Linguagens de Programação

Page 1: A História das Linguagens de Programação

AHistóriadasLinguagensdeProgramação

FernandoMagnoQuintãoPereira(apresentaçãoextraídadeslidesde

AdamBrooksWebber)

Page 2: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 3: A História das Linguagens de Programação

Babilônia

•  Escritacuneiforme:1790BC•  Tábuasdeargilaaindaexistem:– Poemaseestórias

– Contratoseacordos– Astronomia– MatemáYca

Page 4: A História das Linguagens de Programação

NúmerosdaBabilônia

•  Base60.Porque?•  Númerosdepontoflutuante!

1× 601 +10 × 600 = 70

1,10=

Page 5: A História das Linguagens de Programação

ProgramasdaBabilônia

•  Algoritmoseramescritosusandolinguagemnatural.

•  AlgoritmosdescreviamprocedimentosdavidacoYdiana:– Paracalcularovolumedacisterna,seseuraioé2.0esuaalturaé7.0,entãoovolumeé3.1vezes2.0vezes2.0vezes7.0.

•  Nãousavamvariáveis.Númerosserviamparaexemplos.

Page 6: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 7: A História das Linguagens de Programação

Baghdad,780‐850

•  Enquantonaeuropasenhoresfeudaisestavammatandounsaosoutros,umaculturaricaevibrantefloresciaemBaghdad.

•  HaviaumcortesãoematemáYcochamadoAl‐Khorezmi,queescreveuunslivros…

Page 8: A História das Linguagens de Programação

Númerosindo‐arábicos

•  Olivrodosalgoritmos:ooriginalperdeu‐se.•  TraduçãoemlaYm:AlgorthmidenumeroIndorum.

•  Algoritmosparafazercontascomnúmeroshindus.– Base10– Sistemaposicional

•  InfluencioufortementeamatemáYcanaEuropamedieval.

Page 9: A História das Linguagens de Programação

OutrosalgoritmosanYgos

•  Euclides,porvoltadoano300antesdeCristo,descreveuumalgoritmoparacalcularMDC.

•  AlexanderdeVillaDei,1220depoisdeCristo:CantodeAlgorsmo:algoritmosemverso!

•  Claro,nãohaviaummétodoformalparadescreveralgoritmos.Qualquercoisavalia:linguagemnatural,poesiaeatémúsica.

Page 10: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 11: A História das Linguagens de Programação

AugustaAda

•  FilhadeLordByron,umgrandepoetaInglês.

•  1800epouco:mulheresnãorecebiameducaçãoformal.MatemáYcaeratabu.

•  AdatomouaulasparYcularesdematemáYca.

•  Casou‐seaos19,tornando‐seLadyLovelace,etevetrêsfilhos.– Nenhumanovidade…

Page 12: A História das Linguagens de Programação

CharlesBabbage

•  MatemáYcoInglês•  Projetoucomputadoresmecânicos– Amáquinadiferencial(nãochegouaserterminadaporBabbage)

– MáquinaanalíYca(nuncaconstruída)

IwishtoGodthesecalculaAonshadbeenexecutedbysteam!

CharlesBabbage,1821

Page 13: A História das Linguagens de Programação

AdaandCharles

•  AdaLovelaceeCharlesBabbageficaramamigosetrabalharamjuntosemmuitasdasidéiasdeBabbage.

•  AdadescreveuumalgoritmoparacalcularnúmerosdeBernoulliusandoamáquinadiferencial.– Nãochegouasertestado,afinalamáquinanãoexisYadefato.

– Maséconsideradooprimeiroprograma.

Page 14: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 15: A História das Linguagens de Programação

KonradZuse

•  1936:construiuumcomputadormecânico,nasaladeestardeseuspais,emBerlim:oZ1

•  Eraumábacomecânico,controladoporpinosdemetalecorreias.

•  Programávelviafitasperfuradas.•  Númerosdepontoflutuante,embinário,comexpoenteexplícito.

Page 16: A História das Linguagens de Programação

Plankalkul

•  Em1945‐46,Zusecompletouoprojetodeumalinguagemdeprogramação:Plankalkul.

•  Váriasidéiasrevolucionárias:– Atribuição,expressõesariYméYcas,subscritos.– TipoprimiYvo:bit.Tiposderivados:inteiro,real,arranjos,etc.

– Execuçãocondicional,laços,subroYnas.– Asserções!

•  Zusecriouváriosprogramasexemplo:ordenação,buscaemgrafos,análisesintáYca,etc.

Page 17: A História das Linguagens de Programação

ExemploP1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) => R0[:8.0] max(V0[:8.0],V1[:8.0]) => Z1[:8.0] max(Z1[:8.0],V2[:8.0]) => R0[:8.0] END

P2 max (V0[:8.0],V1[:8.0]) => R0[:8.0] V0[:8.0] => Z1[:8.0] (Z1[:8.0] < V1[:8.0]) -> V1[:8.0] => Z1[:8.0] Z1[:8.0] => R0[:8.0] END

•  Nãochegouaterinfluênciaemoutraslinguagens.Porque?

Page 18: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 19: A História das Linguagens de Programação

Programardavaumtrabalho…

•  Programareratrocarfiosdelugar.– Namelhordashipóteses,furarcartões.

•  ÉdiscilentenderquãodiscileraestaaYvidade.

•  OsprogramasdeAEDsIeramtrabalhodesemanas,uns60anosatrás.

Page 20: A História das Linguagens de Programação

WishList

•  Númerosdepontoflutuante:programadoresYnhamdelembrarqualaposiçãodoponto.

•  EndereçorelaYvo:programadoresYnhadesaberoendereçodassub‐roYnasparacomputarendereçosabsolutos.

•  Subscritosparaarranjos.•  Algomaissimplesdelembrarqueinstruçõesoctais.

Page 21: A História das Linguagens de Programação

Asprimeirasferramentas

•  Montadores•  CompiladoresprimiYvos:– Shortcode,JohnMauchly,1949

– A0,A1,A2,GraceHopper,1951‐53.CompiladoresparaexpressõesaritméYcas.

– SpeedCoding,JohnBackus,1954•  Eraprecisopoupartempodosprogramadores.

Page 22: A História das Linguagens de Programação

Fortran

•  Aprimeiralinguagemdeprogramaçãoasetornarbastantepopular.

•  OprojetofoilideradoporJohnBackus,naIBM– Eraparaterlevadoseismeses;levoudoisanos.

– Diminuiuoserrosdeprogramação– Possuiaumcompiladorquegeravacódigodequalidade.

Page 23: A História das Linguagens de Programação

CompilaçãoemSeparado

•  Inicialmentesemcompilaçãomodular.•  Porém,programascomeçaramacrescer.– CompilarprogramasgrandeseraimpráYco.

•  ComFortranIIveioapossibilidadedecompilarmódulos,enãoprogramasinteiros.

Idon'tknowwhatthelanguageoftheyear2000willlooklike,butIknowitwillbecalledFORTRAN.

C.A.R.Hoare

Page 24: A História das Linguagens de Programação

Fortranfezescola

•  Usadaatéhoje:previsãodetempo,dinâmicadefluídos,etc.– Benchmarks:SPECCFP2006.

•  OcompiladoroYmizante:– Análiseléxica– Parsing– Alocaçãoderegistradores

Page 25: A História das Linguagens de Programação

JohnBackus

•  Fortran,Algol58e60,BNFeFP(umalinguagempuramentefuncional)

Mypointisthis:whileitwasperhapsnaturalandinevitablethatlanguageslikeFORTRANanditssuccessorsshouldhavedevelopedoutoftheconceptofthevonNeumanncomputerastheydid,thefactthatsuchlanguageshavedominatedourthinkingfortwentyyearsisunfortunate.Itisunfortunatebecausetheirlong‐standingfamiliaritywillmakeithardforustounderstandandadoptnewprogrammingstyleswhichonedaywillofferfargreaterintellectualandcomputaYonpower.

JohnBackus,1978

Page 26: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 27: A História das Linguagens de Programação

LISP

•  Em1956aconteceuumaconferênciadeIAemDartmouth:McCarthy,Minksy,Newell,Simon.

•  Newell,ShaweSimonintroduziramLogicTheorist,umprogramaderacioncínioescritoemIPL(InformaYonProcessingLanguage).

•  IPLYnhasuportealistasencadeadas,echamouaatençãodeMcCarthy.

•  SurgiaLISP,aprimeiralinguagemfuncional.

Page 28: A História das Linguagens de Programação

UmalinguagemparaIA

•  JohnMcCarthyeraumprofessornoMIT,trabalhandocomIA.

•  EleYnhaumalistadedesejos:– Expressõescondicionais– Recursão– Funçõesdealtaordem(comomap)– Coletordelixo.

•  Fortrannãoservia…

Page 29: A História das Linguagens de Programação

AsintaxedeLISP

•  Umprogramaéumalista,representandoumaAST:(+a(*bc))

•  McCarthyescreveuumafunçãoevalparainterpretaraAST.– AASTacabouvirandoapróprialinguagem.

•  Estafunçãoevalfoiescritaamão,usandolinguagemassembly.

Page 30: A História das Linguagens de Programação

AevoluçãodeLISP

•  LISPépossivelmentealinguagemmaispopularparaIA.

•  Atéporvoltade1980haviamuitosdialetos:– CadagrupodepesquisaemIAYnhaseupróprioLISP.– HaviainclusivecomputadoresqueforamdesenvolvidossomenteparaexecutarLISP.

•  Hojeháumacertapadronização:– CommonLISP:alinguagemebibliotecas.

– Scheme:umdialetomaissimples,ensinadoemescolas.

Page 31: A História das Linguagens de Programação

AinfluênciadeLISP

•  LISPéasegundalinguagemdeprogramaçãoaindaemuso.

•  Idéiascomoexpressõescondicionaiserecursãosãoamplamenteadotadashoje.

•  Muitaslinguagensfuncionaissurgiram.

•  Acoletadelixoétambémmuitopopular.

Page 32: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 33: A História das Linguagens de Programação

Algol

•  Em1957aslinguagensdeprogramaçãoestavamsurgindoaosmontes.–  IndústriasYnhamseuspadrões.– UniversidadesYnhamseuspadrões.– Haviamuitospadrões,enenhumapadronização.

•  Algolsurgiuparaacabarcomisto.– Universal,independentedemáquina.

•  Umcomitêinternacionalfoicriadoem1958,paraestabeleceroprojeto.

Page 34: A História das Linguagens de Programação

MuitosAlgols(!)

•  Nofinaldascontas,trêsprojetos:Algol58,Algol60eAlgol68.

•  Oscomitêsforamficandocadavezmaioresemaisestrelados.

Page 35: A História das Linguagens de Programação

Alongaherança

•  Quasetodalinguagemquesurgiudepoisde1958usaidéiasdeAlgol:–  Blocosdelimitadores.–  Estruturaléxicadeformatolivre.–  SintaxedefinidaviaBNF–  Escopodeblocoparavariáveislocais–  TipagemestáYcacomanotaçõesdeYpo–  If‐then‐else’saninhados–  Chamadaporvalor–  Recursãoeexpressõescondicionais–  Alocaçãodinâmicadememória.–  Procedimentosdeprimeiraclasse.–  Operadoresdefinidospelousuário.

Page 36: A História das Linguagens de Programação

Polêmicas

•  Asprimeiraslinguagensusavamrótulosego‐to’sparacriardesviosdefluxo.

•  Algolesimilaresvieramcomumanovaproposta,baseadaemestruturasdecontrole.

•  Houvemuitapolêmica.

•  Em1968,EdsgarDijkstraescreveuumarYgomuitofamoso:“Gotostatementconsideredharmful”.

Page 37: A História das Linguagens de Programação

AProgramaçãoEstruturada

•  Aprogramaçãobaseadaemestruturasdecontrole,emvezderótulos,échamadaprogramaçãoestruturada.

•  Muitosprogramadoresachavamdiscilprogramarsemgo‐tos.

•  Hojeapolêmicapareceterchegadoaofinal– Algumaslinguagens,comoJava,nempossuemgo‐to’s

– Emesmoemlinguagensondego‐to’sexistem,osprogramadoresraramenteosusam.

•  EstapolêmicatodasurgiucomAlgol

Page 38: A História das Linguagens de Programação

Ortogonalidade

•  OprojetodeAlgoltentavaaomáximoevitarcasosespeciais:– Sintaxeindependendedaformadosprogramas– Eliminaçãodelimitesarbitrários:nomespodemterqualquertamanha,arranjospodemterqualquernúmerodedimensões,etc.

– Ortogonalidade:conceitospodemsercombinadosdequalquerforma.Ex.:declaraçãodeparâmetros=declaraçãodevariáveis,arranjosdequalquerYpoprimiYvo,registroscomquaisquercampos,etc.

Page 39: A História das Linguagens de Programação

ExemplodeOrtogonalidade

•  Cadacombinaçãoproibidaéumcasoespecial,queprecisaserlembradopeloprogramador.

•  EmAlgol68todasascombinaçõesacimasãopossíveis.

•  PoucaslinguagensmodernaslevamortogonalidadetãoasérioquantoAlgol.

Integers Arrays Procedures

Passar como parâmetro x x x

Armazenar em variável x x x

Armazenar em arranjo x x x

Retornar de uma função x x x

Page 40: A História das Linguagens de Programação

Másno�cias

•  Algolnuncafoitãousadaquantoseesperaria.– Algol58deuorigemaJovial.

– Algol60foiusadacomopadrãodepublicaçãodealgoritmos.

•  Razõesdoinsucesso:– Oprojetonegligenciouentrada/saída.– Alinguagemeraconsideradacomplicada.– Algunserros:passagempornome(!)

– NãohaviasuportecoorporaYvoougovernamental.

Page 41: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 42: A História das Linguagens de Programação

HaviaSimula…

•  HaviaunsnaviosentrandonoportodaNoruega.

•  KristenNyggardandOle‐JohanDahlYnhamdesimularestesnavios.

•  SimulaI:umavariantedeAlgol,comextensõesparafacilitarsimulações:aviõesnoaeroporto,clientesnobanco,etc.

•  Simula67:umalinguagemdepropósitogeralcomclasses,objetoseherança.

Page 43: A História das Linguagens de Programação

SmallTalk

•  AlanKay,Xerox,1972•  SmalltalkfoiinspiradaporSimula,Sketchpad,Logo,biologiacelular,etc.

•  Smalltalkémaisorientadaporobjetosqueamaiorpartedeseusdescendentes.

•  Tudosãoobjetos:variáveis,constantes,classes,registrosdeaYvação,etc.

•  Todacomputaçãoéfeitaporobjetosquerecebemeemitemmensagems:1+2=1.sum(2)

Page 44: A História das Linguagens de Programação

Filosofiadeprojeto

•  Criealinguagememtornodeidéiassimples:– Listas,recursão,eval:LISP– Objetos,trocademensagens:Smalltalk–  Inferênciaeunificação:Prolog

•  Benescios:– Aimplementaçãoinicialésimples

– Éfácilmodificaralinguagemdepois

– Acurvadeaprendizadoépequena.

Page 45: A História das Linguagens de Programação

AInfluênciadeSmalltalk

•  JuntamentecomSimula,Smalltalkinfluenciouumageraçãodelinguagensorientadasporobjetos.

•  Smalltalkaindaéusada.

•  MuitaslinguagensOOacabaramenfaYzandoaeficiênciadecompilação.– TipagemestáYca(smalltalkédinâmica)– TiposprimiYvosquenãosãoobjetos.

Page 46: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 47: A História das Linguagens de Programação

Prolog

•  Em1965AlanRobinsonestavatrabalhandoemumprovadordeteoremas.– Provaseramencontradasviaunificação.

•  Em1971(Edinburgh)RobertKowalkidesenvolveutécnicasderesoluçãomaiseficientes.

•  AlainColmerauerePhilippeRousselinventaramPrologem1972.– PrologerapartedeumprojetoemIA(Marseilles,França),baseadoemdeduçõeslógias.

Page 48: A História das Linguagens de Programação

AevoluçãodeProlog

•  Umanovaversãoem1973– OprogramadorYnhaaopçãodepararobacktracking.

– Otestedeocorrênciaacabousendoeliminado.

•  Davidwarreninventouumcompiladoreficienteem1977,baseadonasMáquinasAbstratasdewarren.

•  Estastécnciasdecompilaçãoacabaramsendousadasemoutraslinguagens:SmalltalkeML,porexemplo.

Page 49: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 50: A História das Linguagens de Programação

ML

•  Provadoresdeteoremaestavamnamoda.

•  RobinMilner,Edingurgh,1974•  LCF:umaferramentaparadesenvolveraconstruçãodeprovasformaisdeteoremas.

•  MLfoiprojetadacomoalinguagemusadaemLCFparaescreveraxiomaseteoremas.

•  Tipagemforte,polimorfismoparamétricoeinferênciadeYposjáestavamnoprojeto.

Page 51: A História das Linguagens de Programação

SemânYcaFormal

•  AdefiniçãodeMLincluisuasemânYcaformal– SemânYcanatural.

•  Emgeral,alinguagemapareceantesdesuasemânYcaforma.– EmMLfoiocontrário.

•  Foiassimporque,afimdeconfiarnasprovasdeLCF,eraprecisotercertezanacorretudedeML.

Page 52: A História das Linguagens de Programação

AevoluçãodeML

•  Em1980LucaCardelliimplementouumcompiladoreficienteparaML.

•  Em1983foipublicadoopadrãodeML.•  Novasconstruções:casamentodepadrões,módulos,registros,tratamentodeexceções.

•  Dialetos:– StandardML(aversãoqueusamos)– LazyML:MLcomavaliaçãopreguiçosa– Caml:Umdialetocriadoantesdaadiçãodemódulos– Ocaml:Camlcomorientaçãoporobjetos.

Page 53: A História das Linguagens de Programação

•  Pré‐históriadaslinguagensdeprogramação– ProgramadoresdaBabilônia.– MohammedAl‐Khorezmi– AugustaAda,CondessadeLovelace

•  Asprimeiraslinguagensdeprogramação– Plankalkul– Fortran– Lisp– Algol– Smalltalk

•  Aslinguagensqueestudamosnestecurso– Prolog– ML–  Java

Page 54: A História das Linguagens de Programação

OsdescendentesdeJava

Algol60

CPL

BCPL

B

“BasicCPL.”CPLsimplificada.SemApos:dadossãopalavrasdemáquina.Introduziuanotaçãocomumdearranjos:A[i]echavesparablocos.MarAnRichards(astudentofStrachey),1967

UmalinguagemaindamaiorqueAlgol,comconstrutosparaprocessamentodedadosdenegócios.ChristopherStracheyetal.1962‐66

UmalinguagemaindamaissimplesqueBCPL.FoiusadanosprimeirossistemasUNIX.Re‐introduziuasatribuiçõescompostas:(a+=b),vistasemAlgol68.KenThompson,1969

Page 55: A História das Linguagens de Programação

Maisdescendentes

B

C

C++

Java

C++eraoriginalmenteumpreprocessadordeCqueincluianalinguagemorientaçãoporobjetos:“C++=CcomClasses”.Trouxedynamicdispatch,sobrecargadeoperadoresefunções,polimorfismoparamétrico,tratamentodeexceções.

BjarneStroustrup,1984

ExtensãodeB(originalmentechamada“NB”).OobjeAvoeraaproveitarmelhorohardware(PDP‐11).SistemadeApos,pre‐processador,bibliotecasdeentrada/saída,etc.Foiusadaparare‐implementarokerneldoUNIXeváriasaplicaçõesdestesistemaoperacional.

DennisRitchieet.al.,1971‐1973

Page 56: A História das Linguagens de Programação

Java

•  JamesGosling,SunMicrosystems•  1991:Oak–umalinguagemparaaplicaçõesderede.– ParecidacomC++,porémmenoremaissimples.

– Maissegura–fortementeYpada.– Maisportável–máquinavirtual.

•  Em1995foirenomeadaJava,evoltou‐separaaweb.–  Incorporadaemnavegadores.

Page 57: A História das Linguagens de Programação

Filhodemuitospais

•  JavanãovemsomentedeCPL.•  Javatambémtem:– Coletadelixo,comoLISP.

– Concorrência,comoErlang.– Pacotes,comoModula

•  Masjavanãotemnadanovo.SeuobjeYvoéserumalinguagemdeprodução,nãoumalinguagemdepesquisa.

Page 58: A História das Linguagens de Programação

Acalçadadafama

•  MuitospioneirosdaslinguagensdeprogramaçãoganharamPrêmiosTuring:– AlanPerlis,JohnMcCarthy,EdsgerDijkstra,DonaldKnuth,DanaSco�,JohnBackus,RobertFloy,DennethIverson,C.A.R.Hoare,DennisRitchie,NickausWirth,JohnCocke,RobinMilner,KristenNyggard,Ole‐JohanDahl

•  Foiestagentequepopularizoucoisasquehojesãoóbvias:–  Variáveislocaiscomescopodebloco.

–  Programaçãoestruturada.

Page 59: A História das Linguagens de Programação

Eofuturo?

•  Seráqueaindaháespaçoparamaisevoluçãoentreaslinguagensdeprogramação?

•  Talveztodasasdescobertasimportantesjáforamfeitas,eaevoluçãoagoraserámuitomaislenta.

•  OutalvezaindateremosoprazerdeassisYrosurgimentodenovasidéias,hojedesconhecidas,masquesetornaramóbviasparatodoomundo.