alumno: moisés graillet cárdenas profe: josé Ángel toledo Álvarez materia: fundamentos de...

21
INSTITUTO TECNOLOGICO DE MINATITLAN Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Upload: julian-carrasco-vera

Post on 02-Feb-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

INSTITUTO TECNOLOGICO DE MINATITLAN

Alumno Moiseacutes graillet caacuterdenas

Profe Joseacute Aacutengel Toledo Aacutelvarez

Materia Fundamentos De Programacioacuten

Tema Caracteriacutesticas Del Lenguaje De Programacioacuten

Lenguaje de programacioacuten Java Java es un lenguaje de programacioacuten orientado a objetos desarrollado por

Sun Microsystems a principios de los antildeos 90 El lenguaje en siacute mismo toma mucha de su sintaxis de C y C++ pero tiene un modelo de objetos maacutes simple y elimina herramientas de bajo nivel que suelen inducir a muchos errores como la manipulacioacuten directa de punteros o memoria

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

La implementacioacuten original y de referencia del compilador la maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Entre noviembre de 2006 y mayo de 2007 Sun Microsystems liberoacute la mayor parte de sus tecnologiacuteas Java bajo la licencia GNU GPL de acuerdo con las especificaciones del Java Community Process de tal forma que praacutecticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java auacuten no lo es)

Historia La tecnologiacutea Java se creoacute como una herramienta de programacioacuten para ser usada en un proyecto de

set-top-box en una pequentildea operacioacuten denominada the Green Project en Sun Microsystems en el antildeo 1991 El equipo (Green Team) compuesto por trece personas y dirigido por James Gosling trabajoacute durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo

El lenguaje se denominoacute inicialmente Oak (por un roble que habiacutea fuera de la oficina de Gosling) luego pasoacute a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas graacuteficas y finalmente se renombroacute a Java

El teacutermino Java fue acuntildeado en una cafeteriacutea frecuentada por algunos de los miembros del equipo Pero no estaacute claro si es un acroacutenimo o no aunque algunas fuentes sentildealan que podriacutea tratarse de las iniciales de sus creadores James Gosling Arthur Van Hoff y Andy Bechtolsheim Otros abogan por el siguiente acroacutenimo Just Another Vague Acronym (soacutelo otro acroacutenimo ambiguo maacutes) La hipoacutetesis que maacutes fuerza tiene es la que Java debe su nombre a un tipo de cafeacute disponible en la cafeteriacutea cercana de ahiacute que el icono de java sea una taza de cafe caliente Un pequentildeo signo que da fuerza a esta teoriacutea es que los 4 primeros bytes (el nuacutemero maacutegico) de los archivos class que genera el compilador son en hexadecimal 0xCAFEBABE Otros simplemente dicen que el nombre fue sacado al parecer de una lista aleatoria de palabras

Los objetivos de Gosling eran implementar una maacutequina virtual y un lenguaje con una estructura y sintaxis similar a C++ Entre junio y julio de 1994 tras una sesioacuten maratoniana de tres diacuteas entre John Gaga James Gosling Joy Naughton Wayne Rosing y Eric Schmidt el equipo reorientoacute la plataforma hacia la Web Sintieron que la llegada del navegador web Mosaic propiciariacutea que Internet se convirtiese en un medio interactivo como el que pensaban era la televisioacuten por cable Naughton creoacute entonces un prototipo de navegador WebRunner que maacutes tarde seriacutea conocido como HotJava

En 1994 se les hizo una demostracioacuten de HotJava y la plataforma Java a los ejecutivos de Sun Java 10a pudo descargarse por primera vez en 1994 pero hubo que esperar al 23 de mayo de 1995 durante las conferencias de SunWorld a que vieran la luz puacuteblica Java y HotJava el navegador Web El acontecimiento fue anunciado por John Gage el Director Cientiacutefico de Sun Microsystems El acto estuvo acompantildeado por una pequentildea sorpresa adicional el anuncio por parte de Marc Andreessen Vicepresidente Ejecutivo de Netscape de que Java seriacutea soportado en sus navegadores El 9 de enero del antildeo siguiente 1996 Sun fundoacute el grupo empresarial JavaSoft para que se encargase del desarrollo tecnoloacutegico [1] Dos semanas maacutes tarde la primera versioacuten de Java fue publicada

La promesa inicial de Gosling era Write Once Run Anywhere (Escriacutebelo una vez ejecuacutetalo en cualquier lugar) proporcionando un lenguaje independiente de la plataforma y un entorno de ejecucioacuten (la JVM) ligero y gratuito para las plataformas maacutes populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma

El entorno de ejecucioacuten era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las paacuteginas web

Java ha experimentado numerosos cambios desde la versioacuten primigenia JDK 10 asiacute como un enorme incremento en el nuacutemero de clases y paquetes que componen la biblioteca estaacutendar

El lenguaje para la programacioacuten en Java es un lenguaje orientado a objeto de una plataforma independiente

El lenguaje para la programacioacuten en Java fue desarrollado por la compantildeiacutea Sun Microsystems con la idea original de usarlo para la creacioacuten de paginas WEB

Esta programacioacuten Java tiene muchas similitudes con el lenguaje C y C++ asiacute que si se tiene conocimiento de este lenguaje el aprendizaje de la programacioacuten Java seraacute de faacutecil comprensioacuten por un programador que haya realizado programas en estos lenguajes

Con la programacioacuten en Java se pueden realizar distintos aplicativos como son applets que son aplicaciones especiales que se ejecutan dentro de un navegador al ser cargada una pagina HTML en un servidor WEB Por lo general los applets son programas pequentildeos y de propoacutesitos especiacuteficos

Otra de las utilidades de la programacioacuten en Java es el desarrollo de aplicaciones que son programas que se ejecutan en forma independiente es decir con la programacioacuten Java se pueden realizar aplicaciones como un procesador de palabras una hoja que sirva para caacutelculos una aplicacioacuten grafica etc en resumen cualquier tipo de aplicacioacuten se puede realizar con ella Java permite la modularidad por lo que se pueden hacer rutinas individuales que sean usadas por maacutes de una aplicacioacuten por ejemplo tenemos una rutina de impresioacuten que puede servir para el procesador de palabras como para la hoja de calculo

La programacioacuten en Java permite el desarrollo de aplicaciones bajo el esquema de Cliente Servidor como de aplicaciones distribuidas lo que lo hace capaz de conectar dos o maacutes computadoras u ordenadores ejecutando tareas simultaacuteneamente y de esta forma logra distribuir el trabajo a realizar

El anaacutelisis es la base de la programacioacuten estructurada es decir la descomposicioacuten de una tarea en tareas maacutes pequentildeas Un programa no es otra cosa que una coleccioacuten de funciones que son llamadas sucesivamente por la funcioacuten principal y uacutenica del programa Cada funcioacuten tiene sus propias variables es un moacutedulo independiente La Programacioacuten Orientada a Objetos es el siguiente paso en la evolucioacuten de los lenguajes de programacioacuten que combina funciones y datos en una unidad auto consistente denominada clase

La creacioacuten de interfaces graacuteficos como el Windows de Microsoft es uno de los ejemplos maacutes claros de las ventajas que tiene la programacioacuten orientada a objetos sobre la programacioacuten estructurada Las libreriacuteas nos proporcionan clases que describen el aspecto y la conducta de elementos como la ventana el diaacutelogo los controles etc Derivando una clase de otra base estamos utilizando el coacutedigo de la clase base para nuestras propias necesidades y le antildeadimos el coacutedigo que implementa la conducta especiacutefica

