Vous êtes sur la page 1sur 13
1. LENGUAJES DE PROGRAMACION Las velacionis humans se Levan a cabo a bavés Gel lenguaje, Una lengua permite a expesién de ideas yde eazonanientos, y in ella la comunceavién seria inepacibe, Loe ordenadoreeadle aco pony compronden ua lexguaje de bajo nivel, que condiot on langue seruercias de cetos y unos. Estes secuencias son ininbligibles para muchas personas, yadems son especificas pata cada ordenador, cconstituyende el denominade lengugie maguina La prognmarién de ordenedaws se realize en lor Ikanadas lenguaies de programacyin que posbilltan la comuniceciin de édenesala computadora uordenadar, Un Jenguaje de programaciin s: puede ce fiir de distintas formas: * esunanotaciin formal para describ algoritmos 0 fimeiones que serdn gecutadas por un ordmader. + esun Bnguajs para de comanicar instracciones al ordenador. + esunacomvncién para sscribir deseriyciones que pusdan ser evaluadas ‘Tunbiénse utiliza en Informatica oftos langugies que no son de programacién yque Hexen ott aplicaciones, por ejeraylo puede hater lenguajes para describr fomnstos grifices de texto, de cesengeionde pégmas, dedesenycioa de sonidos y mixing et, Ex otos casor los lengusjes puedenser un subconjunte de los erguajes natwales (Castella, ings, etc.) olenguajes que deseaiben ‘un fomtats perticular da antada de datoe 11 Clasificacion de los lenguajes deprogramacion Las lenguajes de programaciénse pueden clesificar desde distintos panos ce vista: + Sagi su grado ds intapondoncia de laméguira + Sepia forma de sus insrucciones + Por generaciones + Segin su grado deindependencia dela maquina Las lenguajes se pueden clasificar segin su grado de independencia de In mispina en que w ejectlanen cinco grupos: Lenguaie méguina ‘Lenguaje ensamtador (eninglés assem) Lengugjes dé medio mil Longugies de alto nvel Leng ajes arentados a wsuarios Longugies onentadee a problemas concvetoe § Ellenguaje maquina cal forma miabaja de wn lengtaje de jrogramvacién, Cada inotmiccign en un programase representa poruncédg o auncérico, y unas drecrio es (quesonotres cbdigos mucéricos) quese wiliza para fer ls asignariozes de memoria del oxlenador. El leggusje méquiza es la notacicn que entiende dnectamente el ordenedor,esié en binario o on notacién hexadecineal, yel1e pertrio de sus instrucciones, as{ como la estractura de estas, estan lgadis dectamente a a arquitectua de la maquina. Los ordenadores actuales se besan en la aquteetuade lan deuina de Von Nbumann BURK46, PERNA). Lanndeuinade Yon Abumaan tiene un 2epertorio dle insimecionss basta on datos, operaciones aritnétcas, asignaciones de yosisiones de merorie yeontol de Ajo. 7 éaze en elanexo [ ura breve deseripcida del leng je maquina de los mieroyrocesadazes 8(x26 § Ellengueje enscmblader es esencialnente wa version sixbbélica de 1m lengusie miquina. Cada c6dizo de ‘operacién se indica por teddigo simbélice Porejerapla ADD paraadicién yMUL para muliplicacién Adeés, lssasignaciones de memoria se dan con romabressindholices,talescomaPAGOyCOBRO Aleuosensanbledames ‘contienen macroinshucciones cuyo nivel es superior «las instrucciones del ensarablador, Véese el anexo Ie] lexgusje enoatblador de la faulia de Loe micyapnoceeadares 20126, § Loz lenguajee de medio nivel ticnen elgunaa dl la catvetisticas de loo longuajee de bajo nivel (poebilidad de accesc diecto a psitiones de memoria. indicarioves para que cerlas vaiables se almacenen ex los egisttos el risroprocesador, etc... afiadidasa les posiolidedesdde manejode estructuas de contol yee datos delnslenguajes dealte nivel. Bjemplos de este tizo de lenguajes son el C [KERNB, KERNE9] yel FORTH KELL&¢], Schve el lexguefe © puede conrultage el anexo 1? 5 Los lenguajes de alte nwvet ales como FORTRAN [ANSI89, CUEV93], COBDL [ANSI?4], Pasval JENSEL, CUEV94A],.. tienen car tristicas superiores a bss lnguajes de lipo ensardblados, augue vo tienen algunas osbilidades de arcean dnecto al sister Facitan a exerts de programas con estructures da datos eamaplajis, Iaatlizaciin de tlogues, y yrocedinientos osuorutinas, Scbre el lenguaie Pescal puede consullarse el anezo II entre de los lengusjs de ao nivelse suedendesacer ux tigo de lerguajes, dexominadas lguayes ovientados ‘a objetos, que permite defini tpos abstactos de dates (habitualnente dencmanades clases) que egrupan dats -ymétodos (operadores, funciones yprocedimientos). Los objelos son instanciacién de una clase. Las clases se ‘etinenen tiompede conepilacida, yloe objston sande nidoo anejecurién, Lae classe pusdenho dae propiedadee de otras clises(herencia) Elacceso alosdatosde unobjeto tansilo se ace a tavésde sismétodosCencapastarién) Les métodas con un mismo nombre pueden nanejar distinns tipos de objetos (Polimorfismo), detertaxdo el andiouo ex temo de e}ueuidn la operacicn que debe eliza sbre el abjeto (asoracidn dni). Bjegpos 4h vot igo de bn gusjo oon Seale (OLDE, COLDEO], C+ [ETROWS, STRODL, STRON, Eifel ME ‘YESE, NEYEO2], Object Pesca y Tuo Pascal” [CUEYS46], et. Solne be bagujs creates s objets pardrs consuls los areas ¥ (Simul), VI Gaal), VI (Ad), VIN (CH), 18 (Obpet Pasal y Tubo Basoal, (LOS), 31 BBD y 3 (ln. Lerqusesdeatemel Lesquyescretadesaces Lenguaeensanblador Lengua nqura Fig. 1: La evolicitn de os ncualesds prosranscin § Los lenguajee orieniades a problemas cencreias se wlan jam Ie wsolwida de paoblemes en un cero ‘xpecifio, Ejanplee de tale lexgaaen ocnel SCL (vevanee ID y XBASE pana el nensjo daame de date; SPSS (ver nexo XIV) y BMMLP® pers calcalos essadisticos, Postsenp (ver enez0 XID y True Page” ra 1s ‘deseipeiin de pgines, ye COGO para aplicaciones ex ingen civ, + Segiim la forma de susinstruccianes Lee lengusjae os puaden clanficar septs fomvadh mus nwtucciones.c engin oe dbtnoe peredignoae de programacicn: 5 Lenguajacmparativos a procedimentales 5 Cengugis dectaranves: fogcos J funcionates 5 Lengeaiesconcurrones 5 Lengugiecoviontadeea objetoe La casiicwitn anterior 02 exelageat ont of, <2 docirun lenguajp puede oot include ennde do ma paancigtoa hol por ejerago ellnguaje Ads, es mleng aje imperativn, tene necaniswas de evcagenlacion yernenicided mopinsde Ios lenguajeshasados caabjets,y peamit Ia concunenc ia § Los lenguajes inperatvos o procedimantales sox ls que usin la instrocion o setencie de asigrarién como ‘coustuesisabdsiraci Ia esourtuta de lneprogeanae, Scalenguajescheutidac ainetaccioneg os devi uxided fe nabaja basic de estos Iengnsjes os la mstricciin.o sertenria, Bjempls de lenguajes neperatvas son: Pascal [DENG?1, CUEVS48), (CERN, KERNG2), C++ [STRO86,3TRO8L, STROOG, Ada [ANSISG], FORTRAN [AHSI29, CUE Y92:), COBOL [ANSI74, Modula? [WIRTES], Qooron REISD2c, REIS, WIRTOT, ct. iotircament oxn lo pimorce Lenguaje, yartualtonte con le mio wadoo, FORTRAN, COBOL y ALGOL, son Jos recursos y sa nfluenei se ha propegaco hasta le actualicad (ig 2). Backs exqnesd qe él Asef de estos Ienguajes estaba infuido en gan part gor le méquive de Yon Nezraan (BURK4, FERNS, ‘lado que wa CPU aeoplada a wm memoria ya uno ettalee do etbad caida, inpliba xa tpo do lngnajeo cages cara brisicas pretennan sacar] mixitenpatido a este tqo de anyutectma. Asiest tipo de lenguaps ceacterize por 2 Uso intensive de variables. Ue de loscomponentesjnsipeles de lx anuitetura de Pou Neumann es Jamomora, mi fora deveforzcias nepocicionsede memcviadeleslonguajed> aio nivel casosisloe an dentificaior, dlenommac veriable, yeayoconcepto es no db los panes ene prograeacion en los Jengusjesimgeretives, Ellenguar FORTRAN con su cotrurtun matentize orignal esol procures, ‘wéace fig 2. 1 Butusturade programasbasadaeninairecciones, Un piograna cn ailexgasjeinapetive a cater taiza por realizar sus faeas ejecntaado teratvamente wa securyeia de pesos rlemcentales. Seip 26 ume ‘onsecveavia de laanyultestura de Yoo Newnan, en ie cual las insturcioresse amacenan ox menos, sepitinde doterninadhe rounncinedo itotuorintes, Aafleettecaaiznice de setol aon dbetaocioase 1960 1970 1980 1990 dels del contader de programa Jara loralizarla instruc siguiene ypara realize salts (mediante Isactuaizacién del contador de programa). Los bnguajes COBOL y FORTRAN son los prerursares, ‘véase la figaa 2 oft oe X \) / oe ed Mae Fig. 2 La evaluctin es lenguajesimperalivas 2 Mangiosrecuents de las mstracctones de asignacvi, Ligado alconee io de vaticble y de memos, hay Tide de que cal expresion celouach debe ser almecenacl en memoria, para peder utlizarse pose. siontente en otra instcciouee del progaaana, La inaruccn de azignaciéa yu etd ineoxponnda on le primera versin de FORTRAN. 1 Resolucida dealgorimospor medio de solructeras ds control secusnciales allernaivaay repetitivas Enanprircipio h programerién en bretapsimpertivos hevia so infensiv de le instuccién GOTO, ‘oma consorustein divota dela sobustara dp oontoliatna de la axqutertue do Von Auman El antioula de £.# Dystretituade “Goto statement considered harmgul” [DLIS6S] comendé lo que rs tas oe denoteinatia Programasiin axinicurade, 7 wrovnes que has Ienguajes inclnyenin astactae de conte de Majo més avanzedes, La inflaacia del Peseal como vehicalo de le enue anza de Ie rogracaricn ta sido decisive en este aspects tal Yeomio se cbserra en hfigun 2 1 Ineorporacii db mecanismos de manajo de Bloguas, La coneplejidad del sotwae y les tenicas de seo moduler acorsejaon insoryorar a los lnguajes imgerainas mecaniswns pam el wane de Tbloquee Eato bloquoe puoden tres varablee bealeo, cups enstencia yvinkililed sot wotirgida al ‘logue donde est declaradas, Lesbloques pueden coruucazse entwe ells por wedio de intacame dhe iirnacién por valor o referencia. Tambign oe lao a dotide de otasividad El gavcusor fas el lexgusje ALGOL y ALGOLGS, proyagdaose al esto de los lag ajes como Pasta, C, Ada ete. tal comose ve enlafigur 2 Los lengusjs Module-2 7 Ada son bs que hen emeareado ris ete aspect, ‘yx inflame och prope dl e diverse moraine do nnguajsopooeriotes oxefemmas do oagnae ‘existent. For ejemplo Las unis de Clbject Pascal Tube Pascal son wyerusiotes diectas de ios reéduios de Mock? ylos pacqetes de Ada = Geatén de memoria dinémica heap en tivmpe de sjesuctin. Los loxgaajes impaativos ae dation de mecenisnas que Pemitn wserar y Meer meroria dindmaica fap lmonton). El wecusscr 2s el lengua ALGOL (ese figua 2), yellengusie que raliza més uso inlensivo de este mecanisno ese longus C, you influeneia o ha yropagado a todoe lao tevisionse de Joe lengusjee clisene (FOR TRAN?9, Viewal BASIC, ee.) © Adecuceién al poradigma de orientccién a objets. La mayor parte de ls lenguajes iraperatives esti sdaptdndooealparadigaoa d oriontarign de abe toeinearponanco nueva autrueciones yaradar porto ‘leencapsulaci, hemeacia y polanonfisme, El procursores-l lexguaje SimuinG?, x suinduencisesté egado a tados las lnguajes irgperabivas, tl como se muestaen la figue 2. Inclus lexguaps traticiondles como COBOL y FORTRAN estin eperanca mma revision para inhodocir elmecanismo 4b orieatacién a oltne [GREED] § Los keguajes decterctivos som lengasjes de muy alto nivel cura notacidn es muy poxinea al cloaca reel del Algoritiia que sesuslven Haydlostignede lengusjes Geclanatves:Fonguajes fimcionalas ylangvaye:Jogicos Los lenguajes fimcioncles o apheatios tenen todas sus constucciores como Uataadis a funciores ratemiticas, Bs decir no hay insteccsones, toch el prograrea es ura fincién y nas ls operaciones se realizen por composicicn de Fuscienes mde eimples Ex la sjecucién de Lo programa fineionale 06 "aplica Is fureidna losdalos de enttada (que son os axg unenios de Is Funcicn) yee obiene elresuilado (el valo caleulado por la Fune:6x). E] recuor clos lengusjes furcionales la sido la teava lambda calculus (introducita yor Alonzo Caurch en 1932) yel primer knguaje de amapln difusin es el LISP cnvada por Join MeCarthy on 1959, Ej ploo oo longue fureionwloe: LISP(STEEDG), CLOS [PAEPO), Scheme [EEE9], APL, ML, Miranda [BIRDS], Hops [BALLOU], Haskell, Conrunent Chan, Stang, om hota chara Ise hngmajes funcionales se han ntizade poco sn la industia dcbido a cubjo vendanionto Yyvoraicad de memoria texte a les lerg ajes operatives, Sin endbargo desce mediadas de les affos ‘chenta @ esti consiguiendo que les leg wats fumcionales se acerquen alos imyerativos en iempo de sjeeneiin yen geatén ce memoria efieienty [>OUNGA] 1 Los lenguajes!6gicosdetinensus nstracriones sig endo un tipo de Légica.Ellengusjede pmogranscién, ligica més utlizadn es ¢l PROLOG, que utliza Ygica claasel (ested ¢ las class de Hom). La yingtamacién igica mengja elacionac (prickoudce) one abjeto (datos). Le welarionoo ov empecitioan con reglas y ecios, La ejecuciin de programas logivas consis en ladenmostraridn de becos sob las relaciones yor medio de yregunts. Bjemplos de lenguaps logvos: PROLOG [STER94), Concunent PROLOG, Prolog-+t, GHC, Parlog, Vaan, Polka et § Los bnguajes concurrentes son los que pemniten I ejecuri simulténea (yarela’ o “omcunene") de dos 0 ‘yarns teas. La concumencia puede ser una ceracterstca propia del lengisje, o el wesiltaco de amir as sntneciones de uneng ua no conetmnent, Sjereplos: Aca CoreurentC, ConcwnentPescal, Consunent Prolog, (CSP, Agus, tors, Land, Monitors Cee 32comilador de Coane urente para Windows (OOMESa, SOMES 76] et § Los lmguajea orientaton aobjetoe (LOC). hetualmonto exston nGe do 2,000 longuajce do alte nivel dif rent, {ke los cudes dtededor de ux centenar son lenguajesovientedos a cbjetoso lenguajes basadcs en objens. Un Jexguaje ce poguamacien se dire que es unlenguaje basado ex ofjetos a soyorta diectament tipes abstacts Ae datos y clases ror ejereplo AaB y Visual Basic 4). Un fengeie orienta a olen es tarabién basado on ljotoe, pore aiado moeuntence pars ooportarla herencia (corso un aedio para oopertr [a jomanqua de elasie) elpolimorg.ane (como ux mecazismo ue pentite relicar una aecién li eace an funcién del objen o mensije seclide). Bjerepos: Smalltalk, C+, CbjeciPasral, Twbo Pascal, Delot, CLOS, Proleg+t, Java yal Bertraad Meyer, autor del lengueje ESL, propore las ste carecristicas de un longugi ovientado a objetos puro [MEYE=8] 419), Earutua moduler kaaaca on dl 2%) Atsttacoin de detos. Los objets se lesorinen como Implem entactones de tes abstractos de datos, 3%) Gestion de memoria aulomética. £1 lengusje thera autonéticarerte cle Ia memoria los ajetaene ulizedae. Eodeci ne exieen haruoconee 0 Amoanes cna aigncoed), delet, freo(, salvo pra objelos especiales. 4°) Clases. Tod tbo de datos es una clase, esbepte los fpos simpes. No sisten fncones 0 brocecinierios bres, todos son métodos de una clase 5%) Herencia. Una clese puede defrirze come una extensién o una redriccin de cra 6%) Pcimorisme yerlace cinanico.Las enidadespvecen reerenciar a objetosdle masde una tlese, yse nusien realizar clierertes operaciones en clases ciferentes, 75) Herenaa mite y teste. Una case puede ree darce mésd une dase y ser pate de Ta misma case masaeuna vez esta ctacteishos no es sopntacs por tos ns enguales sacs obltus pus. Asi Smaak y Java SO Leren herenda spl, aunque Jae Supuvtalanerercmatie de itertaces _jenaplce do LOO parce con Small Eifel yJava. Foy contapeteion aloe LOD pane atin le dencunade longus onntadoe a olga brio que czonloe lenges qs tienen poe cneesoe acto (lave) y pte no oentedoe ack fe (Apne paar), lgunce eenpice de sate te de legujes con Onvert Pascal, Tube Paceal, Depa y C++ La mayer pate de sis leagues han nacido como extensiSn de ols lxguajes a0 ormabsies 2 objelos. Un esquema sobre le ‘volucidn ysemejerzas de los dstiunsLOO se esealaen a figura 3 (Ore clasificariin de Jas LOO es £00 Gases en clases y LOO besos en prototipes EVINSA] Loe LOD basadoe om class on le Lenguaje ous cist do tipoe vot naoedo ex shave, Ej de LOOtasades ex clases son C4, Chjectve-C, ually Chject Pascal, fava, CLOS y Bifa Loe LOO hasadas on prototipes no bene clios Geitidas explicate, son eva por chstoe onominadee jotctpos, Pana cen nuevas insane in wii le cleacién, Lee repos bisicas de wn LOO buasaio ex pototgosscn bspromepos yladslggacicn. Unobjeio ootigo se wiz: como un rwdelo pare eat tnocbjet. Ladblegacisnes unmecaristio gore cual elodrigos eer mise ele cions dindere mente enti ‘ ejeién, Ejpmploe » bngayjes hasadne ex peottigne: Self [INGASY, CHANIU2, UNGAD2, SHUI, T [SLADE], ChjcctLigp (0 wa zion de Common Lisy, qs adfeonsia col CLOS -berndboncheos-uilize robtizs ¥ paso de menscje), Coz (os undeacendienb del Self, fae cxealo pox Chaig Chambers, mo de los isetiadoves de SelD, NewtanSeuig? (Geseacolado gor Apgie® por su model Hever? BWAI4a, SWADA, SWAID4, SWAIDAT) y RORY [LEAVI3, 1989 ALGOL 60 Lisp 1970 Smaltele \ 1980 \ Object Pascal \ cLo8 1990 Adea5| | Delphi Fly 3. Evludin delos ertualestrertscose obiecs + Por generaciones Lalnformitice esa cia joven, narié en los fos euarents,ytomd su cariterde dsciglin acadnvicaenos acs sent con a sea ion e los paces cenlas de Caleulo en la Unisersidades. Laevoluridn de los eagusjes de programer in ba ido, en siela redid, pealele al dasaollo cle I Infbendtin, Los long tajes ee eden chaificer sogin gevemcionesex Primera gareracion Segunda goreracién Tercera genoracion Charte generccidn Quinta gonorcexin Genoracton orencada a objstos Gonovacion visual Generacen miarnet 5 5 Le primera generac est constinida por ls lengusjes ndguiza y ensambledor desamolladas en los alos cuamata yeincvonts Lessgundagonsracidn scriensaconel desanolledlprinercompiladonde FORTRAN enelfio1958 yeontina Justa medias de los alos sesents con lanonnalzacihn por el American National Standard institute NCD Ge Joe brguajs de programarby, igador hast oe moxorts areatouzcomerciaee, Se eactoriza porlos oxgusjee conaignecibnestitica de memories cir toda Ja meneorss asigas en fempo de comalecfn. Estos engusies 0 fenvan a teowowidad ni rane jabamestructuns dniricasdsda‘oe, Zjonaplasdoe toslengusjeoson FORTRAN COBOL, Letercera genaracionestéligade al mimo programnesin esnictizada, ys desurlle ene mesincos de Tes ‘Hos sravala ymodiacos ce loz af ovis, aunque anivel de nngusjos uw maces eshn enel bgaae Algol) (esarollado erincininsde les fos sese nt). Como carctristcaswincipaes dels enguses Ge estazeeracin ton: um do wsidube 0 adlprogranae, varaile lores, ec wrividad, yatactuasdindmioes Ejcploe do ects Jenguses som: Algo) 60, FLA, Algol 68, Pascal, Medals, Lecuarta gene radicrestécancterizaia porlencusjesde muyalionivel deticadosataeasespecifice,enmuches casce doneminadoo homamieates. Una gran part db olor eatin dodicadeo ala gacioy do aeaea dh datos ela fenerecion de aplicenones con henaminias CASE. Eldesenollo de esos lag ses se rode Gesde meckadcs {b lo aioe ata hata Fialeade os ochonts Ejomploe SQL, DB2, DBASE, Inge, Natal, eal, Applicaton Facbr.ete Le unin genzractenesteascotada alos brgnafes hgacos le Inteligencia Atel, La mayor pare deest to db Iengtajee ons vrsionosectudlizadi o deocendientoa db los brgasjos Lispy Prolog. Aungue el oagasja Lisp datade 1939, eldesenollointensode ess lerguaes a produre desde prmeapos de les afos ockens « pncyacs Ge los wets, jempleo: Common Ligg, Prolog, Pag, ML, Healell, Manda, ct Generacisn orientade a objece. Ea a tina gonexeién punds dicice se comin « mediados do lo afc ochen'a, uur el mmmerlengusje onewtad & obetos fie al Smutla 67, presentado en el aio 1957 tig. 2) Smullin se conenaé alcounollar a pineipios de losaice seen, deaenbscanda mel Salta 20, de angio 150 1 le decade los af colenta El cesanolo del engusje Ada bssadioex objets, no onertado e cbs) «Fanles do loa 70 ra pecimacign de las lntsfucea Gnefieas de austin (ISU) finales de lee achonta ba snplicadolacreaciin dennevcslenenejso amplinciéndelengmajespara nos el packeme ce onentacin, scbjetos. Bemplos: Simula Sualltslk, CH, Object Pascal, Tubo Pascal, CLOS, OhjeetLisg EME, y Obewon Gereracidnvisea. Comienas aprincigios de ls afos soventligad «1s exigzacia de los wuascs de dsponer de interfaces aeigables La meager pene de Ins cercterishas virmles van onentaes al css del interface ‘wuero, Ejemplos: Visual Base® Delpi® (rrsicn-vsval del lnguaje Object Pesca, Gneracisn internet, Comiouze « medodes de Los ais novents,igado a Ik gram exploaién de internet ya xeceside de manejar apiaciones encstinssplatairmas cnt de tod a re. EL eneneje ms carats csJevs, peo tambidnse podian incur dentro de esta geusracibu: ZML, HTML, VEIME y lis 12 Ventajas de les longuajes de alte nival Las ventajusde Ios lenguayes ce alo nivel se las delojo nivel (lang uslemséquina y engusje ensanbladoy sox lssiguientes: + Leslenguajes de alt nivel son mes ates do aprender que los de ba nivel. El arena de muchos lenguajes de aivel nevesita poooso valor concoimientoe del hamware, ya que dichos lenguajs sox yrécicamentsinleperdontes dela aéqquina, Six enibage ls lmguales de lt nive esti comades a cirtas sones de la méquins, alas que denen acceso les Inngacjes dea nivel 1 Loe progretmadones so lshoran do oeupactonce ifinariaceon efencitea inoturcionsesinbélica © matics, ignacionse de reemoni, ele. Teles tress se ranean po un traiurtor que Lasleda el lengua de alto nivel al Bengusje tui, y se evitaencres unance, 1+ Un progremador de eng ajes de allo vel no necesita conocer laforme en gus se colbcan los ditnto pos de dats en la vmamoria da! ordonedor + La mayotia de los lenguajes de allo nel offecen al progremador una gran varsdad de esbucturas de control, que no se Aispoaenculeslenguajes de bajonsvel. For ejeipla los bnguaje de alte nivel tiene las siguientes consbrurcinaes de conta de fino ~_Sentencies condisionals (tales como IF-THEN-ELSE o CASE) + Bucks (FOR, WHILE, REPEAT) © Estrustinede Bloque (BEGIN-ENT) Betas estractuas de prograneriin fomentan estilosy tenicas de programacién estuctumada Obtenidoss prograneas files de leer, comprender y uolificar. Conlo que se redacen bs cosins de prog mmacin alser programas menos complicadosque leo walizadoven langusjen de bajo nal 1+ Log programas ssetitoe en bguajes de alto nivel se dyuran mis féednonts que les sari en bngusje méyuina oensan ‘ladhe, Los leguajes de allo nivel Lenen construciones que eliminan o reduoex certs tipos de enotes de aogeanacicn, «que apasoon ex Ine nnguajee do bajo nivel 1+ Loplenguajesdle aia nivel tinen ma mayer copacidad de ereaciénds estrichias de datos, tanto estiticascomo dinkmises, (que fecitan a resolurion de mourhos problems. Los engusjesonientacos « ob tambisy juedex mane tpos abetactos do dato, quo pomaiton larcuillzacibn de cdg. 1 Loplanguajee de alin nivel poutiten un izcfo macblar do Ice programas, cox la que o¢ consigus una divisién del taba nts Los pogramadores, obteniéndose un mejorrendimiento en le walizariin de apliceco es. + Los lenguajas dealt nivel tacbidn inluyen Ie posbiigad de ine onpcnerseporte para la prognanetn oriontada a ojetos (pla ginaricided + Finelmente los kngusjesdealtonivelaonselativenente independiente: de laméquina, chteriecoge programas que = paslen jecutaren diferentesonderadones. Tax sil hayeque volver a compilarios 9 ineryetades, reduciendcse costes ¥en general, pueden inotlase de auovo age quica slordsradarsbocleto, Sin acburge todas he programisesedtoeon loxgusje maquina ‘venensambledorno se eden 2tjpe ment en otos ondenadomesquena fesean wna enquecturaconpatble ose wire algumos de lesnuétodoe de bangpene ques versa enol epastado 3, ‘Ua lengua do alte aivel ha de provoout antes de ejeeatuse pun que ol endendoy pusda ecryprndbao, ZetpyaceHoo 26 sealant medante unprocesador de fou guae ‘Daca lainortenria de poseer lenguaes de distintosnivees, se entice Ja necesidad ce esonbir taductoes que taeladen los Ionguejce arte aid compiadcroo quo peoenlco loxguajeode alto aivolalajo nol, yd oxsanbledome que goxer nel cédige méquina delesdistnfasanquitectansde ordenadows.& lnstadwtores compiadocese intergretesensambledores,yotrosym gras que reaizan opemciones con lergiajes se les denominacen el aomizre gea¥rice de procesadores de lenguaje TAMARIO DEL PROGRAMA EJECLITABLE EW BYTES soon Levausiemaauing ——L. ensambiato: Lerauae Lenausie D+ Fig: Nivelesde Inslergusies de pregranscién ytam eo de les ficheras lattes 13 Inconvenientes de loslenguajes de alto niva oolong usjco elon tain town oaritioneniente sb lo lnguajo is baja. La conodidd dl progrnacor 2 yago ex wa Sores anaes dea ficken ecules, y conse vee nerts erage inode conelesin ye Hevei6n. Ast snlosanexcslngujemsne 50:86) I erga ersablaior 286), ¥ (lenge C) yl Ueaguye C+}s6 hen esenin ens ‘ogmmiasgur pocents enpuaels wan cadena decaratersecan areal, Loscastmcherseecubblsealiza amine oezeicn, ‘eostar enpantilaeL mene saelncrl celle Seginsevauveraipno en lnivel cel lengua. Sinertongo as vetaassnuevaiesen elapetiaio aveiorsuslen spear 70n 0% ‘a eayor ate dels eplicar ions, os iconv eadenes enacts anveionwent 14 Otros lenguajes Losleng\aje matejadosen Informa pardon baer otc: elicecionrs diate dele pogracari [VALDS1}, a conintaciin se pants apsnosde ellos * Langusea cde descrip de xg: Postscript”, PCL®,BSCI2®, Tae Page®, + Formato peas reser. TIFF. GIF, POX. BME, lo‘ CD. JPEG. TGA, + Bommatos raicos vetoraies: COM, DXF, WGM, + Formato de Bases dp dees: DBE, DBT,NDY, MDS, + Formas deft: RTP, ASC, Woud®, WondFostct®, + Formos de orchivs de sonido: WAY, MIDI, oe + Formato i erchves de deo. S,IOV. em + Formats te qrda: HL? ce Winsown®, HL? de Tuba Vom + Lengucie da gstén olottnien de documento: 0 hiportrt: fonmate pa de Aowbe® Hyptect Muka Largaege GFTDML) (MEARS, XIV, + Langagjes mutinadia 0 do aut, Molivedia Teohool®, MicieDevelopes®, Wheronind Diserbs® Hypestuco", Mutimeda Worlsacy®, Mialtnecie Masterclass, edie + Langigies de guncrassin de igen: POW ste 1+ Lengusie de anise de gence: ANIMA Oxjoct JUANDA, CUEVD4G), MiaCine (THALSC, of + Langues naiales:aibconjuat del Castellano Ing, ot 2. PROCESADORES DE LENGUAJE Procaadoreede etnombre gendriso gus reciban fads lasaplic scones ayormitc aoe las cadesuno de fos dos indemantles de enrade cc longus defini ates acta «tra gran vaiedad de Iamnseats soften, algant de ie sonlassgments xypesand ante pbs l tino equvalen en lege nies) Tracts (ansiator) * Comsplladonsa compiler) + Easambldores (essemBler9) + Montadons de enleeso enlaces nar) + Cngecines locas) + lap (ntorpters) + Desozantbaderes (dumber) + Decompladows (ecompites) + Depmedons dotugzers) 1 -Analzadores de adits Grapes) + Opliadones de odio (odo cptinnsi:} + Consus cons (sonprescrrs) + Pregmaesudots (preprocessor) + Forateecns omar) + Eton etors) 2. Traductores Ch traducter 25 un programa gue proceaz an txt fant genere un feo objeto. EI tadartoresté escrito en unlengugi de Amplemonicetn (Lana denonanada engeae ot EL tect Punt ata ecto on logue ute (24), po eeepl ulenguye 2 alo aval EL xe objets eat soit a Zen zege objeto (LO), por sjemplo an eaganje micyans,excantlades wot Leng) de alo vel Se sue ulin molcidn eT Wl Como se ues en gure 5. Ca notacn ew T taobién 2 parce ceprsen ty de Uns forte striada coma: LE,LO, longucye free (LF)esellnguay igen que masta eltecactor(pvejenpieC, CH, Fase FORTRAN, PLA,COBOL, ADA, MODULA-2, BASIC, C.), Tembien pueden sx gues de bajo evel longuaie objato (LO) esollorgje al quem tadaroo bo fur. Los lengajce opto pnodonsex por sjoepo cho ngs Ge ao nivel. cl lexgusje miquina > uu icroyrecesadordetercoinao, un enguae ensamblad, Blisnguje de fupleme niaciba (LD) o angus hosese lexguaje ea gue esi csi el lmducoc Puede ser cualquier lente, este lengunje de alto nivel am engoaje eee LF Lo ul Fig Nota en T 22 Ensambladores Sial Bogugie ante 200 lengue ensanblador (en inglisaasenbip)y el lenguaje objeto eael league mafguina, nfonees sl ‘paducor 32 Toya ensam lader (en inglés asconhio) Los evzaméltoes son madactores actos, en los queel lengua fete tiene una ovtrastan oaiple que pniste uta besocion do wa sexta fips aura inetupnoa salvage mute, guaratdce cas fedosloscasosestarelacn uno auro, Hayersantladows que iewen xacrirsinecionrsensulengune.Eslsmacseinstucricres, fc aenenb con ev tome, = auelen trade a vias metroceicnes de magna A este tipo de ensembacones 3» les dencnne smacrvensambladeres en inglés nacroaserble), Actueavente mayor pate de las exenvbladons euaecines son moactoeazate adore, 23 Compiladares Ch teductor gue transforma esos fuerte de lengugis de allo nine lengus de bfonivel see deroraingcompiladox (en angles company "temo ape ae recesits yar tdi lengua de alto aves lengusje objeto ot dexcmita tnype de conypiae ion (compilation time) Bl topo quo tarda mn ojecctuss wx progr sbjeto co dexcriva topo de ejoruin rut fm) Programe fuanta [-compinaner >} Programa cbjoto tiorapa do compiacion Fig. 6: Concopto de times de compan Notse que el progata fo ya cates pocessn on diftentsteomentog denoninadas tsp de company Hemp oe ejpeaitn, DaTos Progiarna objeto |-—@ EJECUCION —™ —_Recultadee tiempo de ejecucién Fig. 7: Concagte de temso de ejecucibn 24 Mantadores de aalacas En elpones de compilacin vise Pewin exis el pocesode monine de enlaces, ese resucs cuando lengua fence omit una Segtrataoén do lee progxenea et tao, dexominedae do ditaasfontae gin sllonguse do progmmaasin mgleac (Gnoculor, mats bowniss, mececiriens, fincones, suoruaea..,oLleng aye ALIA inbodce a wded de ceremlacon, 2m ms compilation nt, Dichas patra tombe pura compe pores parade, poduriendcee le cig objet d cada wand he pata. lmonisor de enlaces enlszaor(eninglstinka)walizeelmorinjedelosestirtséekgos obj, roi e dul de cares, aque el pogmne chet compo, sien] cama (en inglés oes) quien Io term a memeria (fg 8). Laconeilicién gente tcédigo abjeto lanl reubiable, cay sigifcadoe que Ie posconea de nnioric evan son ‘hetiras Fl torttorde enlares seencnga de colocardet de ogra pins] del asstn, todos los dus renbirebles PROCESO DE COMPILACION, MONTAJE ¥ EIECUICION Ce Loe | er fe | | le cave Fig &: Fasesde comptacén, montale y ejecucicn 25 Cargadores Flsaagador se encargs de coleare fixer ejeutsb ex meroia eignando el espacio neveserio al progr en memcvia. 7 sudo ol contol I izeera dels nsbucciones a ejecwat, comerzando a condiauacin la fae de ejecacién, oer 28 Jpogra includo con el eistrn apatite eleistensa operative MS-DOS* el cangader ot dato del ints de comnaos CCHIMAND.COM, Véese melanexo XY na explicacisn de come tabejaeleangedaren el ema oprative MS-DOS* 2.6 Intaxpretes os intorpreies son progremas que simplemente feceten lesinsirccienasque encusriran en el texo fuente. x muchos casos coexist en mentcna el progratia Fuente se] paogziana iaténete (ig. 9), Nétoe que neste casa todo ce hace enticno de eer wiéa, Algmesde los lengnajes cornneente inferreads son el BASIC, LOGG, PROLGG. SMALLTALK, APL y LISP Datos Programa fuente |» INTERPRETE—=| — Resuitades Fig. Fundanamienio de un rterrete -10- Bridentencente le sjecwiGnide un programa compilids send mnie nip que la del sniome programa interpre tado. Sinenbarso lsinkécpertes son misintrartivesy fran ha pursta a punta de ogreams Algunos Inguajes de progranecién tanslo pueden set intermetados debido a sus caractersteas, porejemplo alzines lengusjes furetotaes y lengusjes onenfedos a objeto. Enestos casos coxibten intérpretes con comp ladoresincrementales qu: purdon zcowepilar loo wédule molifioados on Somapa de ejocwsisn, Losintéqee ts se estucan en el apartado 13. 2.7 Decompiladores {ns dscompitadores rain ta tarsainversa alos compares, es deer son wn case particule de fos waducton sen ios cules el programa fuente sun longus de bajo nivel el lengugieobfeto es un engucie deni superior Est tueaesdhfbil, sobre todo sins dhoaqus ol lngus objeto nga uracinaa ézca, mo cor gus coxozra la ona on quo cote slrograa dobejo rive (orelealo ss gen6 con ux compiled deeneinass, yee Une sLesjurma de geserarion de cSigo de ho compar). 28 Desmsambladares ‘Un.cwo paticalerde lee devonpiladone coon lee devensanibladares, que fraducend ofdige méguinaa meanblador,quizéee ‘caso rds fie] dado que lay wa conesyondentia diecte enbe la insruceiones easaznbledr y oligo wdgulta, ‘Un ejemplo do dhovnounbledome oe l.-(AZALHD7, AZAOE), donde oe desanolln tn conjnto do koamientus par do encantlaryensanblat yecods dela nedquna viral de Seva VI, 2.9 Depuradares Loo depandoroe (on inglés dabuggors Memalonte doqpamcitdoms) zon hirzaminas que permiten ancentrary corregir los erroras ds tos prograraas (denonciadas en ingles bugs, parish) Estas heneanients suelen it ligedes a los compiledones de fore ‘que el progranador purda compncbar yvisnalizarlaconectaejecurién de unpeogrea. Lascaractristicas habitus de los de pumadares + Peniten observa I tana de los piogramaafients, pentane la visualinicicn del valbrde cuslquisrvarshle, dincciéy cexpesion + Conngnobacisn dal eSdign objeto geneveda (hbituannents ensanbledar a instraccionss en eSdign inning) yor cada instruceisn del programa Sure + Observacida dela tam abajo nivel dl programa ejecuble, viewelizarde enejecueisn le vaaee de le diofatae osicionts de emoris, de los registos del micro rocesadcr, eb Loedepandoneutiizan parte dela aontacién wud en etpede compilaién por ol eupildr, que hdbituabnents 2006 arena en eecuciin, Jo oun perme restiblecer los laa existrtes enve el oSdigo ftexte ye cédiga abjero. Como deyundares comerciales en el eniomo DOS se pueden citat TURBO DEBUGGER de Borland y CodeVewde Microsoft 2.10 Analizadores de rendimiento Las andizadones de rendiniento (Genominsics hebitualnent en lengua ingles prof¥ers) son tenements que pemniten examinarel comporianienio de los progranasen tiempo de ejesuriin permit comprar que zonas de] cidigo trabajan eficin- ‘orcente youaloedibsvix ov wviexdas poroubajo mnnioxto, Artuslnents lamayey parteds oecongaladaves comerciales incerpo mn anelizaioes Ge rencienty, por ejemplo: TUR5O PROFILER® ce Borland y Source Proplty® de Microson. 2.11 Optimizadores de eédige Lop optimizudone do cédigo puodon oor bonaziortas indopondionta,o ont incline on lee comiledeace 0 invosazoe yor redio de oprionesde compilaciay sien esta iltaca fonra como se surlen encanta ena masta pane de losccmpladoes comercabs ‘Uncopeidn hebituel de aptinizorién es clegixeataevelovided de ejecuciSay texmao del ofdignojeeatuble. Ota opeiones aon gexen codigo para un micropmocesasior empecifiro dento de aa fara de murroprocesadoves, alana la comqrotacion de rengos © ‘Sshondamionins de pla (stack, evalvacidn an earicte ita (zhort-cisu) pare expresioneshooleats elininarién de eéciga maetto (on utlizado,clininasion de fiioxes no ablizadas (por ejomple la opsién /PACKFUNCTIONS de Mizroa0f®) tc 2.12 Compresores Los coreptesomes de ficheres son ana herrrsenta habitul (PKTIP, ARJ, .) de nso en el camp de Ta informstia. These yrttcular aon les campos de fchetos ejecutdsles que edacen el taiio de los ejerutablea,existen varios en el metcada: por ejemplo Is option {EXEPACK de Micros ft” yaa los prograneas Gesanolledos con cotopaladones de Microsoft, vottos de uso can cuelquevejecatdble (FLITE, LZRXE, et.) 2.13 Preprocesadares Es an ceso pantivular de an badurtor enel cud se hacen sustcimes de las macros defines. E) eprocesadon eal las sustitusiones, peo mo have ning in tpn de andisis del contevto donc las vealiza, dela acl pine pel diferencia ene tx pepwocesndor ‘yols igor de procesadares de lengua. Ua ejempla de prepcesndor os elinccrpomda por los compiledoresdelenguaje C. oe 2.14 Fonnateadores Les formateadores pueden sex de aeuchos tos y con diffrentes fines, desde Ins dedicelos a formatear textos, ecuncionss 0 rogramas. Las fonnetessoresde pn gramas resalansusintaxiso snestnec in, yar Ioewal es receserioconneelasinaxisdelleng vale sormnaiear Tanbstn pueden enttardento da ast gra Tos awsrersaes de fasting 2.15 Editares Les editores de lerguajes de programariin con sintaxis wseltala por medio de ccloeso tipos de leta gemitex amar a la atenviénal pogranadoren el moments mismo que estéeseritiende progmana, sinnecesided de compilay, dedequele-vanincorpomada lasittazis del lenguae. 3. ARQUITECTURAS DE ORDENADORES Enladisciplina de Frecesadores de Lexg ujelos compiladores ocupanuna posicisn privilegiads, dada queson les Rerrncientas zis utlizedas por los profesiondles de Is Informatia para el cesirolle de aplicaciones, En el caso partcular del desanolle de com qllacores es necesenic tenet defines tres planes basicos: + Ladefnicién léxice, snticiicay soméntica del lenguaye fuente 2 compilar + Laestructuna interna del compilader + Laarguitestura del ordenadory su repertorio de instruccionas que consiturd ol lnguaje objato Les dos primeros places se tatanén nos apartados siguientas, con el tercer pilar ten alo trated resltase Ia velncién ini sorte lar teonologiee ce corepilaeiSn ylecanquiecture de orGenadotes, yee yroblemar que planta arpa avolurién de étie tines TLILi0q Eldesanolo de muevasaryuitecturesdeonderadanes que rsina asuverles conespordientes gererieiones de eirmprocesadores con sus repevionos de nstncciones plantedadese ene atts esos dcs problems: + ¢Cémo se pueden efecutar las aplicaciones desarroliadas para ofras arquitecturas de ordenadoresen amueve argntectora? + Dade que an compilador es un programa demasindo compleja pan eserbitle dims facente en lerguaje miquina {Con gud we ascribe el primer comptlador? Las das cuestiones anterioes estén Igadas ente si, sin embargo el primer problema plantado no sélo es aylicable a la construrcidnde murvisarquitecture, turisiénse aparece cusno esnecesara la compailalidadde aplicaciones enbe diferentes sistemas openstivosy aquitectures ce ordensdoves. Lassolic‘ones hebitualmente erupbadas para resolvereste roblemna esel nepleo de alguna de ls tcricas yhemannientas presentedas en la fg. 10 ques comentana continaacin [SITES3] Velocidad de ejecucién Mas lonta Mas répida interpret Traductor software aint ad Emulador ompliador Hardware nativo Fig. 10h Técnicas para eaizar migrsdianes de aplescianes ante diintasanyuitecurse + érprate software o enuiadorss softwere, Un inter te software de codigo binaroes ux programa qur Ire ane ana Jas insbuctiones bnaias de Ieangutectua migia que estdnen ux cheroejeutdle,y hsinterwe a. Losintyaetes na son muy epids, pove se pleden constr yacaparadistnhs equitec tures sinexcesives castes de dsanolo. Se puede sumentareldinaentode los interes Czeando wna cache que penn abaacenar foncesinenaedias de mstucsiones que jase ateotzen pevianent, Ejenpos comercials de mntaqaebs softvare bata son las exculdres de DOS era distintoe sistem cyeratves (por ejempla SoRPC°de Insignia Solutions). Ctr ejenepla son los intéprtes de la régpina cbstacta IVM (leva Virtual Macline) pa distnas platafornas y que yernitnejesualos cédigos bnaros denominaos bytecode (chews con le extensin. ca) + Bruladoreshardvars. Un emulador handwere trcbajede formasinilera anntérpiete de software, rem estéinplementac femhardware de fonne que decedifica las instrucciones de la axjuiectura antigua ylas traduce a lanneve anquiectura. Un emulador hadware e¢ ruucko mésrépid que tn inténpete software, sinembargo sblo x puede disefar jan ma néquiza specifica, Un ejemplo sonlos micyoprocesedores Java que emuanla maquina cbstacta JVM (lava Vittual Miche), ‘anbén denorainidos por Sumarquibctunes Pealava [WAYN9G) Traductores entre eédigos binarios o ensamblaores. Sen coxjunios de instmecionss de la wueva arquitectara que reproducenel comporlaniente de un programa en la anguitectura antigua, Habitualmerte, a inforacién de h méquiza antigua ce almapena en egistos de la mova méquina, Losyogramas tadaridas a nivel Bnario 0 exsablador son més répidos quelos inérretes software o emuladores hardware, pore mis loos que los programas corstruidos concomple Idores ratios que aprovechan a mixieno la erquitectura de ls meva resquina. Ejenplos de taccutrestonatiosson los desaollados yor DEC yare wedui instucciones de les anputecturss VANS y MIPS" a le nueva anpultectur: ALPHA [SITES + Compiladoresnaavos. Los yrognms fuente antiguas se pueden volver ¢ resomplar com corapiladores desarollados ava la meva exuitertura, spovechando al maximo sus caracteistives, Esaes la opeionqur produce la rejor calidad de codigo objeto en la nueva anuitectus, ypor consiguiente Is raayor velocidad con respec toa es opciones come nades anviomente. Enel siguioate apstado se explican hs compiladores cruasdes, como una hesramieata pam portar comt- yiladowos yoofavene ete datites anqpitectune (Ono grchlemaclisioo enarquiecture de ordenadcreses como medirelrendimiont de les diferentes axqutecturas yoompararles ent si [PATTSO]. Actuslment las prusbas de readiniento més ampliamente acepladas son las prorbas SPEC, desanolladas por el caganiano djstem Performance Evaluation Corporation 7 que extdaeapecializadasen medixel sxinsento en platafomue que utizan uiroproceeadoree dirt, Une veaeisn do lao prusbar data de 1992, y eon vemionee diferent gars opemarionee oon enferce (SPBCint92) y paraoyeracionss con pants fitanto (SPEC 02) [SHARD]

Vous aimerez peut-être aussi