Antecedentes de lenguajes de programacion

En Abril de 1964 aparece en el mercado una nueva serie de procesadores: el Sistema/360 IBM, el cual da origen a la Tercera Generación de este tipo de máquinas. Las principales características de estos nuevos procesadores son: la facilidad de utilizarlos en formas, dimensiones y capacidades diferentes, y el uso de circuitos microminlatunzados capaces de operar en pocas millonésimas de segundo.

Durante esta Tercera Generación, los procesadores registran un crecimiento espectac PACE 1 oris la capacidad de traba y siendo utilizadas ens medio de su empleo r el símbolo de una te ces idades instaladas, en icaciones posibles, s variadas, por adores se vuelven influencia en el mundo de hoy y desempeñan un papel preciso e importante en la sociedad moderna, contribuyendo en forma definitiva al desarrollo de una comunidad mundial organizada. 4GL No existe una frontera bien definida entre las generaciones de lenguaje para computadora.

Los lenguajes de quarta generación normalmente tienen la caracteristica de ser estructurados (evitan instrucciones de desvio), y son empleados en consultas a bancos de datos. Ejemplo: dBase DMBS Son oroeramas aue se ocuoan de accesar v actualizar los DBs. DB por dentro. ADA ADA es un programa para el análisis avanzado de datos de variabilidad molecular, que incluye algoritmos tomados de la más reciente literatura científica. ADA ofrece múltiples herramientas para realizar análisis comparativos de gran precisión en aplicaciones como: RFLP, RAPD (o AP-PCR), PFGE, RAMM, microsatélites, perfiles de proteínas, etc. dentro de los campos de la genética, microbiología, análisis forense, etc. ADA es un programa rápido, potente, y de muy fácil utilización. Su diseño se ha hecho teniendo muy presentes las necesidades del investigador. Características de ADA: ?? Gestión de base de datos avanzada de las muestras analizadas, con lo que el análisis comparativo, con ayuda de la selección de características y la aplicación de filtros selectivos, se convierte en una tarea realmente sencilla. • Analizar muestras que han sido estudiadas con más de un marcador (p. j. la misma muestra digerida con vanos enzimas, o sometida a análisis de RAPDs con distintos primers). Esta característica es única en programas de análisis de datos moleculares. • Importar listas de datos de Lane Manager@. • Calcular matrices de distancia/similitud y árboles filogenéticos (UPGMA, neighbor-joining). ADA dispone de un editor gráfico de árboles filogenéticos de uso extremadamente fácil e Intuitivo con opciones para permutar ramas, cambiar la raiz, colapsar/expandir ramas, etc. , mediante simples clicks de ratón.

APL 2 OF as 1962 para resolver problemas que hacen uso de tablas, vectores y matrices por el matemático Kenneth Iverson. Incorpora gran número de símbolos especiales aparte algunos caracteres ASCII, que especifican poderosas funciones sobre conjuntos de números y cadenas de caracteres. No ha podido ser normalizado precisamente por requerir este conjunto de caracteres un hardware especial: teclados, monitores Impresoras. Su uso, aparte del mencionado, se ha extendido sobre todo a la descripción formal de arquitecturas de computadoras, especialmente en IBM.

AWT Es el acrónimo del X Window Toolkit para Java, donde X puede ser cualquier cosa: Abstract, Alternative, Awkward, Another o Asqueroso; aunque parece que Sun se decanta por Abstracto, seriedad por encima de todo. Se trata de una biblioteca de clases Java para el desarrollo de Interfaces de Usuario Gráficas. La versión del AWT que Sun proporciona con el JDK se desarrolló en sólo dos meses y es la parte más débil de todo lo que representa Java como lenguaje.

El entorno que ofrece es demasiado simple, no se han tenido en cuenta las ideas de entornos gráficos novedosos, sino que se ha ahondado en estructuras orientadas a eventos, llenas de callbacks y sin soporte alguno del entorno para la construcción gráfica; veremos que la simple acción de colocar un dibujo sobre un botón se vuelve una tarea harto complicada. Quizá la presión de tener que lanzar algo al mercado haya tenido mucho que ver en la pobreza de AWT.