Un lenguaje de Programacioacuten Orientada a Objetos nos permite organizar el coacutedigo en entidades como las clases compuestas de datos y funciones y a traveacutes de la caracteriacutestica de la herencia podemos organizar las clases en jerarquiacuteas

Aunque la Programacioacuten Orientada a Objetos es la manera maacutes natural de programar aclimatarse a su ambiente requiere cierto tiempo no se producen resultados inmediatos Los numerosos ejemplos que se comentaraacuten a lo largo de las siguientes paacuteginas trataraacuten de ayudar a efectuar dicha transicioacuten de un modo suave y ordenado Una vez aclimatado sentiraacute por siacute mismo la necesidad de organizar el coacutedigo en clases y posteriormente si lo requiere el problema establecer jerarquiacuteas entre dichas clases

A traveacutes de estas paacuteginas pretendemos mostrar la potencia y elegancia de la programacioacuten en lenguaje Java en dos situaciones concretas en la creacioacuten de interfaces graacuteficas avanzadas (applets) y en la resolucioacuten de problemas numeacutericos

Se pondraacute especial eacutenfasis en la Programacioacuten Orientada a Objetos que es la parte que los no iniciados encuentran maacutes difiacutecil Aprender a extraer las propiedades y el comportamiento comunes a un determinado tipo de objetos y transformarlas en la definicioacuten de una clase estructurar las clases en jerarquiacuteas constituyen procesos de abstracccioacuten que implican un cambio de mentalidad en la resolucioacuten de los problemas de software que precisan de entrenamiento y de un esfuerzo intenso

El objetivo es el de ensentildear al lector a traducir la descripcioacuten de un problema o situacioacuten que se plantea a coacutedigo a organizar el coacutedigo en funciones a agrupar datos y funciones en clases y las clases en jerarquiacuteas

Una vez entendidos los conceptos baacutesicos la creacioacuten de applets no presentaraacute grandes dificultades si se hace con la ayuda de un Entorno Integrado de Desarrollo como JBuilder de Borland (ahora Inprise) el cual genera casi todo el coacutedigo correspondiente al interfaz dejando al programador la tarea de darle funcionalidad es decir la de definir la respuesta a las distintas acciones

PARADIGMAS DE PROGRAMACIOacuteN Un paradigma de programacioacuten es un modelo baacutesico de disentildeo y desarrollo de programas que permite producir programas con unas directrices especiacuteficas tales como estructura modular fuerte cohesioacuten alta rentabilidad etc Los paradigmas pueden ser considerados como patrones de pensamiento para la resolucioacuten de problemas Desde luego siempre teniendo en cuenta los lenguajes de programacioacuten seguacuten nuestro intereacutes de estudio No es mejor uno que otro sino que cada uno tiene ventajas y desventajas Tambieacuten

hay situaciones donde un paradigma resulta maacutes apropiado que otro Hay multitud de ellos atendiendo a alguna particularidad metodoloacutegica o funcional Cuando un lenguaje refleja bien un paradigma particular se dice que soporta el paradigma y en la praacutectica un lenguaje que soporta correctamente un paradigma es difiacutecil distinguirlo del propio paradigma por lo que se identifica con eacutel

Tipos de paradigmas de programacioacuten Podemos clasificar los paradigmas de programacioacuten en Paradigma imperativo heuristico concurrente funcional loacutegico paradigma basado en objetos

Paradigma imperativo Son aquellos que facilitan los caacutelculos por medio de cambios de estado entendiendo como estado la condicioacuten de una memoria de almacenamiento Los lenguajes

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 2: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Lenguaje de programacioacuten Java Java es un lenguaje de programacioacuten orientado a objetos desarrollado por

Sun Microsystems a principios de los antildeos 90 El lenguaje en siacute mismo toma mucha de su sintaxis de C y C++ pero tiene un modelo de objetos maacutes simple y elimina herramientas de bajo nivel que suelen inducir a muchos errores como la manipulacioacuten directa de punteros o memoria

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

La implementacioacuten original y de referencia del compilador la maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Entre noviembre de 2006 y mayo de 2007 Sun Microsystems liberoacute la mayor parte de sus tecnologiacuteas Java bajo la licencia GNU GPL de acuerdo con las especificaciones del Java Community Process de tal forma que praacutecticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java auacuten no lo es)

Historia La tecnologiacutea Java se creoacute como una herramienta de programacioacuten para ser usada en un proyecto de

set-top-box en una pequentildea operacioacuten denominada the Green Project en Sun Microsystems en el antildeo 1991 El equipo (Green Team) compuesto por trece personas y dirigido por James Gosling trabajoacute durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo

El lenguaje se denominoacute inicialmente Oak (por un roble que habiacutea fuera de la oficina de Gosling) luego pasoacute a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas graacuteficas y finalmente se renombroacute a Java

El teacutermino Java fue acuntildeado en una cafeteriacutea frecuentada por algunos de los miembros del equipo Pero no estaacute claro si es un acroacutenimo o no aunque algunas fuentes sentildealan que podriacutea tratarse de las iniciales de sus creadores James Gosling Arthur Van Hoff y Andy Bechtolsheim Otros abogan por el siguiente acroacutenimo Just Another Vague Acronym (soacutelo otro acroacutenimo ambiguo maacutes) La hipoacutetesis que maacutes fuerza tiene es la que Java debe su nombre a un tipo de cafeacute disponible en la cafeteriacutea cercana de ahiacute que el icono de java sea una taza de cafe caliente Un pequentildeo signo que da fuerza a esta teoriacutea es que los 4 primeros bytes (el nuacutemero maacutegico) de los archivos class que genera el compilador son en hexadecimal 0xCAFEBABE Otros simplemente dicen que el nombre fue sacado al parecer de una lista aleatoria de palabras

Los objetivos de Gosling eran implementar una maacutequina virtual y un lenguaje con una estructura y sintaxis similar a C++ Entre junio y julio de 1994 tras una sesioacuten maratoniana de tres diacuteas entre John Gaga James Gosling Joy Naughton Wayne Rosing y Eric Schmidt el equipo reorientoacute la plataforma hacia la Web Sintieron que la llegada del navegador web Mosaic propiciariacutea que Internet se convirtiese en un medio interactivo como el que pensaban era la televisioacuten por cable Naughton creoacute entonces un prototipo de navegador WebRunner que maacutes tarde seriacutea conocido como HotJava

En 1994 se les hizo una demostracioacuten de HotJava y la plataforma Java a los ejecutivos de Sun Java 10a pudo descargarse por primera vez en 1994 pero hubo que esperar al 23 de mayo de 1995 durante las conferencias de SunWorld a que vieran la luz puacuteblica Java y HotJava el navegador Web El acontecimiento fue anunciado por John Gage el Director Cientiacutefico de Sun Microsystems El acto estuvo acompantildeado por una pequentildea sorpresa adicional el anuncio por parte de Marc Andreessen Vicepresidente Ejecutivo de Netscape de que Java seriacutea soportado en sus navegadores El 9 de enero del antildeo siguiente 1996 Sun fundoacute el grupo empresarial JavaSoft para que se encargase del desarrollo tecnoloacutegico [1] Dos semanas maacutes tarde la primera versioacuten de Java fue publicada

