Técnicas de Programación

Documentos relacionados
TRANSFORMACIÓN. Ejemplo: Diseñe un algoritmo para preparar un litro de limonada

Algoritmos y programas

Introducción a la programación

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO

INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL

Lenguajes de Cuarta Generación

Introducción a la Programación en C

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Lenguajes de programación Última modificación 2008/10

Programación estructurada (Lenguajes de programación)

Evolución del software y su situación actual

1. Computadores y programación

Tema III: Introducción al lenguaje de programación

Unidad III: Lenguaje de presentación

GENERACIÓN DE COMPUTADORES INTRODUCCIÓN A LA INFORMÁTICA

Antes de Los primeros lenguajes de programación preceden a la computadora moderna. En un inicio los lenguajes eran códigos.

Técnicas de Programación

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

José Luis Alonzo Velázquez

Qué es el Software? Son las instrucciones responsables de que el hardware realice su tarea.

Misión Sucre P.N.F. de Informática U.C.: Algoritmia y Programación. Elaborado por: Ing. Víctor Valencia

Tema 2 Introducción a la Programación en C.

INICIACIÓN A LA PROGRAMACIÓN I

Sesión 6.3: Historia de los Lenguajes de Programación. Dr. Alberto A. Del Barrio García

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación

Bloque II. Elementos del lenguaje de programación Java

2. Java. 3. JavaScript

Arquitectura de sistemas

Introducción a la programación: Contenido. Introducción

Algoritmos y Lenguajes de Programación

Ingeniería en Computación. Lenguaje de Programación Orientado a Objetos. Unidad de competencia I: Plataforma y lenguaje

Conceptos Básicos de Lenguajes de Programación

Fundamentos de programación

Computación Conociendo la herramienta de cálculo. La Computadora

Unidad I: Organización del Computador. Ing. Marglorie Colina

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Metodología de Desarrollo de Programas

Bloque II. Elementos del lenguaje de programación Java

Computación Especializada

Paradigmas de Programación 1

Lenguaje de Programación

Principios de diseño de lenguajes

PROCESAMIENTO ELÉCTRONICO DE DATOS. UNIDAD No. 2 SISTEMA OPERATIVO Y LENGUAJES DE ALTO NIVEL. Lic. M Sc. Guillermo Javier Cuyún. Guatemala, Enero 2010

Tema 5. Soporte lógico de computadoras.

Programación para Ingeniería Eléctrica

Notepad++, un útil editor gratuito con varias ventajas para programar en diversos lenguajes. (DV00404A)

Informática, computadora, y programación. Fundamentos de programación. El hombre y sus primeros intentos de procesar la información

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

INTRODUCCIÓN A LA PROGRAMACIÓN

Fundamentos de la programación

Programación: Lenguajes de programación

Algoritmos y Programas OBJETIVOS

Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005)

Computadora y Sistema Operativo

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java

Procesadores de lenguaje Tema 1 Introducción a los compiladores

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Conceptos y definiciones básicos en computación

LENGUAJES JÓVENES PROGRAMADORES

LÓGICA DE PROGRAMACIÓN

3. El software. Introducción a la programación

Programación de Ordenadores

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Breve Historia de la Informática

Herramientas Modernas de Programación Licenciatura en Administración de Tecnologías de Información y Comunicaciones

Introducción Java y Servicios Web I Master en Ingeniería Matemática

Objetivos. Conocer los avances en programación y diseño web a través de las aportaciones de lenguajes como HTML, PHP y DHTML

Unidad 2. Introducción Lenguajes y Compiladores

Cuales son los 6 lenguajes de programacion mas usados actualmente. Cuales son los 6 lenguajes de programación mas usados actualmente.

Evolución de la Programación Orientada a Objetos

Tema 04: Lenguajes de programación y el lenguaje C

Lección 01. Introducción a los Lenguajes de Programación. Contenido. Conceptos Básicos. Lenguaje de Programación. Introducción al Lenguaje Maquina

