You are on page 1of 14
i, INTRODUCCION A LA PROGRAMA 12. LENGUAJES DE PROGRAMACION Lo importante no es el lenguaje que uno sino lo que uno tiene que decir y cdmo lo dice Si la computadora pudiera leer nuestra mente y realizar de forma automatica las acciones que queremos que haga el mundo seria otro (empezando porque no existirian programadores, ni este libro), Afortunadamente eso sélo ocurre en las peliculas de clencia ficcién. En la vida real las cosas suceden de una forma bastante mas primitiva: la computadora Solo have aquello que el programador le indica que haga. Si el programador es Bueno, la computadora es util; si el programador es malo, la computadora es un gasto indtil. Lo verdaderamente importante es que el programador sepa darle Instrucciones a la computadora, pidiéndole lo que quiere que haga. Aqui surge un nuevo problema: la computadora solo entiende ceros y unos, mientras que nosotros hablamos nuestro idioma native. I reto es encontrar una forma de expresion que tanto la computadora como nosotros entendamos. Todos ya sabemos que las computadoras trabajan con un sistema numérico basado en ceros y unos, denominado sistema binario. Es asi por que a través de ange mos 8° pueden representar esludos de encendido y apagado, que tal como la clave Morse, puede utilizarse para transmitir mensajes, lo que en computacién llamariamos paquetes de datos. Intemamente las computadoras sélo entienden de secuencias de némeros binarios, que no son otra cosa que paquetes de datos reconocidos Por el sistema Operativo como instrucciones que provocan comportamientos especificos en los dispositivos, Una determinada secuencia de ceros y unos tepresentaré una accién especifica para una determinada plataforma operativa, pero la misma secuencia de Face pines Puede no significar nada para otra plataforma operativa. A este fenémeno se le da el nombre de incompatibilidad, que se define como is Incapacidad de equipos 0 dispositivos de reconocer un conjunto de instrucciones o Witenes te,Gates. Los programas que funcionan en una plataforma, por ejemplo Windows 2003, seguramente no funcionarén en otra, como puede ser UNIX 6 Linux, En ese sentido, los equipos serén incompatibies. Es importante aclarar que no siempre las diferencias entre plataforma operativa producen incompatibilidad; un Sauipe corriendo en Windows 2003 y otro ejecutando Windows XP, siendo ALFAOMEGA LOGICA Para COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ . Lenguajes de Programacion formas operativas distintas, pueden leer practicamente los mismos paquetes datos, contenidos en archivos que ambos sistemas pueden reconocer. Dependiendo la necesidad que se tenga, debera optarse por la plataforma rativa mas conveniente. Seguramente si su negocio es el disefio grafico jonaré un equipo Mac, dado que esa plataforma operativa tiene grandes ‘ajas en ese tipo de trabajo; si lo que desea es realizar trabajo de oficina, y tiene necesidad de compartir mucha informacién con mucha gente, seguramente leccionaré plataforma Windows, por ser la que tiene mas difusion en el mercado irket share). No sea de aquellos que se desgarran las vestiduras por tal 0 cual plataforma, tipo “amo a Linux odio a Windows”; sinceramente hay cosas més interesantes qué apasionarse. Cada plataforma tiene sus ventajas y desventalas, y mos tener la cabeza lo suficientemente fria para elegir lo mas conveniente una situacion dada, mas alla de nuestras preferencias personales. Aquél que ‘obsesivo con una plataforma especifica lo Unico que hace es auto-limitarse en posibilidades profesionales. 00101001001 0100100101, 01101100 010111101, 1.9 Una secuencia binaria que para Windows es un sonido, para Linux puede no significar nada. PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ ALFAOMEGA 4. INTRODUCCION A LA PROGRAMACION Al conjunto de instrucciones representadas como secuencias de nimeros binarios que una determinada Plataforma de equipo reconoce, provocando en é! una determinada accién, se le llama lenguaje maquina. Nuestro trabajo como programadores es generar codigo maquina. Elementos de Lenguajes de Programaci6n Los lenguajes de programacién son estructuras simbélicas que nos permiten disponer de los dispositivos de una computadora. Los lenguajes de programacién tienen lo siguientes elementos: O Estructura del cédigo. Es la forma general en que deberd escribirse un programa, con el fin de delimitar los bloques de cédigo que los componen, en una forma ordenada y sistemética. Por bloque de cédigo debemos entender al conjunto de lineas de cddigo que pueden ser consideradas como unidad independiente de ejecuci6n, La estructura del cédigo evita que se escriban porciones de c6digo en lugares inadecuados, en los que no tiene sentido que se escriba cédigo. O Palabras reservadas. Son palabras con significado dentro del lenguaje de programacién, que no Podrén ser utilizadas mas que en el sentido original en el que fueron creadas. En realidad se trata de simbolos que provocarén un Comportamiento predecible. Generalmente son palabras en inglés, que en el caso de ser verbos estén en infinitive; palabras como PRINT, o DELETE son comunes en todos los lenguajes. O Expresiones. Son valores expresados de forma entendible para el lenguaje de Programacion. Generalmente los datos de tipo numérico no tienen problemas, ya que se escriben como normalmente los entendemos. Las expresiones textuales, llamadas cadenas, son secuencias de caracteres generalmente delimitadas por comillas simples o dobles, dependiendo del lenguaje. Datos como las fechas ya son mas complejos y se estudiardn cuando se trate el tema de las expresiones, CO Simbolos especiales. Son los caracteres (generalmente no més de dos), que provocan un comportamiento predecible dentro de un programa. A esta categoria Pertenecen tipicamente los operadores aritméticos (+, -, *, /) y de comparacién (>, <, <>, ALFAOMEGA LOGICA PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ 1.2. Lenguajes de Programacién O Sintaxis. Segtin la Real Academia Espafiola, la sintaxis es la parte de la gramatica que ensefia a coordinar y unir palabras para formar oraciones y expresar conceptos. En el caso de los lenguajes de programacién, la sintaxis es la forma ordenada en que se deben especificar las palabras reservadas, las expresiones y los simbolos especiales, a fin de que tengan significado para el lenguaje de programaci6n. Generalmente el no respetar las reglas de sintaxis de un lenguaje provoca errores en los programas, o simplemente no producen los comportamientos que se esperaban. O Seméntica. Son las reglas que determinan el significado que ha de darsele a una palabra reservada, expresién 0 simbolo especial, dependiendo del contexto de sintaxis en que se encuentran. Un ejemplo en el que la seméntica toma relevancia es cuando se utiliza en algunos lenguajes el simbolo de igualdad dependiendo de la sintaxis utilizaca el simbolo de igualdad puede asignar un valor, o bien indicar una comparacién en la que deseamos saber si un valor es igual a otro. El objetivo primordial de un lenguaje de programacién es hacernos la vida mas sencilla, proporcionandonos formas humanamente comprensibles de construir secuencias de nimeros binarios reconocidos por un entorno operativo, a través de simbolos y palabras equivalentes. Sin la existencia de lenguajes de programacién avanzados, seria imposible la elaboracién de programas tan Utiles y complejos como Microsoft Word 0 Microsoft Excel. Los millones y millones de secuencias binarias que tendriamos que proporcionar a la computadora para obtener la funcionalidad que nos dan tales ‘programas excederfan nuestro tiempo de vida. |étiizamos para hablar. dado que tenen 10s mismos elementos. [sigunes comunidades en donde se utiliza coma lengua de expresion el inglés y el lespatiol de forma indistints, por ejemplo en Miami, Floride, se tiene la tendencies a) modificer la sintanis; podemos escuctiar que pregantan “ZQue tu plensas?”, cuando ls Jesiructure correcta Seria “2ué piensas ti?” No eritumos le critics facif sit erveliza PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ ALFAQMEGA 1. INTRODUCCION A LA PROGRAMACION Ejemplos de lenguajes de programaci6n Visual Basic.NET, C#, C++ y Java. Cada uno de ellos tiene su propia identidad y Sus legiones de seguidores. Este sencillo programa se encarga de solicitarnos un dato textual, para luego mostrarlo. Visual Basic.NET 4 imports System z 3 | Module CtMensaje 4 Sub Maing 5 Dim Mensaje As String 6 Console. Write("Escribe un mensaje a mostrar: » 7 Mensaje = Console.Readline() 8 Console. WriteLine(Mensaje) 9 End Sub 10 | End Modute co 1 ‘using System; 2 3 class CiMensaje ait 5 static void Main{) 6 i 7 String Mensaje; 8 Console. Write("Escribe un mensaje a mostrar: % 9 Mensaje= Consale.ReadLine(); 10 Console. WriteLine(Mensaje); 4 } 12 4} ce 1 ‘include 2 using namespace std; 3 4 woid main() 5 iE 6 ‘strit a Bo SI ere Ferien 8 cin >> Mensaje; 9 cout << Mensaje << endl; 10 1} ALFAOMEGA LOGICA PARA COMPUTACION / LEOBARDO LOPEZ— FELIPE RAMIREZ 1.2. Lenguajes de Programacién — a Java 4 | import java.tang,*; 2 | import eran: 4 Bas CiMensaje 5 6 public static void main(String ares{]) z : throws java.io.lOException 9 BuiferedReader entrada = new 10 BufferedReader(new inputStreamReader(System.in}); it String Mensaje="; 12 System.out.printin(Escribe un mensaje a mostrar: ); 3 Mensaje=entrada.readi inet); 4 7 System.out.printin(Mensaje); 16 43 Dependiendo su gusto personal puede seleccionar el lenguaje que mds le mode. Lo importante no es el lenguaje que utiliza para decir las cosas, sino lo dice. Ninguno de los programas que ilustramos significa nada para la computadora, do que no son secuencias de ntimeros binarios. Atin falta entender el proceso de mpilacion, que se encarga de traducir nuestros programas a un formato itendible para la computadora, es decir, en secuencias binarias ejecutables. lpos de cédigo Codificar es representar un mensaje de forma sistematica, atendiendo leyes o las especificas. En el caso de la programacién, lo que se quiere representar son iones y actividades que queremos que la computadora realice. Lo hacemos de a sistematica porque agrupamos palabras reservadas, estructuras basicas, ibolos especiales, que unidos nos permiten representar la realidad que remos automatizar. Utilizamos los lenguajes de programacién para representar de forma ificada las actividades que deseamos automatizar. Lo que nosotros escribimos S incomprensible para la computadora, ya que es necesario que se traduzca en iencias de ntimeros binarios que pueda entender. Los tipos de cédigo que existen son los siguientes. O Cédigo fuente. Es el cédigo tal y como nosotros lo escribimos. Los ejemplos que hemos visto en este capitulo son ejemplos de cédigo fuente. Nosotros como PARA COMPUTACION / LEOBARDO LOPEZ~ FELIPE RAMIREZ ALFAOMEGA 4 INTRODUCCION A LA PROGRAMACION _ Sn OC CION A LA PROGH 3 Programadores podemos leerlos € interpretarlos sin la necesidad de una computador. EI cédigo fuente puede ser ambiguo dado que muchas personas pueden escribir programas diferentes que hagan lo mismo: en otras palabras, representan de diferente forma lo mismo. En c6digo fuente, dos programas que hacen lo mismo pero que estan en diferente lenguaje de Programacién son enteramente distintos. O Codigo intermedio, Es el c6digo que resulta de haber sometido al c6digo fuente a la fase de anélisis del proceso de compilacién. Este proceso lo libera de ambiguedades, de tal forma que se eliminan los errores y excesos del programador, dejando peed esentacién abstracta de! programa. El cédigo intermedio ya no Puede ser leido 0 interpretado por el programador, pero atin no puede ser interpretado por fa computadora. Este cédigo es independiente de la maquina. E! cédigo intermedio puede ser compilado o interpretado; es compllado cuando se somete a la fase de sintesis del proceso de compllacion, generando cédigo maquina a partir de él; es codigo interpretado Cuando es lefdo por un programa intérprete que provoca el comportamiento del programa, sin que nunca exista realmente una version en cédigo Imécuina del cédigo fuente. En ocasiones al c6digo intermedio interpretaco se le da el nombre de cédigo objeto, O codigo méquina. Es el C6digo que resulta de haber sometido al c6digo intermedio a la fase de Sintesis del proceso de compilacién. En este proceso, el cédigo intermedic da {uéer al cédigo maquina, que son secuencias de nimeros binarios que la computadora interpreta. Cabe aclarar que el cédigo maquina no puede ser interpretado por el programador, y en la mayoria de los casos tampoco puede Ser interpretado por computadoras que funcionan en diferente ambiente Gberativo que la computadora que se utiliz6 para su creaciGn, Este cédigo es dependiente de la maquina. Al programa que contiene el cédigo maquina y la informacién suficiente para que el sistema operativo reconozea que se trata de cédigo maquina, se le llama programa ejecutable. En el ambiente Windows / DOS, la extensién de estos archivos es EXE. Construyendo secuencias binarias ejecutables Los lenguajes sirven para generar programas que seran ejecutados en Ia computadora con el fin de que realicen tareas especificas, Los programas, tal y como los escribimos, con instrucciones, comandos y estructuras que podemos leer, reciben el nombre de Cédigo fuente. El cédigo fuente no significa nada para la computadora, pues se trata de un Conjunto de palabras y ALFAOMEGA LOGICA PARA COMPUTACION / LEOBARDO LOPEZ— FELIPE RAMIREZ .. Lenguajes de Programacién simbolos; como sabemos la computadora sdlo entiende secuencias de nimeros Dinarios que reconoce como érdenes. Compiladores Los compiladores son programas que leen un programa escrito en un lenguaje, al gue llamamos cédigo fuente, y lo traduce a un nivel de abstraccién entendible por la mputadora. Los compiladores le traducen los programas fuentes a la computadora, ilizando para ello un proceso en dos fases: anilisis y sintesis. Fase de andlisis. El proceso de andlisis consiste en descomponer un todo en sus partes a fin de entender mejor el todo. En términos de compilaci6n se llama fase de andlisis a la parte del proceso que divide el programa fuente en sus elementos (instrucciones, estructuras de control, declaraciones, operadores, etcétera) validando que esté sintactica y semanticamente correcto, generando una representacion abstracta del cédigo, al que llamamos cédigo intermedio. Este cédigo intermedio es una abstraccién del cédigo fuente, que dice de qué forma se debe comportar el programa. Debido a que el cddigo intermedio atin no es cédigo nativo, es independiente del equipo. Generalmente el compilador que realiza Gnicamente la fase de andlisis es conocido como analizador de cédigo, 0 parser. Fase de sintesis. Por otro lado, el proceso de sintesis, es lo opuesto al andlisis, y se encarga de generar el cddigo maquina. El cédigo objeto que se genera de la compilacién no siempre es ejecutable; puede ser que el cédigo objeto esté formado por secuencias de nimeros binarios que el sistema reconoce como 6rdenes; en este sentido, el cédigo objeto sera cédigo nativo, y en consecuencia sera ejecutable pero dependiente de! equipo que lo reconoce. Por otro lado, existe la posibilidad de que el cédigo objeto sea una forma depurada de cédigo intermedio; de ser asi, se requeriré someter a dicho codigo ‘objeto a otro proceso de compilacién cuyo producto si sea cédigo nativo. Se tienen dos tipos de compiladores: compiladores en una fase y compiladores ‘en dos fases. Los compiladores de dos fases producen cédigo maquina a partir del cédigo fuente; el compilador realiza tanto la fase de andlisis como la de sintesis, por lo cual este tipo de compiladores no generan cédigo intermedio. Los compiladores de una sola fase se encargan de la realizaci6n de una sola fase del proceso de compilacién (anilisis 0 sintesis); el compilador que realiza la fase de andlisis producira cédigo intermedio, mientras que el compilador que realiza la fase de sintesis producira cédigo maquina. Es i, INTRODUCCION A LA PROGRAMACION Utilidad del 6digo intermedio © El cédigo intermedio es independiente del equipo; compilar hasta cédigo intermedio permite disponer de un nivel abstracto de! cédigo fuente, independiente del equipo. Clasificaciones de los lenguajes de Programacié6n Los lenguajes de programacién pueden clasificarse de diferentes maneras. nmeros binarios represente cada simbolo del lenguaje, mayor seré su generacion, Lenguajes de primera generacin. En los inicios de la computacién, las instrucciones se le proporcionaban a la computadora en lenguaje maquina, en formato de secuencia binaria, en obvia Proporcién de 1 a 1 (una secuencia binaria, una instruccién a la computadora). ALFAOMEGA LOGICA PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE Ramirez Dinneitiusen Para desarrollar en los lenguajes de Primera generacién era necesario conocer qué representaba para la computadora cada una de las secuencias binarias que utilizariamos; prdcticamente, sdlo el Constructor de la computadora podia programarla. Esto planteaba una enorme limitacién, ya que la capacidad humana para estar preparando las instrucciones, nos llevaba a la elaboracién de programas bastante rudimentarios, por ejemplo una suma o una resta. Elaborar un programa compuesto por millones de secuencias de numeros binarios era imposible, En resumen, en la primera generacion se proporcionaban secuencias binarias directas, que pasaban a ejecucién en la computadora sin interpretacién o manipulaci6n alguna. Lenguajes de segunda generacién. La mayor limitacion de Ia primera generaci6n era que las secuencias binarias eran dificiles de entender. En la segunda Seneracién se recurrié al uso de términos mnemotécnicos (propios de un sistema para mejorar la memoria; del griego mnémo, memoria); la Proporcién de instrucciones y simbolos seguia siendo de 1a 1, pero con la ventaja de que ya no era necesario aprender secuencias binarias, sino palabras, generalmente abreviadas. En resumen, en la segunda generacién se Proporcionaban mnemotécnicos que la herramienta de desarrollo traducia a secuencias binarias, que pasaban a ejecucién en la computadora. Lenguajes de tercera generaci6n. Si en la segunda generacién era posible fepresentar una secuencia binaria a través de una palabra, también deberia ser posible representar varias secuencias binarias a través de una palabra. Bajo esta premisa, nacen los lenguajes de tercera generaci6n, como BASIC, COBOL, PASCAL, C, etcétera. Con estos lenguajes, la proporcién de instrucciones y simbolos era de muchas a 1, lo que significé un avance exponencial en el uso de lenguajes. Ademas de la proporcion instrucci6n / simbolo, otro rasgo caracteristico de esta generacién es que la codificacién, aunque més sencilla, seguia siendo realizada por el ser humano, es decir, por los programadores. En resumen, en la tercera generaci6n se programan instrucciones que la herramienta de desarrollo interpreta y traduce en una o mas secuencias binarias, que pasan a ejecucién en la computadora. Lenguajes de cuarta generacién. Algunos lenguajes y herramientas de desarrollo comenzaron a integrar sistemas de macroinstrucciones y Beneradores de cédigo, automatizando el proceso de proporcionar a la computadora instrucciones de bajo nivel. Las macroinstrucciones son instrucciones de nivel superior, que al ejecutarse Producen los efectos equivalentes de un conjunto més amplio de instrucciones del mismo lenguaje, pero de nivel inferior, ISGICA PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ ne a > INTRODUCCIGN A LA PROGRAMACION Los generadores de cédigo, por otro lado, son herramientas que con poca interaccion del programador generan el cédigo que desarrollaria ciertas tareas Tutinarias, dejando al programador la codificacion de aquellas reglas espectficas del negocio, que no podian ser realizadas de manera automatica. Las macroinstrucciones y los generadores de cédigo proporcionan el rasgo Caracteristico de los lenguajes de cuarta generacién: la codificacion es realizada Por el ser humano, pero también por el lenguaje o por la herramienta misma, La codificacién es un proceso asistido. En resumen, en la cuarta generacién se programan macroinstrucciones ¢ instrucciones; la herramienta de desarrollo interpreta y traduce las Macroinstrucciones en instrucciones de mas bajo nivel, las junta con las instrucciones que el programador haya enviado, las complementa con Instrucciones que genera de manera automética, para después interpretarlas y traducirlas en secuencias binarias, que pasan a ejecucion en la computadora. yy ce ir, ieramente inteligente que aceptara sdio regivs de. HegocI0, Y que con bese s ello, deserrollers todo e! cédigo. Hasta el momento no; hemos visto une heremienta de desstrolio que est io hag, Clasificaci6n de los lenguajes en cuanto a su nivel El nivel de los lenguajes esta asociado al ntimero de plataformes en las que pueden clecutarse los programas desarrollados en un determinado lenguaje. Como ya vimos, las computadoras solo actian en respuesta a secuencias binarias; cada Plataforma de computadoras responde a las secuencias binarias que reconoce como instrucciones. Lenguajes de alto nivel. Un lenguaje o herramienta de desarrollo es de alto nivel si existe la posibilidad de generar, a partir de un mismo cédigo fuente, Secuencias binarias que sean reconocidas por varias plataformas de Computadoras. Lenguajes como C, COBOL, y PASCAL, pueden servir en plataformas distintas, como Windows, UNIX y Linux, con un mayor o menor grado de portabilidad. La portabilidad es la capacidad de los lenguajes y herramientas de desarrollo para generar productos que se ejecuten en diferentes plataformas, Preferentemente sin cambios en la codificacion. ALFAOMEGA LOGICA PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ , Lenguajes Ge Frogramacion — a Lenguajes de bajo nivel. Un lenguaje o herramienta de desarrollo es de bajo nivel si no existe la posibilidad de generar, a partir de un mismo cédigo fuente, secuencias binarias que sean reconocidas por varias plataformas de computadoras. sificacién de los lenguajes en cuanto a su propésito proposito de los lenguajes esta asociado a las ramas del conocimiento humano las aplicaciones desarrolladas en dichos lenguajes pueden cubrir. Lenguaje de propésito especifico. Los lenguajes de propdsito especifico son aquellos que Unicamente permiten desarrollar aplicaciones que cubren una determinada rama del conocimiento humano. Un ejemplo de este tipo es el lenguaje COBOL, que fue pensado para aplicaciones de negocios; desarrollar una compleja aplicacién de graficacién vectorial en dicho lenguaje puede resultar, sino es que imposible, sf algo muy inadecuado. Lenguaje de propésito general. Los lenguajes de propésito general, por otra parte, permiten desarrollar aplicaciones que practicamente cubren todas las ramas del conocimiento. Un ejemplo de esto es BASIC, que igual permite desarrollar una aplicacién cientifica, como de negocios o de bases de datos. jificaci6n de los lenguajes en cuanto a su orientacién orientaci6n de los lenguajes tiene que ver con la forma en que se estructuran mamente las instrucciones en el cédigo fuente y los programas. Programaci6n procedural. La programacién procedural, llamada también de procedimientos, implica que las instrucciones deben ser ejecutadas de manera secuencial, una tras otra, tal y como fueron especificadas. Este esquema permite saltos de control, es decir, transferir el control del programa de una linea a otra (GOTO); los programadores experimentados saben gue hay ocasiones en que los saltos de control se realizan de manera tan cadtica, que resulta dificil seguir la huella de las actividades a realizar, pues el flujo del programa no respeta una secuencia légica. La reutilizaci6n del cddigo en este esquema sdlo se da mediante la definicién de procedimientos que pueden ser llamados a ejecucién, o bien, repitiendo secuencias de instrucciones. Este tipo de programacién tiene la ventaja de ser bastante l6gica (siempre y cuando no se abuse de los saltos de control), € incluso se recomienda para el aprendizaje de la programacién. ‘BIA PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE RAMIREZ ALFAOMEGA Ea 4. INTRODUCCION A LA PROGRAMACION Una desventaja de este tipo de Programaci6n es que la reutilizacién del cédiga @s rudimentaria y redundante, ya que si un mismo procedimiento aplica con Pequefias diferencias a dos circunstancias distintas, es necesaria la existencia Programacién Orientada a Eventos (Event Driven Programming). La palabra evento proviene del latin evenire, que quiere decir suceder, producitser on materia de programacién, indica que la utilizaci6n de la interfaz de usuarie provoca que suceda le ejecucién de un procedimiento. Un ejemplo clasico de un Evento es hacer clic en un botén de la interfaz; el usuario hace clic, luego entonces, pasa algo. Como podré darse cuenta, la Programaci6n orientada a eventos es en el fondo Procedural, con la diferencia que la ejecucién de los procedimientos no se realiza de manera secuencial, sino aleatoria, de acuerdo a la forma en que el usuario en contacto con la interfaz provoque los eventos. Un proceaimiento de evento es la Secuencia de instrucciones que se ejecutaraén cuando un usuario provoque un evento. La ventaja de este tipo de programacion es que el uso de la interfaz de las aplicaciones es menos estricto, ya que el usuario puede utilizaria sin order elguno, y ello no perjudica la secuencia de ejecucién del Programa. La Gesventaja de este esquema es que sigue siendo en el fondo procedural, y por tanto tiene la misma desventaja de dicho modelo, pues cada circunstancia Gistinta requiere su propio procedimiento, Es importante sefalar que un evento no sélo puede ser causado por el usuario Sn Su interaccién con la interfaz, sino que también puede ser causado por la aplicacién, en interaccién consigo misma. Programaci6n orientada a objetos (POO | Object Oriented Programming | OOP). Los objetos son entidades encapsuladas de cOdigo y datos, que a partir de datos de entrada que reciben, proporcionan una funcionalidad determinada. En la orientacién a objetos no importan las instrucciones y las secuencia de las mismas, ya que lo que verdaderamente importa es la funcionalidad de los Objetos, sus entradas ¥ SUS Salidas. Al hacer uso de un objeto, en realidad no sabemos si éste a su vez hizo uso de otros objetos, y éstos de otros que incluso Se pueden encontrar en otro equipo de computo; como podra ver, el orden Secuencial de las instrucciones es totalmente itrelevante: no importa cémo 0 a través de qué se obtienen resultados. Lo importante es que se obtengan. ALFAOMEGA LOGICA PARA COMPUTACION / LEOBARDO LOPEZ — FELIPE Ramirez . Lenguajes de Programacién El tema de la programacién orientada a objetos es tan interesante como extenso, y requiere un analisis particular; por el momento bastard saber que uno © mas objetos pueden asociarse como respuesta a un evento determinado, eliminando la necesidad de los procedimientos de evento y obteniendo asi todas las ventajas de dicho estilo de programacién. Ademds, la programacién orientada a objetos permite la reutilizacién de cédigo de manera dindmica, ya que los objetos se adaptan a las circunstancias especificas de ejecucion, permitiendo que un solo objeto maneje diferentes escenarios. Una de las caracteristicas mas notables de la programaci6n orientada a objetos es que permite la herencia entre objetos: un objeto particular puede heredar toda la funcionalidad de un objeto general, reutilizando el cddigo de éste; con ello se ahorra muchas horas de trabajo destinado a reescribir cddigo y a controlar modificaciones de cédigo fuente. Cuando los objetos ya estan creados, es comin agruparlos en bibliotecas o librerias de objetos. Una de las desventajas del modelo de programacion orientada a objetos es que resulta un poco mas complejo de aprender; ademas, requiere mucho més planeacién y técnica de programacién para ser utilizado. Es muy bueno que la funcionalidad y el cédigo puedan reutilizarse y heredarse, pero asf como se pueden heredar cosas buenas, también se pueden heredar cosas mal hechas, por lo que debe ser mas cauteloso.

You might also like