La promesa inicial de Gosling era Write Once Run Anywhere (Escriacutebelo una vez ejecuacutetalo en cualquier lugar) proporcionando un lenguaje independiente de la plataforma y un entorno de ejecucioacuten (la JVM) ligero y gratuito para las plataformas maacutes populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma

El entorno de ejecucioacuten era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las paacuteginas web

Java ha experimentado numerosos cambios desde la versioacuten primigenia JDK 10 asiacute como un enorme incremento en el nuacutemero de clases y paquetes que componen la biblioteca estaacutendar

El lenguaje para la programacioacuten en Java es un lenguaje orientado a objeto de una plataforma independiente

El lenguaje para la programacioacuten en Java fue desarrollado por la compantildeiacutea Sun Microsystems con la idea original de usarlo para la creacioacuten de paginas WEB

Esta programacioacuten Java tiene muchas similitudes con el lenguaje C y C++ asiacute que si se tiene conocimiento de este lenguaje el aprendizaje de la programacioacuten Java seraacute de faacutecil comprensioacuten por un programador que haya realizado programas en estos lenguajes

Con la programacioacuten en Java se pueden realizar distintos aplicativos como son applets que son aplicaciones especiales que se ejecutan dentro de un navegador al ser cargada una pagina HTML en un servidor WEB Por lo general los applets son programas pequentildeos y de propoacutesitos especiacuteficos

Otra de las utilidades de la programacioacuten en Java es el desarrollo de aplicaciones que son programas que se ejecutan en forma independiente es decir con la programacioacuten Java se pueden realizar aplicaciones como un procesador de palabras una hoja que sirva para caacutelculos una aplicacioacuten grafica etc en resumen cualquier tipo de aplicacioacuten se puede realizar con ella Java permite la modularidad por lo que se pueden hacer rutinas individuales que sean usadas por maacutes de una aplicacioacuten por ejemplo tenemos una rutina de impresioacuten que puede servir para el procesador de palabras como para la hoja de calculo

La programacioacuten en Java permite el desarrollo de aplicaciones bajo el esquema de Cliente Servidor como de aplicaciones distribuidas lo que lo hace capaz de conectar dos o maacutes computadoras u ordenadores ejecutando tareas simultaacuteneamente y de esta forma logra distribuir el trabajo a realizar

El anaacutelisis es la base de la programacioacuten estructurada es decir la descomposicioacuten de una tarea en tareas maacutes pequentildeas Un programa no es otra cosa que una coleccioacuten de funciones que son llamadas sucesivamente por la funcioacuten principal y uacutenica del programa Cada funcioacuten tiene sus propias variables es un moacutedulo independiente La Programacioacuten Orientada a Objetos es el siguiente paso en la evolucioacuten de los lenguajes de programacioacuten que combina funciones y datos en una unidad auto consistente denominada clase

La creacioacuten de interfaces graacuteficos como el Windows de Microsoft es uno de los ejemplos maacutes claros de las ventajas que tiene la programacioacuten orientada a objetos sobre la programacioacuten estructurada Las libreriacuteas nos proporcionan clases que describen el aspecto y la conducta de elementos como la ventana el diaacutelogo los controles etc Derivando una clase de otra base estamos utilizando el coacutedigo de la clase base para nuestras propias necesidades y le antildeadimos el coacutedigo que implementa la conducta especiacutefica

Un lenguaje de Programacioacuten Orientada a Objetos nos permite organizar el coacutedigo en entidades como las clases compuestas de datos y funciones y a traveacutes de la caracteriacutestica de la herencia podemos organizar las clases en jerarquiacuteas

Aunque la Programacioacuten Orientada a Objetos es la manera maacutes natural de programar aclimatarse a su ambiente requiere cierto tiempo no se producen resultados inmediatos Los numerosos ejemplos que se comentaraacuten a lo largo de las siguientes paacuteginas trataraacuten de ayudar a efectuar dicha transicioacuten de un modo suave y ordenado Una vez aclimatado sentiraacute por siacute mismo la necesidad de organizar el coacutedigo en clases y posteriormente si lo requiere el problema establecer jerarquiacuteas entre dichas clases

A traveacutes de estas paacuteginas pretendemos mostrar la potencia y elegancia de la programacioacuten en lenguaje Java en dos situaciones concretas en la creacioacuten de interfaces graacuteficas avanzadas (applets) y en la resolucioacuten de problemas numeacutericos

Se pondraacute especial eacutenfasis en la Programacioacuten Orientada a Objetos que es la parte que los no iniciados encuentran maacutes difiacutecil Aprender a extraer las propiedades y el comportamiento comunes a un determinado tipo de objetos y transformarlas en la definicioacuten de una clase estructurar las clases en jerarquiacuteas constituyen procesos de abstracccioacuten que implican un cambio de mentalidad en la resolucioacuten de los problemas de software que precisan de entrenamiento y de un esfuerzo intenso

El objetivo es el de ensentildear al lector a traducir la descripcioacuten de un problema o situacioacuten que se plantea a coacutedigo a organizar el coacutedigo en funciones a agrupar datos y funciones en clases y las clases en jerarquiacuteas

Una vez entendidos los conceptos baacutesicos la creacioacuten de applets no presentaraacute grandes dificultades si se hace con la ayuda de un Entorno Integrado de Desarrollo como JBuilder de Borland (ahora Inprise) el cual genera casi todo el coacutedigo correspondiente al interfaz dejando al programador la tarea de darle funcionalidad es decir la de definir la respuesta a las distintas acciones

PARADIGMAS DE PROGRAMACIOacuteN Un paradigma de programacioacuten es un modelo baacutesico de disentildeo y desarrollo de programas que permite producir programas con unas directrices especiacuteficas tales como estructura modular fuerte cohesioacuten alta rentabilidad etc Los paradigmas pueden ser considerados como patrones de pensamiento para la resolucioacuten de problemas Desde luego siempre teniendo en cuenta los lenguajes de programacioacuten seguacuten nuestro intereacutes de estudio No es mejor uno que otro sino que cada uno tiene ventajas y desventajas Tambieacuten

hay situaciones donde un paradigma resulta maacutes apropiado que otro Hay multitud de ellos atendiendo a alguna particularidad metodoloacutegica o funcional Cuando un lenguaje refleja bien un paradigma particular se dice que soporta el paradigma y en la praacutectica un lenguaje que soporta correctamente un paradigma es difiacutecil distinguirlo del propio paradigma por lo que se identifica con eacutel

Tipos de paradigmas de programacioacuten Podemos clasificar los paradigmas de programacioacuten en Paradigma imperativo heuristico concurrente funcional loacutegico paradigma basado en objetos

Paradigma imperativo Son aquellos que facilitan los caacutelculos por medio de cambios de estado entendiendo como estado la condicioacuten de una memoria de almacenamiento Los lenguajes

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 3: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Historia La tecnologiacutea Java se creoacute como una herramienta de programacioacuten para ser usada en un proyecto de

set-top-box en una pequentildea operacioacuten denominada the Green Project en Sun Microsystems en el antildeo 1991 El equipo (Green Team) compuesto por trece personas y dirigido por James Gosling trabajoacute durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo

El lenguaje se denominoacute inicialmente Oak (por un roble que habiacutea fuera de la oficina de Gosling) luego pasoacute a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas graacuteficas y finalmente se renombroacute a Java