Introducción a la programación

Lenguaje C++ Introducción 6. Introducción a la Computación Tc1001 Programación en Lenguaje C++

Objetos de aprendizaje: Computadora

Transcripción:

Técnicas de Programación 2.2.- Lenguajes de programación Lenguaje máquina En definitiva va ser el único lenguaje que puede entender la CPU de un ordenador que es básicamente un componente de electrónica digital. Se trata de un lenguaje de programación muy eficiente para la máquina pero muy árido para programarlo ya que hay que hacerlo con cadenas binarias. El juego de instrucciones o conjunto de símbolos que indican al ordenador una tarea concreta será muy elemental y reducido. Como además las instrucciones van a tener una sintaxis muy estricta resultarán programas muy difíciles de corregir. Finalmente, al tratarse de un lenguaje orientado a la máquina, podemos afirmar que los programas van a depender del modelo de ordenador con el que trabajemos teniendo una portabilidad muy limitada. Lenguaje ensamblador Lenguajes de bajo nivel Se trata de un lenguaje muy cercano al máquina ya que lo que se hace es asignar a cada instrucción en lenguaje máquina un nmemónico representativo algo más cercano al lenguaje humano que una cadena de ceros y unos. Sigue tratándose de un lenguaje muy eficiente pero con el juego de instrucciones bastante limitado y con programas difíciles de interpretar. Al igual que el lenguaje máquina dependen de la máquina. 1

Lenguajes de alto nivel Los lenguajes de alto nivel se basan en la expresión de instrucciones de forma simbólica y son independiente del ordenador. A continuación indicamos por orden cronológico algunos de ellos: 1954. FORTRAN, acrónimo de FORmula TRANslation, desarrollado por John Backus para IBM es un lenguaje orientado a resolver problemas científico-técnicos. 1958. LISP, acrónimo de LISt Processing fué desarrollado por John McCarthy para trabajar con datos no numéricos. 1959. COBOL, acrónimo de Common Business Oriented Languaje fué desarrollado por el Commettee on Data System Languages para desarrollar aplicaciones comerciales de gestión. 1962. SIMULA. Es el primer lenguaje orientado a objetos y lo desarrollaron los noruegos Ole-Johan Dahl y Krysten Nygaard. 1964. BASIC, acrónimo de Beginner's All purpose Symbolic Intruction Code, desarrollado como un lenguaje de programación para principiantes por John Kemeny y Thomas Kurtz. 1970. PASCAL. Se trata de un lenguaje pensado por Niklaus Wirth para aprender a programar. En 1985 surge Object Pascal como un Pascal adaptado a la programación orientada a objetos. En 1995 Borland desarrolla Delphi, que es la base de los compiladores actuales para C de esta firma. En realidad los objetos están desarrollados en Delphi. 1972. C. Lo desarrolla Denis Ritchie para Bell Labs resultando un lenguaje muy flexible y eficiente. 1972. PROLOG, acrónimo de PROgramming in LOGic lo desarrolla Alain Colmerauer para la Universidad de Marsella y está basado en estructuras de lógica. 1980. Surge ADA como un PASCAL adaptado para aplicaciones militares del departamento de defensa de los Estados Unidos. 1983. C++, que es un C que permite la programación orientada a objetos y que se desarrolla en AT&T Bell Labs por Bjarne Stroustroup. 1991. Java, lenguaje similar a C++ desarrollado por Sun Microsystem fácil de aprender y usar. 2000. C# (leído C sharp). Lo desarrolla Microsoft como alternativa a Java. 2

