Está en la página 1de 23

Lenguajesdeprogramacin

Profesor:Dr.AlbertoGonzlezSnchez
Tema 1. Conceptos de
lenguajes de programacin
Definicindelenguajedeprogramacin
Historiadeloslenguajes
Clasificacindeloslenguajes
Contenido
Quesunlenguajedeprogramacin?
Lenguaje:conjuntosistemticodereglasysmbolos
utilizadoparacomunicarideas
Lenguajedeprogramacin:conjuntodereglas(sintaxis),
normalmentellamadasinstrucciones,queorganizadasde
ciertamanera(semntica)puedenhacerquela
computadorarealiceunaciertatarea.
Deunlenguajedeprogramacinsepretendesea
utilizadoporunapersonaparaexpresarunproceso
medianteelcualunacomputadorapuederesolverun
problema.
Algunosautoresdescribenelorigencuandose
comenzausarellenguajebinariopara
programarlosprimeroscomputadores
modernos,alldelosaos40s
Sinembargo,laideanaciunsigloantes(1842
1849),cuandoCharlesBabbagepropusosu
mquinaanaltica(MA)
LaMA describaloscomponentesquetoda
computadoratiene(entrada/almacenaminto/
procesamiento/salida),perousandoelementos
delapoca(tarjetasperforadas,unmolino,un
motoravapor,unequipodedibujoyuna
campana)
Lamentablemente,nuncallegaconstruirse
(limitacionespolticasytecnolgicas)
Elorigen
https://www.youtube.com/watch?v=6sTPEtzNIsA
Sinembargo,laMAdespertelinters
devarioscientficos
EntreellosAdaLovelace,quienen1843
realizunatraduccindeunescrito
originaldeenfrancsdeLuigiMenabrea
sobrelaMAdeBabbage
Latraduccinincluavariasnotas,entre
lascualesseencontrabaninstrucciones
parausarlaMA(elprimerprograma)
En1910HenryP.Babbageconstruyuna
partedeldispositivodeclculoyotradel
equipodeimpresin
En1991,elmuseodecienciasde
Londres,terminunprecursordelaMA,
lamquinadiferencial
Elorigen
Lasprimerascomputadoraselectrnicasnacierona
mediadosdelosaos30s.Erangrandes,ocupabanstanos
completosdeuniversidadesyeranmanipuladospor
relevadoreselectromecnicos(representabanseriesde0s
y1s)
Ellenguajeensambladorllegpocodespus(amediados
delos40s),loquevinoafacilitarlaescrituradeprogramas,
puesimplementaunarepresentacinsimblica(deforma
nemotcnica)deloscdigosbinarios
Lamentablemente,elensambladordependedela
arquitecturadecadacomputadora,pueshacereferencia
explcitadelosregistrosyelsetdeinstruccionesdela
computadora
Losaososcuros
Cdigomquina:
Ensamblador:
Estos
programas
calculan el MCD
de dos nmeros
Dadoqueeramuycomplicadoprogramarenlosdispositivosdelapoca(antesde1950),se
ledionfasisalaetapapreviaaprogramar:eldiseodeprogramas
Productodeestetrabajosetienenherramientasparaeldiseodelosprogramas,comolos
diagramasdeflujo
Desdelosaos20ssetenanherramientasparadescribirprocesosindustriales(GilbrethF.,
1921)
BenS.Graham,DirectordeIngenieradeFormcraft StandardRegister Corporation,adapt
laGrficadeflujodeprocesosaltratamientodelainformacinensuempresa(1944)
Sinembargo,fueronHermanGoldstineyJohnvonNeumannlosquecrearoneldiagramade
flujoparaplanificiarlosprogramasdecomputadora(Planificacinycodificacindelos
problemasdeuninstrumentodecomputacinelectrnica,laParteII,Volumen1,1947)
Crecelacomplejidad,nacenms
herramientas
Elpseudocdigofueunadelasprimerasherramientasdelapoca,y
fuemotivadoprincipalmenteporlanecesidaddecontarconrutinas
depuntoflotanteyfacilidadesparaindizacin,lascualesnose
proporcionabanenhardwareenaquelentonces.
Elprimero(ShortCode)fuecreadoporJohnMauchly en1949parala
computadoraBINAC.DespusfuetrasladadoalUNIVAC1(laprimer
computadoracomercializadaenUSA)
Mscercanoalingls.Utilizanmerosdelneaparaelcontroldeflujo
Lamentablemente,elproblemadeladependenciaalhardware
continuaba.
Pseudocdigos
KonradSuzes escribien1945unlenguajede
programacin(Plankalkl)parauncomputadordela
poca(Z4),perosutrabajonosepublicsinohasta1972.
Plankalkl
Aunqueprimitivoysimblico,
ellenguajetenamuybuenas
caractersticas:
Tiposdepuntoflotante
Expresionesmatemticas
Arreglos,registros
Ciclorepetitivo(singoto!)
Clausulaexit
Estructuradeseleccin(if,sin
else).
Laideadeindependizarelcdigodeprogramacindela
arquitecturadelamquinaviolaluzenen elapndiceDdel
primerlibrodeprogramacin,escritoporWilkes,Wheeler yGill
en1951tituladoThe preparationofprogramsforan
electronicdigitalcomputer
Enlsedescribeeldiseodeunpseudocdigosimpleyel
diseodeunasubrutinainterpretativaparaejecutarese
pseudocdigo,loqueahoraconocemoscomounintrprete.
Laimportanciadeesosintrpretesdepseudocdigoesque
implementabanunacomputadoravirtualconsupropio
conjuntodetiposdedatosyoperadoresentrminosdela
computadorareal.
Elintrprete
Anconestosadelantosendiseoyherramientasde
programacin,erahumanamentecomplicadoabordar
problemascomplejosenlenguajeensambladoropseudo
cdigo
Sebuscdesarrollarlenguajesindependientesdela
mquina,yconunasintaxismscercanaallenguaje
natural
CreadoporJohnBackusen1957.Marcael
nacimientodeloslenguajesdeprogramacin
dealtonivel
Eramuydependientedelacomputadoray
muyprimitivo,peroaltamenteeficiente.
Sudiseosebasenunintrpretellamado
Speedcoding,quefuedesarrolladopor
BackusparalaIBM701.
Fueungranxitoyhasobrevividoapesarde
habersecreadohacemsde40aos.Ha
evolucionadohastaconvertirseenunlenguaje
msaccesible(FORTRAN90).
Ungrancambio:FORTRAN
Backus recibi
en 1977 el
Tunning
Award
FORmula-
TRANslation
ElsecretodelxitodeFORTRANseatribuyeasuexcelente
documentacinyalassofisticadastcnicasdeoptimizacinquese
useneldiseodesucompilador.DeacuerdoaJohnBackus,las
tcnicasutilizadasenFORTRANnofueronsuperadassinohasta
mediadosdelos60s.
FORTRAN
En1958seliberFORTRANII.
Otrodialecto,llamadoFORTRANIII,fueliberadotambinen
1958,peronoresultmuyexitosodebidoasuenorme
dependenciadelaIBM704.
En1962seliberFORTRANIV,quehasidoquizslaversin
mspopulardelcompilador.
En1958,elAmericanNational Standards Institute (ANSI)
estandarizFORTRAN(aestaversinselellamaANS
FORTRAN).
Unnuevoestndarfueliberadoen1977(seleconocecomo
FORTRAN77).
LasversionesmsrecientesdeFORTRAN(FORTRAN90y
FORTRAN2000)difierenmuchodellenguajeoriginal.
FORTRAN:Cronologa
Enestebreverepasohistrico,hemosvistounatransicinen
laformadeescribirdeloslenguajes,lacualnosproporciona
unaprimeraclasificacin:
Lenguajesmquina: Instruccionesencdigobinario,
estrechamenteligadoalaarquitecturadelamquina
Lenguajesdebajonivel: Lenguajesdetipoensamblador,
tambindependientesdelaarquitecturadelamquina.
Lenguajesdenivelintermedio: Mezcladeinstrucciones
nemotcnicasylenguajenatural(pseudocdigo,lenguajeC)
Lenguajesdealtonivel: permitenescribirlasinstruccionesdel
programautilizandopalabrasmuysimilaresalingls.
Totalmenteindependientesdelaarquitecturadelamquina.
ClasificacinporNiveles
Diseadoparaelclculocientfico.
Hoyendaseleconsideraunlenguajemuyrestringido,
puessloincluaIF,DOyGOTO(elcualseusabaparalas
iteraciones),peroensumomentoestoscomandosfueron
ungranpasoadelante.
Lostiposbsicosincluanvariableslgicas(true/false),
entero,real,ynmerosdedobleprecisin.
Sinembargo,amedidaquesevolvanmscomerciales
lascomputadoras,lanecesidaddeunlenguajems
cercanoalosnegociosfueaumentando
CaractersticasdeFortran
Lacomputacinparanegocioscomenzadespegar
en1959
Cobolfuecreadoen1960porCODASYL(industrias
informticasyeldepartamentodedefensade
EstadosUnidos).Diseadoparalosnegocios,sus
nicostiposdedatosfueronnmerosycadenasde
texto.
Manejaconjuntosyregistros,porloquelosdatos
podranserrastreadosymejororganizados
LaestructuradeunprogramaenCOBOLest
construidodeunamanerasimilaraunensayo,con
cuatroocincoseccionesprincipalesqueseacumulan
enuneleganteconjunto.
LasdeclaracionesenCOBOLtambintienenuna
gramticalikeIngls,porloqueesbastantefcilde
aprender.Todasestascaractersticasfueron
diseadasparahacermsfcilparaelnegocio
promediodeaprenderyadoptarlo.
Cobol
En1958,JohnMcCarthy,delMIT,creellenguajede
procesamientodelistas(oLISP)enelplanodeinvestigacin
deInteligenciaArtificial(AI)
Debidoaquefuediseadoparauncampoespecializado,la
versinoriginaldeLISPtenaunasintaxisnica,basadaen
estructuraderboles(uncdigointermediariogeneradoporel
compiladorentrelasintaxisdealtonivel(comoenCoJava)y
cdigodenivelinferior)
Launidadeslalista,apartirdemediadosde1960,LISP
adquiriotrostiposdedatos.
UnalistaLISPsedenotaporunasecuenciadeelementos
encerradosentreparntesis.As,losprogramasdeLISPse
escribencomounconjuntodelistas,demaneraqueLISPtiene
lacapacidadnicademodificarseasmismo,yporlotanto
crecerporsucuenta.
LISP
LISP
ElorigendeLISPtambinplanteunanuevaformade
clasificaraloslenguajes
Estasebasaenlaformadeescribirlasinstrucciones:
Lenguajesdeclarativos:expresanlasinstruccionesindicandoqu
quierenhacer(ejemplo,LISP,SQL)
Lenguajesimperativos:expresanlasinstruccionesordenandoala
computadoracomollevarloacabo(C,Pascal,C++)
Actividad:Formadosequiposdetrabajo,preparaunabreve
presentacindescribiendolascaractersticasdecadaunode
estosgruposdelenguajes,susubclasificacin(encasodeque
aplique)yloslenguajesmsrepresentativosdecadagrupo.
Ademsdelosniveles,tambinpodemosclasificaralos
lenguajesengeneraciones,hablandodesulugarenel
tiempoenelcualfuedesarrollado
Loslenguajesdecadageneracintienencaractersticas
propias
Clasificacinhistrica
TAREATI1.Realizaunainvestigacindelasgeneracionesdelos
lenguajesdeprogramacin,especificando:
a) Perododetiempocorrespondiente
b) Caractersticasdeloslenguajes
c) Lenguajesmsrepresentativos
Tareaindividual.Debernpresentaralmenos5fuentes
distintas(bibliografa)ytrescuartillas.

También podría gustarte