El teacutermino Java fue acuntildeado en una cafeteriacutea frecuentada por algunos de los miembros del equipo Pero no estaacute claro si es un acroacutenimo o no aunque algunas fuentes sentildealan que podriacutea tratarse de las iniciales de sus creadores James Gosling Arthur Van Hoff y Andy Bechtolsheim Otros abogan por el siguiente acroacutenimo Just Another Vague Acronym (soacutelo otro acroacutenimo ambiguo maacutes) La hipoacutetesis que maacutes fuerza tiene es la que Java debe su nombre a un tipo de cafeacute disponible en la cafeteriacutea cercana de ahiacute que el icono de java sea una taza de cafe caliente Un pequentildeo signo que da fuerza a esta teoriacutea es que los 4 primeros bytes (el nuacutemero maacutegico) de los archivos class que genera el compilador son en hexadecimal 0xCAFEBABE Otros simplemente dicen que el nombre fue sacado al parecer de una lista aleatoria de palabras

Los objetivos de Gosling eran implementar una maacutequina virtual y un lenguaje con una estructura y sintaxis similar a C++ Entre junio y julio de 1994 tras una sesioacuten maratoniana de tres diacuteas entre John Gaga James Gosling Joy Naughton Wayne Rosing y Eric Schmidt el equipo reorientoacute la plataforma hacia la Web Sintieron que la llegada del navegador web Mosaic propiciariacutea que Internet se convirtiese en un medio interactivo como el que pensaban era la televisioacuten por cable Naughton creoacute entonces un prototipo de navegador WebRunner que maacutes tarde seriacutea conocido como HotJava

En 1994 se les hizo una demostracioacuten de HotJava y la plataforma Java a los ejecutivos de Sun Java 10a pudo descargarse por primera vez en 1994 pero hubo que esperar al 23 de mayo de 1995 durante las conferencias de SunWorld a que vieran la luz puacuteblica Java y HotJava el navegador Web El acontecimiento fue anunciado por John Gage el Director Cientiacutefico de Sun Microsystems El acto estuvo acompantildeado por una pequentildea sorpresa adicional el anuncio por parte de Marc Andreessen Vicepresidente Ejecutivo de Netscape de que Java seriacutea soportado en sus navegadores El 9 de enero del antildeo siguiente 1996 Sun fundoacute el grupo empresarial JavaSoft para que se encargase del desarrollo tecnoloacutegico [1] Dos semanas maacutes tarde la primera versioacuten de Java fue publicada

La promesa inicial de Gosling era Write Once Run Anywhere (Escriacutebelo una vez ejecuacutetalo en cualquier lugar) proporcionando un lenguaje independiente de la plataforma y un entorno de ejecucioacuten (la JVM) ligero y gratuito para las plataformas maacutes populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma

El entorno de ejecucioacuten era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las paacuteginas web

Java ha experimentado numerosos cambios desde la versioacuten primigenia JDK 10 asiacute como un enorme incremento en el nuacutemero de clases y paquetes que componen la biblioteca estaacutendar

El lenguaje para la programacioacuten en Java es un lenguaje orientado a objeto de una plataforma independiente

El lenguaje para la programacioacuten en Java fue desarrollado por la compantildeiacutea Sun Microsystems con la idea original de usarlo para la creacioacuten de paginas WEB

Esta programacioacuten Java tiene muchas similitudes con el lenguaje C y C++ asiacute que si se tiene conocimiento de este lenguaje el aprendizaje de la programacioacuten Java seraacute de faacutecil comprensioacuten por un programador que haya realizado programas en estos lenguajes

Con la programacioacuten en Java se pueden realizar distintos aplicativos como son applets que son aplicaciones especiales que se ejecutan dentro de un navegador al ser cargada una pagina HTML en un servidor WEB Por lo general los applets son programas pequentildeos y de propoacutesitos especiacuteficos

Otra de las utilidades de la programacioacuten en Java es el desarrollo de aplicaciones que son programas que se ejecutan en forma independiente es decir con la programacioacuten Java se pueden realizar aplicaciones como un procesador de palabras una hoja que sirva para caacutelculos una aplicacioacuten grafica etc en resumen cualquier tipo de aplicacioacuten se puede realizar con ella Java permite la modularidad por lo que se pueden hacer rutinas individuales que sean usadas por maacutes de una aplicacioacuten por ejemplo tenemos una rutina de impresioacuten que puede servir para el procesador de palabras como para la hoja de calculo

La programacioacuten en Java permite el desarrollo de aplicaciones bajo el esquema de Cliente Servidor como de aplicaciones distribuidas lo que lo hace capaz de conectar dos o maacutes computadoras u ordenadores ejecutando tareas simultaacuteneamente y de esta forma logra distribuir el trabajo a realizar

El anaacutelisis es la base de la programacioacuten estructurada es decir la descomposicioacuten de una tarea en tareas maacutes pequentildeas Un programa no es otra cosa que una coleccioacuten de funciones que son llamadas sucesivamente por la funcioacuten principal y uacutenica del programa Cada funcioacuten tiene sus propias variables es un moacutedulo independiente La Programacioacuten Orientada a Objetos es el siguiente paso en la evolucioacuten de los lenguajes de programacioacuten que combina funciones y datos en una unidad auto consistente denominada clase

La creacioacuten de interfaces graacuteficos como el Windows de Microsoft es uno de los ejemplos maacutes claros de las ventajas que tiene la programacioacuten orientada a objetos sobre la programacioacuten estructurada Las libreriacuteas nos proporcionan clases que describen el aspecto y la conducta de elementos como la ventana el diaacutelogo los controles etc Derivando una clase de otra base estamos utilizando el coacutedigo de la clase base para nuestras propias necesidades y le antildeadimos el coacutedigo que implementa la conducta especiacutefica

Un lenguaje de Programacioacuten Orientada a Objetos nos permite organizar el coacutedigo en entidades como las clases compuestas de datos y funciones y a traveacutes de la caracteriacutestica de la herencia podemos organizar las clases en jerarquiacuteas

Aunque la Programacioacuten Orientada a Objetos es la manera maacutes natural de programar aclimatarse a su ambiente requiere cierto tiempo no se producen resultados inmediatos Los numerosos ejemplos que se comentaraacuten a lo largo de las siguientes paacuteginas trataraacuten de ayudar a efectuar dicha transicioacuten de un modo suave y ordenado Una vez aclimatado sentiraacute por siacute mismo la necesidad de organizar el coacutedigo en clases y posteriormente si lo requiere el problema establecer jerarquiacuteas entre dichas clases

A traveacutes de estas paacuteginas pretendemos mostrar la potencia y elegancia de la programacioacuten en lenguaje Java en dos situaciones concretas en la creacioacuten de interfaces graacuteficas avanzadas (applets) y en la resolucioacuten de problemas numeacutericos

Se pondraacute especial eacutenfasis en la Programacioacuten Orientada a Objetos que es la parte que los no iniciados encuentran maacutes difiacutecil Aprender a extraer las propiedades y el comportamiento comunes a un determinado tipo de objetos y transformarlas en la definicioacuten de una clase estructurar las clases en jerarquiacuteas constituyen procesos de abstracccioacuten que implican un cambio de mentalidad en la resolucioacuten de los problemas de software que precisan de entrenamiento y de un esfuerzo intenso