De Wikipedia, la enciclopedia libre extraemos que algunos de los lenguajes de programación más importantes por año son: 1943 - Plankalkül (Konrad Zuse) 1943 - ENIAC 1949 - C-10 1951 - Regional Assembly Language 1952 - Autocode 1954 - FORTRAN 1958 - LISP 1958 - ALGOL 1959 - COBOL 1962 - APL 1962 - Simula 1964 - BASIC 1964 - PL/I 1966 - BCPL 1969 - B 1970 - Pascal 1972 - C 1972 - Smalltalk 1972 - Prolog 1973 - ML 1974 - Comandos Guardados 1978 - SQL 1983 - Ada 1983 - C++ 1985 - Eiffel 1987 - Perl 1989 - FL (Backus) 1990 - Haskell 1990 - Python 1991 - Java 1993 - Ruby 2000 - C# 2007 - UAP 3

Clasificación de los lenguajes de programación según la forma de ejecución Lenguajes compilados Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Los compiladores tienen como función traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario). Al usar un lenguaje compilado el programa desarrollado no se ejecuta mientras haya errores. Lenguajes interpretados Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante compilación para utilizarlo en una ejecución futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente. La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una ejecución después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso. 4

Una opinión publicada de dos profesor de FP Electrónica Muchos programadores utilizan, para realizar páginas web y otras aplicaciones, una arbitraria mezcla de lenguajes formada por una base de HTML con incrustaciones de código en varios lenguajes de Script (Java, PHP ). Estos programas han ser gestionados por un servidor de HTML remoto (Apache, Cherokee, IIS ) que debe disponer de todos los intérpretes necesarios para traducir cada uno de los scripts incrustados y devolver el resultado al navegador cliente (IExplorer, Netscape, Mozilla, Opera ) para que, a su vez, este navegador ejecute el programa en nuestro ordenador. Gracias a la gran velocidad de procesamiento y transmisión, todo se efectúa en poco tiempo; pero el código resultante, el que se ejecuta en nuestra máquina, es altamente redundante y conlleva una sustancial pérdida de eficacia, lo cual se traduce en unas burdas aplicaciones a las que, lamentablemente, nos estamos acostumbrando (esta degradación se aprecia bien si utilizamos un equipo antiguo y una conexión lenta, como la de un MÓDEM). Nosotros creemos que se ha llegado a esta situación fundamentalmente por dos razones: ignorancia e improvisación. Ignorancia de los métodos de programación en lenguajes bien estructurados como el lenguaje C en cualquiera de sus actuales versiones (C++, C#...), probablemente porque este lenguaje requiere un proceso de aprendizaje más pausado y profundo que los lenguajes de script interpretados. Pero el C, al ser un lenguaje compilado y muy cercano a la máquina, genera un código mucho más eficiente y por ello es el lenguaje en el que están escritos la mayoría de los programas que conocemos, incluidos servidores, intérpretes de scripts y sistemas operativos como Linux y Windows. Improvisación en la generación de código sin depurar y abuso del copia-pega por la necesidad urgente de confeccionar multitud de estériles páginas web que no merecen ni el tiempo que se tarda en cargarlas. 5

Algunos lenguajes de programación por orden alfabético ABAP ABC Ada ActionScript Afnix ALGOL APL ASP ASP.NET AWK B BASIC BCPL Befunge Boo C C++ C# Caml Clipper CLIPS CLU COBOL CORAL D Delphi DIV Dylan Eiffel Erlang Ensamblador Extended ML Euphoria Fénix Flow-Matic Forth FORTRAN Gambas GML GRAFCET FP Haskell Icon Inform INTERCAL ISWIM J Java JavaScript Joy KWC LADDER Letra Lexico Lingo Lisp Logo Lua MAGIC Mainsail Mesa Miranda ML Modula Modula-2 Modula-3 Natural NetREXX Oberon Object REXX Objective-C Ocaml Occam Oz Pascal Parlog Perl PHP PL/1 Plankalkül PostScript PowerBuilder Prolog Python Rapid REXX RPN RPG Ruby Sail Sather Scheme Scriptol Seed7 Self Sh Simula Smalltalk Snobol SPARK Squeak SR Standard ML TI-Basic TCL VBA Visual Basic Visual C++ Visual DialogScript Visual Foxpro Yurix ZPL 6

Fin de la presentación 7