La estructura básica del AWT se basa en Componentes y Contenedores. Estos últimos contienen Componentes osicionados a su respecto y son Componentes a su vez, de fo as últimos contienen Componentes posicionados a su respecto y son Componentes a su vez, de forma que los eventos pueden tratarse tanto en Contenedores como en Componentes, corriendo por cuenta del programador (todavía no hay herramientas de composición visual) el encaje de todas las piezas, así como la seguridad de tratamiento de los eventos adecuados.

Java El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MACS, estaciones de trabajo, etc. ),y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje fue diseñado con las siguientes caracter[sticas en mente: • Simple.

Elimina la complejidad de los lenguajes como «C» y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofía de programaclón orientada a objetos es diferente a la programación convencional. • Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o en C++, el sintaxis de Java es muy similar al de estos. • Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique. ?? Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, es politicas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que imitan lo que se puede y no puede hacer con los recursos críticos de una computadora. • Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java. ?? Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este códido es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser n lenguaje que no depende de una arquitectura computacional definida. • Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo. • Interpretado.

Java corre en máquina virtual, por lo tanto es interpretado. • Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificaclón a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases. Java puede funcionar como una aplicación sola o como un «applet», que es un pequeño programa hecho en Java. Los applets de Java se pueden «pegar» a una página de Web (HTML), y con esto puedes tener un programa que cualquier persona que tenga un browser compatible podrá usar.

Nota:Diferencia entre Java y CGI La diferencia es esencialmente simple, un CGI se ejecuta en el servidor m s OF as simple, un CGI se ejecuta en el servidor mientras que un programa en Java se ejecuta en la máquina del usuario. Java funciona de la siguiente manera: El compilador de Java deja el programa en un Pseudo-código (no es código maquinal) y luego el intérprete de Java ejecuta el programa (lo que se conoce como el «Java Virtual Machine»). Por eso Java es multiplataforma, existe un intérprete para cada máquina diferente.

Nota: El código maquinal es el código binario que la computadora entiende y puede ejecutar. Para entender bien como funciona un applet de Java vean el siguiente ejemplo: 1. Existe un código de Java en un servidor de Web. (Los códigos de Java se caracterizan por tener la extensión *. class). 2. Una persona en Internet, con un browser compatible con Java, realiza una conección al servidor. 3. El servidor envía el documento HTML y el código en Java (*. class). 4. En la computadora del usuario remoto llegan ambos, y la

Máquina Virtual de Java, que está en el browser, transforma el código Java en un código que entienda la máqulna local y se ejecuta el programa dentro de la página de Web. 5. Si el usuario realiza otra conexión a otro CJRL o se sale del browser, el programa se deja de ejecutar y en la computadora no queda rastro de el. Unix Ejemplo de Unix: No todo el «árbol» de directorios está compuesto por directonos de usuario. Existen muchos de ellos que son de uso general o del propio sistema y con los que habrá que familiarizarse.

Los más importantes son: 6 OF as Contienen comandos UNI Contienen comandos UNIX ejecutables. Es quizá el directorio más importante. Contiene ficheros de datos y configuración del sistema, el fichero de password, configuración de terminales, red, etc (de ahí su nombre). Ficheros de dispositivos EIS. Manual Directorio para arreglos temporales. TODOS los usuarios pueden leer y escribir en él. c C es un lenguaje de programación diseñado por Dennis Ritchie, de los Laboratorios Bell, y se instaló en un PDP-11 en 1972; se diseñó para ser el lenguaje de los Sistemas Operativos UNIXI.

A su vez, UNIX es un Sistema Operativo desarrollado por Ken Thompson, quién utilizó el lenguaje ensamblador y un lenguaje llamado B para roducir las versiones originales de UNIX, en 1970. C se inventó para superar las Imitaclones de B. C es un lenguaje maduro de propósitos generales que se desarrolló a partir de estas raíces; su definición aparece en 1978 en el apéndice ‘C Reference Manual» del libro The C Programming Language, de Brian W. Kernighan y Dennis M.

Ritchie (Englewood Cliffs, Nueva Jersey, Prentice-Hall 1 978), pero el estándar recomendable más reciente apareció en junio de 1983, en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual, escrito por Dennis M. Ritchie Un programa en C Pascal, en C todas las funciones que se van a ocupar en el programa deben ir antes que la función principal (main()). Declarando las funciones a ocupar al principio del programa, se logra que la función pnnclpal esté antes que el resto de las funciones. Ahora, solo se habla de funciones ya que en C no existen los procedimientos.

Y como última sección se tiene a la función principal, llamada main. Cuando se ejecuta el programa, lo primero que se ejecuta es esta función, y de ahí sigue el resto del programa. Los símbolos {y} indican • begin»y «end» respectivamente. SI en una función o en un ciclo while, por ejemplo, su contenido es de solamente una línea, no es necesario usar • llaves» en caso contrario es obligaclón usarlos. Pascal Pascal es un lenguaje de programación de alto nivel de propósito general; esto es, se puede utilizar para escribir programas para fines científicos y comerciales.

El lenguaje de programación Pascal fue desarrollado por el profesor Niklaus (Nicolás) Wirth en Zurich, Zuiza, al final de los años 1960s y pnncpios de los 705. Wirth diseñó este lenguaje para que fuese un buen primer lenguaje de programación para ersonas comenzando a aprender a programar. Pascal tiene un número relativamente pequeño de conceptos para aprender y dominar. Su diseño facilita escribir programas usando un estilo que está generalmente aceptado como práctica estándar de programacion buena.

Otra de las metas del diseño de Wirth era la implementación fácil. Él diseñó un lenguaje para el cual fuese fácil escribir un compilador para un nuevo tipo de computadora. program Sortin% Este programa lee un n program Sortirg• Este programa lee un natural y una secuencia de N caracteres de la entrada estandar; construye un indice para ordenarlos de enor a mayor e imprime en la salida la secuencia ordenada. Qbasic Qbasic es un lenguaje de alto nivel, el cual consiste en instrucciones que los humanos pueden relacionar y entender.

El compilador de Qbasic se encarga de traducir el mismo a lenguaje de máquina. Un programa es una secuencia de instrucciones. El proceso de ejecutar esas instrucciones se llama correr el programa. Los programas contienen las funciones de entrada, procesamiento y salida. La persona que resuelve problemas mediante escribir programas en la computadora se conoce como programador. Después de analizar el problema y desarrollar un plan para olucionarlo, escribe y prueba el programa que instruye a la computadora como llevar a cabo el plan.

El procedimiento que realiza el programador se define como «problem solving». pero es necesario especificar que un programador y un usuario no son lo mismo. un usuario es cualquier persona que use el programa. Linux Linux es una implementación del sistema operativo UNIX (uno más de entre los numerosos clónicos del histórico Unix), pero con la originalidad de ser gratuito y a la vez muy potente, que sale muy bien parado (no pocas veces victorioso) al compararlo con las versiones comerciales para sistemas de mayor envergadura por tanto teóricamente superiores.

Comenzó como proyecto personal del -entonces estudiante- Linus Torvalds, quien tomó como punto de partida otr ido, el Minix de And estudiante- Linus Torvalds, quien tomó como punto de partida otro viejo conocido, el Minix de Andy. S. Tanenbaum (profesor de sistemas operativos que creó su propio sistema operativo Unix en PCs XT para usarlo en su docencia). Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde una gigantesca familia de programadores y usuarios aportan diariamente su tiempo umentando sus prestaciones y dando información y soporte técnico mútuo.

La versión original -y aun predominante- comenzó para PCs compatibles (Intel 386 y superiores), existiendo también en desarrollo versiones para prácticamente todo tipo de plataformas: Ensamblador Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una clave de su significado, a la cual comúnmente se le conoce como mnemónico , tenemos el concepto de Lenguaje Ensamblador . Así, podemos definir simplemente al Lenguaje Ensamblador de la siguiente forma: Lenguaje Ensamblador es la primera abstracción del Lenguaje de

Máquina , consistente en asociar a los opcodes palabras clave que faciliten su uso por parte del programador Como se puede ver, el Lenguaje Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa; simplemente, es una abstracción que facilita su uso para los seres humanos. Por otro lado, la computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina. Originalmente, este proceso se hacía a mano, usando para ello hojas donde se escribían tablas de programa similares al ejemplo de la calculadora que vimos arrlba. pero, al ser tan dire