El objetivo es el de ensentildear al lector a traducir la descripcioacuten de un problema o situacioacuten que se plantea a coacutedigo a organizar el coacutedigo en funciones a agrupar datos y funciones en clases y las clases en jerarquiacuteas

Una vez entendidos los conceptos baacutesicos la creacioacuten de applets no presentaraacute grandes dificultades si se hace con la ayuda de un Entorno Integrado de Desarrollo como JBuilder de Borland (ahora Inprise) el cual genera casi todo el coacutedigo correspondiente al interfaz dejando al programador la tarea de darle funcionalidad es decir la de definir la respuesta a las distintas acciones

PARADIGMAS DE PROGRAMACIOacuteN Un paradigma de programacioacuten es un modelo baacutesico de disentildeo y desarrollo de programas que permite producir programas con unas directrices especiacuteficas tales como estructura modular fuerte cohesioacuten alta rentabilidad etc Los paradigmas pueden ser considerados como patrones de pensamiento para la resolucioacuten de problemas Desde luego siempre teniendo en cuenta los lenguajes de programacioacuten seguacuten nuestro intereacutes de estudio No es mejor uno que otro sino que cada uno tiene ventajas y desventajas Tambieacuten

hay situaciones donde un paradigma resulta maacutes apropiado que otro Hay multitud de ellos atendiendo a alguna particularidad metodoloacutegica o funcional Cuando un lenguaje refleja bien un paradigma particular se dice que soporta el paradigma y en la praacutectica un lenguaje que soporta correctamente un paradigma es difiacutecil distinguirlo del propio paradigma por lo que se identifica con eacutel

Tipos de paradigmas de programacioacuten Podemos clasificar los paradigmas de programacioacuten en Paradigma imperativo heuristico concurrente funcional loacutegico paradigma basado en objetos

Paradigma imperativo Son aquellos que facilitan los caacutelculos por medio de cambios de estado entendiendo como estado la condicioacuten de una memoria de almacenamiento Los lenguajes

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 4: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

El lenguaje para la programacioacuten en Java es un lenguaje orientado a objeto de una plataforma independiente

El lenguaje para la programacioacuten en Java fue desarrollado por la compantildeiacutea Sun Microsystems con la idea original de usarlo para la creacioacuten de paginas WEB

Esta programacioacuten Java tiene muchas similitudes con el lenguaje C y C++ asiacute que si se tiene conocimiento de este lenguaje el aprendizaje de la programacioacuten Java seraacute de faacutecil comprensioacuten por un programador que haya realizado programas en estos lenguajes

Con la programacioacuten en Java se pueden realizar distintos aplicativos como son applets que son aplicaciones especiales que se ejecutan dentro de un navegador al ser cargada una pagina HTML en un servidor WEB Por lo general los applets son programas pequentildeos y de propoacutesitos especiacuteficos

Otra de las utilidades de la programacioacuten en Java es el desarrollo de aplicaciones que son programas que se ejecutan en forma independiente es decir con la programacioacuten Java se pueden realizar aplicaciones como un procesador de palabras una hoja que sirva para caacutelculos una aplicacioacuten grafica etc en resumen cualquier tipo de aplicacioacuten se puede realizar con ella Java permite la modularidad por lo que se pueden hacer rutinas individuales que sean usadas por maacutes de una aplicacioacuten por ejemplo tenemos una rutina de impresioacuten que puede servir para el procesador de palabras como para la hoja de calculo

La programacioacuten en Java permite el desarrollo de aplicaciones bajo el esquema de Cliente Servidor como de aplicaciones distribuidas lo que lo hace capaz de conectar dos o maacutes computadoras u ordenadores ejecutando tareas simultaacuteneamente y de esta forma logra distribuir el trabajo a realizar

El anaacutelisis es la base de la programacioacuten estructurada es decir la descomposicioacuten de una tarea en tareas maacutes pequentildeas Un programa no es otra cosa que una coleccioacuten de funciones que son llamadas sucesivamente por la funcioacuten principal y uacutenica del programa Cada funcioacuten tiene sus propias variables es un moacutedulo independiente La Programacioacuten Orientada a Objetos es el siguiente paso en la evolucioacuten de los lenguajes de programacioacuten que combina funciones y datos en una unidad auto consistente denominada clase

La creacioacuten de interfaces graacuteficos como el Windows de Microsoft es uno de los ejemplos maacutes claros de las ventajas que tiene la programacioacuten orientada a objetos sobre la programacioacuten estructurada Las libreriacuteas nos proporcionan clases que describen el aspecto y la conducta de elementos como la ventana el diaacutelogo los controles etc Derivando una clase de otra base estamos utilizando el coacutedigo de la clase base para nuestras propias necesidades y le antildeadimos el coacutedigo que implementa la conducta especiacutefica

Un lenguaje de Programacioacuten Orientada a Objetos nos permite organizar el coacutedigo en entidades como las clases compuestas de datos y funciones y a traveacutes de la caracteriacutestica de la herencia podemos organizar las clases en jerarquiacuteas

Aunque la Programacioacuten Orientada a Objetos es la manera maacutes natural de programar aclimatarse a su ambiente requiere cierto tiempo no se producen resultados inmediatos Los numerosos ejemplos que se comentaraacuten a lo largo de las siguientes paacuteginas trataraacuten de ayudar a efectuar dicha transicioacuten de un modo suave y ordenado Una vez aclimatado sentiraacute por siacute mismo la necesidad de organizar el coacutedigo en clases y posteriormente si lo requiere el problema establecer jerarquiacuteas entre dichas clases

A traveacutes de estas paacuteginas pretendemos mostrar la potencia y elegancia de la programacioacuten en lenguaje Java en dos situaciones concretas en la creacioacuten de interfaces graacuteficas avanzadas (applets) y en la resolucioacuten de problemas numeacutericos

Se pondraacute especial eacutenfasis en la Programacioacuten Orientada a Objetos que es la parte que los no iniciados encuentran maacutes difiacutecil Aprender a extraer las propiedades y el comportamiento comunes a un determinado tipo de objetos y transformarlas en la definicioacuten de una clase estructurar las clases en jerarquiacuteas constituyen procesos de abstracccioacuten que implican un cambio de mentalidad en la resolucioacuten de los problemas de software que precisan de entrenamiento y de un esfuerzo intenso

El objetivo es el de ensentildear al lector a traducir la descripcioacuten de un problema o situacioacuten que se plantea a coacutedigo a organizar el coacutedigo en funciones a agrupar datos y funciones en clases y las clases en jerarquiacuteas

Una vez entendidos los conceptos baacutesicos la creacioacuten de applets no presentaraacute grandes dificultades si se hace con la ayuda de un Entorno Integrado de Desarrollo como JBuilder de Borland (ahora Inprise) el cual genera casi todo el coacutedigo correspondiente al interfaz dejando al programador la tarea de darle funcionalidad es decir la de definir la respuesta a las distintas acciones

PARADIGMAS DE PROGRAMACIOacuteN Un paradigma de programacioacuten es un modelo baacutesico de disentildeo y desarrollo de programas que permite producir programas con unas directrices especiacuteficas tales como estructura modular fuerte cohesioacuten alta rentabilidad etc Los paradigmas pueden ser considerados como patrones de pensamiento para la resolucioacuten de problemas Desde luego siempre teniendo en cuenta los lenguajes de programacioacuten seguacuten nuestro intereacutes de estudio No es mejor uno que otro sino que cada uno tiene ventajas y desventajas Tambieacuten

hay situaciones donde un paradigma resulta maacutes apropiado que otro Hay multitud de ellos atendiendo a alguna particularidad metodoloacutegica o funcional Cuando un lenguaje refleja bien un paradigma particular se dice que soporta el paradigma y en la praacutectica un lenguaje que soporta correctamente un paradigma es difiacutecil distinguirlo del propio paradigma por lo que se identifica con eacutel

Tipos de paradigmas de programacioacuten Podemos clasificar los paradigmas de programacioacuten en Paradigma imperativo heuristico concurrente funcional loacutegico paradigma basado en objetos

Paradigma imperativo Son aquellos que facilitan los caacutelculos por medio de cambios de estado entendiendo como estado la condicioacuten de una memoria de almacenamiento Los lenguajes

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 5: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

El anaacutelisis es la base de la programacioacuten estructurada es decir la descomposicioacuten de una tarea en tareas maacutes pequentildeas Un programa no es otra cosa que una coleccioacuten de funciones que son llamadas sucesivamente por la funcioacuten principal y uacutenica del programa Cada funcioacuten tiene sus propias variables es un moacutedulo independiente La Programacioacuten Orientada a Objetos es el siguiente paso en la evolucioacuten de los lenguajes de programacioacuten que combina funciones y datos en una unidad auto consistente denominada clase

La creacioacuten de interfaces graacuteficos como el Windows de Microsoft es uno de los ejemplos maacutes claros de las ventajas que tiene la programacioacuten orientada a objetos sobre la programacioacuten estructurada Las libreriacuteas nos proporcionan clases que describen el aspecto y la conducta de elementos como la ventana el diaacutelogo los controles etc Derivando una clase de otra base estamos utilizando el coacutedigo de la clase base para nuestras propias necesidades y le antildeadimos el coacutedigo que implementa la conducta especiacutefica

Un lenguaje de Programacioacuten Orientada a Objetos nos permite organizar el coacutedigo en entidades como las clases compuestas de datos y funciones y a traveacutes de la caracteriacutestica de la herencia podemos organizar las clases en jerarquiacuteas

Aunque la Programacioacuten Orientada a Objetos es la manera maacutes natural de programar aclimatarse a su ambiente requiere cierto tiempo no se producen resultados inmediatos Los numerosos ejemplos que se comentaraacuten a lo largo de las siguientes paacuteginas trataraacuten de ayudar a efectuar dicha transicioacuten de un modo suave y ordenado Una vez aclimatado sentiraacute por siacute mismo la necesidad de organizar el coacutedigo en clases y posteriormente si lo requiere el problema establecer jerarquiacuteas entre dichas clases

A traveacutes de estas paacuteginas pretendemos mostrar la potencia y elegancia de la programacioacuten en lenguaje Java en dos situaciones concretas en la creacioacuten de interfaces graacuteficas avanzadas (applets) y en la resolucioacuten de problemas numeacutericos

Se pondraacute especial eacutenfasis en la Programacioacuten Orientada a Objetos que es la parte que los no iniciados encuentran maacutes difiacutecil Aprender a extraer las propiedades y el comportamiento comunes a un determinado tipo de objetos y transformarlas en la definicioacuten de una clase estructurar las clases en jerarquiacuteas constituyen procesos de abstracccioacuten que implican un cambio de mentalidad en la resolucioacuten de los problemas de software que precisan de entrenamiento y de un esfuerzo intenso

El objetivo es el de ensentildear al lector a traducir la descripcioacuten de un problema o situacioacuten que se plantea a coacutedigo a organizar el coacutedigo en funciones a agrupar datos y funciones en clases y las clases en jerarquiacuteas

Una vez entendidos los conceptos baacutesicos la creacioacuten de applets no presentaraacute grandes dificultades si se hace con la ayuda de un Entorno Integrado de Desarrollo como JBuilder de Borland (ahora Inprise) el cual genera casi todo el coacutedigo correspondiente al interfaz dejando al programador la tarea de darle funcionalidad es decir la de definir la respuesta a las distintas acciones

PARADIGMAS DE PROGRAMACIOacuteN Un paradigma de programacioacuten es un modelo baacutesico de disentildeo y desarrollo de programas que permite producir programas con unas directrices especiacuteficas tales como estructura modular fuerte cohesioacuten alta rentabilidad etc Los paradigmas pueden ser considerados como patrones de pensamiento para la resolucioacuten de problemas Desde luego siempre teniendo en cuenta los lenguajes de programacioacuten seguacuten nuestro intereacutes de estudio No es mejor uno que otro sino que cada uno tiene ventajas y desventajas Tambieacuten

hay situaciones donde un paradigma resulta maacutes apropiado que otro Hay multitud de ellos atendiendo a alguna particularidad metodoloacutegica o funcional Cuando un lenguaje refleja bien un paradigma particular se dice que soporta el paradigma y en la praacutectica un lenguaje que soporta correctamente un paradigma es difiacutecil distinguirlo del propio paradigma por lo que se identifica con eacutel

Tipos de paradigmas de programacioacuten Podemos clasificar los paradigmas de programacioacuten en Paradigma imperativo heuristico concurrente funcional loacutegico paradigma basado en objetos

Paradigma imperativo Son aquellos que facilitan los caacutelculos por medio de cambios de estado entendiendo como estado la condicioacuten de una memoria de almacenamiento Los lenguajes

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 6: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

PARADIGMAS DE PROGRAMACIOacuteN Un paradigma de programacioacuten es un modelo baacutesico de disentildeo y desarrollo de programas que permite producir programas con unas directrices especiacuteficas tales como estructura modular fuerte cohesioacuten alta rentabilidad etc Los paradigmas pueden ser considerados como patrones de pensamiento para la resolucioacuten de problemas Desde luego siempre teniendo en cuenta los lenguajes de programacioacuten seguacuten nuestro intereacutes de estudio No es mejor uno que otro sino que cada uno tiene ventajas y desventajas Tambieacuten

hay situaciones donde un paradigma resulta maacutes apropiado que otro Hay multitud de ellos atendiendo a alguna particularidad metodoloacutegica o funcional Cuando un lenguaje refleja bien un paradigma particular se dice que soporta el paradigma y en la praacutectica un lenguaje que soporta correctamente un paradigma es difiacutecil distinguirlo del propio paradigma por lo que se identifica con eacutel

Tipos de paradigmas de programacioacuten Podemos clasificar los paradigmas de programacioacuten en Paradigma imperativo heuristico concurrente funcional loacutegico paradigma basado en objetos

Paradigma imperativo Son aquellos que facilitan los caacutelculos por medio de cambios de estado entendiendo como estado la condicioacuten de una memoria de almacenamiento Los lenguajes

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 7: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

estructurados en bloques se refieren a los aacutembitos anidados es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables Los programas escritos en un lenguaje funcional estaacuten constituidos uacutenicamente por definiciones de funciones entendiendo eacutestas no como subprogramas claacutesicos de un lenguaje imperativo sino como funciones puramente matemaacuteticas en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresioacuten depende uacutenicamente del significado de sus subexpresiones) y por tanto la carencia total de efectos laterales El objetivo es conseguir lenguajes expresivos y matemaacuteticamente elegantes en

los que no sea necesario bajar al nivel de la maacutequina para describir el proceso llevado a cabo por el programa y evitando el concepto de estado del coacutemputo La secuencia de computaciones llevadas a cabo por el programa se regiriacutea uacutenica y exclusivamente por la reescritura de definiciones maacutes amplias a otras cada vez maacutes concretas y definidas usando lo que se denominan definiciones dirigidas A este tipo de paradigma de programacioacuten se le suele llamar algoriacutetmico Otras caracteriacutesticas propias de estos lenguajes son la no existencia de

asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteracioacuten (lo que obliga en la praacutectica a que todas las repeticiones de instrucciones

se lleven a cabo por medio de funciones recursivas)

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 8: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Algunos de los lenguajes imperativos son bull C bull C++ bull C bull Basic bull Java bull Perl Paradigma heuristico Define un modelo de resolucioacuten de problemas en el que se incorpora alguacuten componente heuriacutestico sobre la base de una representacioacuten maacutes apropiada de la estructura del problema para su resolucioacuten con teacutecnicas heuriacutesticas Se puede definir como aquel tipo de programacioacuten computacional que aplica para la resolucioacuten de problemas reglas de buena loacutegica (reglas del pulgar) denominadas heuriacutesticas las cuales proporcionan entre varios cursos de accioacuten uno que presenta visos de ser el maacutes prometedor pero no garantiza necesariamente el curso de accioacuten maacutes efectivo La Programacioacuten Heuriacutestica implica una forma de modelizar el problema en lo que respecta a la representacioacuten de su estructura estrategias de buacutesqueda y meacutetodos de resolucioacuten que configuran el Para

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 9: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Este tipo de programacioacuten se aplica con mayor intensidad en el campo de la

Inteligencia Artificial (IA) y en especial en el de la Ingenieriacutea del

Conocimientodigma Heuriacutestico

La Programacioacuten Heuriacutestica se presenta y utiliza desde diferentes puntos de vista

o Como teacutecnica de buacutesqueda para la obtencioacuten de metas en problemas no

algoriacutetmicos o con algoritmos que generan explosioacuten combinatoria

o Como un meacutetodo aproximado de resolucioacuten de problemas utilizando

funciones de evaluacioacuten de tipo heuriacutestico

o Como meacutetodo de poda para estrategias de programas que juegan aunque

estos meacutetodos no son realmente heuriacutesticos

Paradigma funcional

Sus oriacutegenes provienen del Caacutelculo Lambda (o λ-caacutelculo) una teoriacutea matemaacutetica

elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad Un

lenguaje funcional es a grandes rasgos un azuacutecar sintaacutectico del Caacutelculo Lambda

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 10: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

El paradigma funcional estaacute basado en el modelo matemaacutetico de composicioacuten funcional En este modelo el resultado de un caacutelculo es la entrada del siguiente y asiacute sucesivamente hasta que una composicioacuten produce el valor deseado No existe el concepto de celda de memoria que es asignada o modificada Maacutes

bien existen valores intermedios que son el resultado de caacutelculos anteriores y las

entradas a caacutelculos subsiguientes Tampoco existen sentencias imperativas y todas las funciones tienen transparencia referencial La programacioacuten funcional incorpora el concepto de funcioacuten como objeto de primera clase lo que significa que las funciones se pueden tratar como datos (pueden pasar como paraacutemetros calculadas y devueltas como valores normales y mezcladas en el caacutelculo con otras formas de datos) En este paradigma el informaacutetico concibe la solucioacuten como una composicioacuten de funciones La forma en que se especifican las funciones puede variar Se pueden especificar procedimentalmente o matemaacuteticamente mediante su definicioacuten sin secuencia de control Un lenguaje funcional es el Lisp

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 11: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Paradigma loacutegico La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de lenguaje loacutegico es Prolog (Programacioacuten loacutegica) Prolog proveniente del ingleacutes Programming in Logic es un lenguaje loacutegico bastante popular en el medio de investigacioacuten en Inteligencia Artificial Prolog es un lenguaje muy diferente tanto de los imperativos como Fortran Pascal C etc como de los funcionales como Lisp En todos los mencionados las instrucciones se ejecutan normalmente en orden secuencial es decir una a continuacioacuten de otra en el mismo orden en que estaacuten escritas que soacutelo variacutea cuando se alcanza una instruccioacuten de control (un bucle una instruccioacuten condicional o una transferencia) En Prolog las cosas son distintas el orden de ejecucioacuten de las instrucciones no tiene nada que ver con el orden en que fueron escritas Tampoco hay instrucciones de control propiamente dichas Para trabajar con este lenguaje un programador debe acostumbrarse a pensar de una manera muy diferente a la que se utiliza en los lenguajes claacutesicos

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 12: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Paradigma basado en objetos

La programacioacuten orientada a objetos (OOP por las siglas inglesas de Object- Oriented Programming) es una forma de programar que proliferoacute a partir de los antildeos ochenta La Programacioacuten Orientada a Objetos (POO u OOP seguacuten siglas en ingleacutes) es un paradigma de programacioacuten que define los programas en teacuterminos de clases de objetos objetos que son entidades que combinan estado (es decir datos) comportamiento (esto es procedimientos o meacutetodos) e identidad (propiedad del objeto que lo diferencia del resto) La programacioacuten orientada a objetos expresa un programa como un conjunto de estos objetos que colaboran entre ellos para realizar tareas Esto permite hacer los programas y moacutedulos maacutes faacuteciles de escribir mantener y reutilizar De esta forma un objeto contiene toda la informacioacuten (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase al poder tener valores bien diferenciados en sus atributos)

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 13: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN

Lenguaje maacutequina El lenguaje maacutequina es el uacutenico que entiende directamente la computadora utiliza el alfabeto binario que consta de los dos uacutenicos siacutembolos 0 y 1 denominados bits (abreviatura inglesa de diacutegitos binarios) Fue el primer lenguaje utilizado en la programacioacuten de computadoras pero dejoacute de utilizarse por su dificultad y

complicacioacuten siendo sustituido por otros lenguajes maacutes faacuteciles de aprender y utilizar que ademaacutes reducen la posibilidad de cometer errores Lenguaje de bajo nivel Un lenguaje de programacioacuten de bajo nivel es el que proporciona poca o

ninguna abstraccioacuten del microprocesador de un ordenador Consecuentemente es faacutecilmente trasladado a lenguaje de maacutequinaEn general se utiliza este tipo de lenguaje para programar controladores (drivers) La programacioacuten en un lenguaje de bajo nivel como el lenguaje de la maacutequina o el lenguaje simboacutelico tiene ciertas ventajas 1 Mayor adaptacioacuten al equipo 2 Posibilidad de obtener la maacutexima velocidad con miacutenimo uso de memoria Pero tambieacuten tiene importantes inconvenientes Imposibilidad de escribir coacutedigo independiente de la maacutequina Mayor dificultad en la programacioacuten y en la comprensioacuten de los programas

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 14: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Caracteriacutesticas - Se trabaja a nivel de Microinstrucciones es decir su programacioacuten es al

maacutes fino detalle - Estaacute orientado a la maacutequina Lenguaje de alto nivel Los lenguajes de alto nivel logran la independencia del tipo de maacutequina

y se aproximan al lenguaje natural Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen

actualmente en uso Los lenguajes de alto nivel tambieacuten denominados lenguajes

evolucionados surgen con posterioridad a los anteriores con los siguientes objetivos entre otros 1048707 Lograr independencia de la maacutequina pudiendo utilizar un mismo

programa en diferentes equipos con la uacutenica condicioacuten de disponer de un programa

traductor o compilador que lo suministra el fabricante para obtener el programa ejecutable en lenguaje binario de la maacutequina que se trate Ademaacutes no

se necesita conocer el hardware especiacutefico de dicha maacutequina

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 15: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

TRADUCTORES

TRADUCTORES Explicamos el proceso maacutes importante a la hora de hacer

funcionar un programa realizado en lenguajes de alto y medio nivel Cuando programamos en lenguajes de alto nivel lo que

estamos haciendo en realidad es el coacutedigo fuente de ese programa Este coacutedigo fuente debe ser traducido a binario para que las

instrucciones que contienen puedan ser entendidas y ejecutadas por la maacutequina Para esto existe un programa encargado de realizar la

traduccioacuten llamado traductor del lenguaje Estos traductores pueden ser de dos tipos Ensambladores

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 16: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Son los encargados de traducir los programas escritos en lenguaje ensamblador alenguaje maacutequina

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 17: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Compiladores

Son programas que leen el coacutedigo fuente y lo traducen o convierten a otro lenguajeEstos programas te muestran los errores existentes en el coacutedigo fuente

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 18: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Etapas del proceso de compilacioacuten

Edicioacuten Esta fase consiste en escribir el programa empleando alguacuten lenguaje y un

editor Como resultado nos daraacute el coacutedigo fuente de nuestro programa

Compilacioacuten En esta fase se traduce el coacutedigo fuente obtenido en la fase anterior a

coacutedigo maacutequina Si no se produce ninguacuten error se obtiene el coacutedigo objeto En caso derrores el compilador los mostrariacutea para ayudarnos a corregirlos y se procederiacutea a su

compilacioacuten de nuevo una vez corregidos

Linkado Esta fase consiste en unir el archivo generado en la fase dos con determinadas

rutinas internas del lenguaje obteniendo el programa ejecutable

Existen dos tipos de linkados

linkado estaacutetico Los binarios de las libreriacuteas se antildeaden a nuestros binarios compilados

generando el archivo ejecutable

Linkado dinaacutemico no se antildeaden las libreriacuteas a nuestro binario sino que haraacute que se

carguen en memoria las libreriacuteas que en ese momento se necesiten

Una vez traducido compilado y linkado el archivo esta listo para su ejecucioacuten donde

tambieacuten podraacuten surgir problemas y fallos para los cuales tendriacuteamos que volver a

realizar todo el proceso anteriormente citado de modo que puedan ser corregidos

Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucioacuten antes

de presentar el programa al cliente

Otro sistema para la ejecucioacuten de nuestro coacutedigo fuente es mediante el uso de

inteacuterpretes (estos no se encontrariacutean dentro de los traductores)

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 19: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Inteacuterpretes Los inteacuterpretes realizan la traduccioacuten y ejecucioacuten de forma

simultanea es decir un inteacuterprete lee el coacutedigo fuente y lo va ejecutando al mismo

tiempo Las diferencias entre un compilador y un inteacuterprete

baacutesicamente son bull Un programa compilado puede funcionar por si solo

mientras que un coacutedigo traducido por un inteacuterprete no puede funcionar sin eacuteste bull Un programa traducido por un inteacuterprete puede ser

ejecutado en cualquier maacutequina ya que cada vez que se ejecuta el inteacuterprete tiene

que compilarlo bull Un archivo compilado es mucho maacutes raacutepido que uno

interpretado

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 20: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

Anexo Evaluacion

iquest que es la poo

La programacioacuten Orientada a objetos (POO) es una forma especial de programar maacutes cercana a como expresariacuteamos las cosas en la vida real que otros tipos de programacioacuten Con la POO tenemos que aprender a pensar las cosas de una manera distinta para escribir nuestros programas en teacuterminos de objetos propiedades meacutetodos y otras cosas que veremos raacutepidamente para aclarar conceptos y dar una pequentildea base que permita soltarnos un poco con este tipo de programacioacuten

iquest que es programacioacuten

Un lenguaje de programacioacuten es un idioma artificial disentildeado para expresar computaciones que pueden ser llevadas a cabo por maacutequinas como las computadoras Pueden usarse para crear programas que controlen el comportamiento fiacutesico y loacutegico de una maacutequina para expresar algoritmos con precisioacuten o como modo de comunicacioacuten humana Estaacute formado de un conjunto de siacutembolos y reglas sintaacutecticas y semaacutenticas que definen su estructura y el significado de sus elementos y expresiones Al proceso por el cual se escribe se prueba se depura se compila y se mantiene el coacutedigo fuente de un programa informaacutetico se le llama programacioacuten

iquestQueacute es compilador

Un compilador es un programa informaacutetico que traduce un programa escrito en un lenguaje de programacioacuten a otro lenguaje de programacioacuten generando un programa equivalente que la maacutequina seraacute capaz de interpretar Usualmente el segundo lenguaje es lenguaje de maacutequina pero tambieacuten puede ser simplemente texto Este proceso de traduccioacuten se conoce como compilacioacuten

Un compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente lenguaje de maacutequina) De esta manera un programador puede disentildear un programa en un lenguaje mucho maacutes cercano a como piensa un ser humano para luego compilarlo a un programa maacutes manejable por una computadora

menciona una paradigma de programacioacuten

Paradigama logico

La Programacioacuten Loacutegica es un Paradigma de Programacioacuten basado en la Loacutegica

Los programas construidos un lenguaje loacutegico estaacuten construidos uacutenicamente por

expresiones loacutegicas es decir que son ciertas o falsas en oposicioacuten a un expresioacuten

interrogativa (una pregunta) o expresiones imperativas (una orden) Un ejemplo de

lenguaje loacutegico es Prolog (Programacioacuten loacutegica)

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21
Page 21: Alumno: Moisés graillet cárdenas Profe: José Ángel Toledo Álvarez Materia: Fundamentos De Programación Tema: Características Del Lenguaje De Programación

iquest que es lenguaje java La implementacioacuten original y de referencia del compilador la

maacutequina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995 Desde entonces Sun ha controlado las especificaciones el desarrollo y evolucioacuten del lenguaje a traveacutes del Java Community Process si bien otros han desarrollado tambieacuten implementaciones alternativas de estas tecnologiacuteas de Sun algunas incluso bajo licencias de software libre

Las aplicaciones Java estaacuten tiacutepicamente compiladas en un bytecode aunque la compilacioacuten en coacutedigo maacutequina nativo tambieacuten es posible En el tiempo de ejecucioacuten el bytecode es normalmente interpretado o compilado a coacutedigo nativo para la ejecucioacuten aunque la ejecucioacuten directa por hardware del bytecode por un procesador Java tambieacuten es posible

  • INSTITUTO TECNOLOGICO DE MINATITLAN
  • Lenguaje de programacioacuten Java
  • Historia
  • Slide 4
  • Slide 5
  • PARADIGMAS DE PROGRAMACIOacuteN
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Paradigma loacutegico
  • Paradigma basado en objetos
  • CLASIFICACIONES DE LENGUAJES DE PROGARMACIOacuteN
  • Caracteriacutesticas
  • TRADUCTORES
  • Slide 16
  • Compiladores
  • Slide 18
  • Inteacuterpretes
  • Anexo Evaluacion
  • Slide 21