Sei sulla pagina 1di 8

2016

1. Evolucin histrica de los lenguajes de programacin.

Antes de 1940
Los primeros lenguajes de programacin preceden a la computadora moderna. En un inicio los
lenguajes eran cdigos.
La mquina del telar de Jacquard, creada en 1801, utilizaba los orificios en tarjetas perforadas
para representar los movimientos de un brazo de la mquina de tejer, con el objetivo de generar
patrones decorativos automticamente.
Durante un perodo de nueve meses entre 1842 y 1843, Ada Lovelace tradujo las memorias del
matemtico italiano Luigi Menabrea acerca de la nueva mquina propuesta por Charles Babbage,
la Mquina Analtica. Con estos escritos, ella aadi unas notas en las cuales especificaba en
detalle un mtodo para calcular los nmeros de Bernoulli con esta mquina, el cual es
reconocido por muchos historiadores como el primer programa de computadora del mundo.
Herman Hollerith se percat de que poda codificar la informacin en tarjetas perforadas cuando
observ a los conductores de trenes codificar la apariencia de los tickets del tren con la posicin
de los agujeros perforados en estos. En 1890 Hollerith codific los datos del censo en tarjetas
perforadas.
Los primeros cdigos de computadora estaban especializados segn sus aplicaciones. En las
primeras dcadas del siglo 20, los clculos numricos estaban basados en los nmeros
decimales. Eventualmente se fueron dando cuenta que la lgica poda ser representada con
nmeros, no slo con palabras. La mquina de Turing estableci las bases para almacenar
programas como datos en la arquitectura de von Neuman de una computadora. Sin embargo, a
diferencia del clculo lambda, el cdigo de Turing no servira satisfactoriamente como base para
lenguajes de ms alto nivel- su principal uso es en el anlisis riguroso en la complejidad
algortmica.

Desde un inicio, las restricciones de hardware definan el lenguaje. Las tarjetas perforadas
permitan 80 columnas, pero algunas de estas seran utilizadas para una clasificacin de cada
tarjeta. FORTRAN inclua algunas palabras reservadas provenientes del Ingls, como IF,
GOTO (goto) y CONTINUE. El uso del tambor magntico para la memoria implicaba que
los programas informticos tuvieran que estar intercalados con las rotaciones del tambor. Por lo
tanto los programas eran muy dependientes del hardware.
Los aos 40
En la dcada de 1940 fueron creadas las primeras computadoras modernas, con alimentacin
elctrica. La velocidad y capacidad de memoria limitadas forzaron a los programadores a
escribir programas en lenguaje ensamblador muy afinados. Finalmente se dieron cuenta de que
la programacin en lenguaje ensamblador requera de un gran esfuerzo intelectual y era muy
propensa a errores.

1943 - el sistema de codificacin ENIAC.

1949 - 1954 -- una serie de conjuntos de instrucciones nemotcnicas, como la de ENIAC,


comenzando en 1949 con C-10 para BINAC (que luego evolucionara en UNIVAC).
Cada conjunto de instrucciones estaba destinado a un fabricante especfico.

Las dcadas de 1950 y 1960


En los cincuenta, los tres primeros lenguajes de programacin modernos, cuyos descendientes
an continan siendo utilizados, son:

FORTRAN (1955), creado por John Backus et al.;

LISP (1958), creado por John McCarthy et al.;

COBOL (1959), creado por el Short RangeCommittee, altamente influenciado por Grace
Hopper.

Algunos de los lenguajes importantes que fueron desarrollados en este perodo incluyen:

1951 - Regional AssemblyLanguage

1952 - Autocode

1954 - IPL (precursor de LISP)

1955 - FLOW-MATIC (precursor de COBOL)

1957 - FORTRAN (primer compilador)

1957 - COMTRAN (precursor de COBOL)

1958 - LISP

1958 - ALGOL 58

1959 - FACT (precursor de COBOL)

1959 - COBOL

1959 - RPG

1962 - APL

1962 - Simula

1962 - SNOBOL

1963 - CPL (precursor de C)

1964 - BASIC

1964 - PL/I

1967 - BCPL (precursor de C)

1968-1979

Simula, inventado en la dcada de 1960 por Nygaard y Dahl como un superconjunto de


Algol 60, fue el primer lenguaje diseado para apoyar la programacin orientada a
objetos.

C, en principio un lenguaje de programacin sistemas, fue desarrollado por Dennis


Ritchie y Ken Thompson en los Laboratorios Bell entre 1969 y 1973.

Smalltalk (mediados de los 70) proporcionaron un completo diseo de un lenguaje


orientado a objetos.

Prolog, diseado en 1972 por Colmerauer, Roussel y Kowalski, fue el primer lenguaje
de programacin lgica.

Algunos lenguajes importantes que se desarrollaron en este perodo fueron:

1968 - Logo

1969 - B (precursor C)

1970 - Pascal

1970 - Forth

1972 - C

1972 - Smalltalk

1972 - Prolog

1973 - ML

1975 - Scheme

1978 - SQL (inicialmente slo un lenguaje de consulta, posteriormente ampliado con


construcciones de programacin)

La dcada de 1980
En vez de inventar nuevos paradigmas, se comenz a trabajar a partir de las ideas inventadas en
la dcada anterior. C++ combinaba la programacin orientada a objetos y la programacin de
sistemas.
Una nueva tendencia importante en el diseo de lenguajes era un mayor enfoque en la
programacin de sistemas a gran escala a travs del uso de mdulos, una organizacin a gran
escala de unidades de cdigo. Modula, Ada, y ML desarrollaron sistemas de mdulos notables en
la dcada de 1980. Los sistemas de mdulos eran relacionados con frecuencia con
construcciones de programacin genricas, que seran, en esencia, mdulos parametrizados.

La dcada de 1990: la era de Internet


El rpido crecimiento de Internet en la dcada de 1990 fue el siguiente gran acontecimiento
histrico para los lenguajes de programacin. Con la apertura de una plataforma totalmente
nueva para los sistemas informticos, Internet cre una oportunidad adoptar nuevos lenguajes.
En particular, el lenguaje de programacin Java se hizo popular debido a su pronta integracin
con el navegador web Netscape Navigator, y varios lenguajes de scripting alcanzaron un amplio
uso en el desarrollo de aplicaciones personalizadas para servidores web. La dcada de 1990 no
vio ninguna novedad fundamental en los lenguajes imperativos, pero s mucha recombinacin y
la maduracin de viejas ideas. Esta era comenz la difusin de los lenguajes funcionales. Una
filosofa de conduccin grande era la productividad del programador. Surgieron muchos
lenguajes de aplicaciones de desarrollo rpido (RAD), los cuales usualmente venan con
un IDE, recolector de basura, y eran descendientes de lenguajes anteriores. Todos estos lenguajes
eran orientados a objeto. Estos incluan Object Pascal, Visual Basic y Java. Java, en particular,
recibi mucha atencin. Pero ms radicales e innovadores que los lenguajes de RAD eran los
nuevos lenguajes de script.
2. Realizar un cuadro comparativo de 5 lenguajes de programacin incluido C#

3. Tendencias en cuanto a la programacin de computadoras.


La evolucin de los lenguajes de programacin contina, tanto en la industria como en
investigacin. Algunas de las tendencias actuales incluyen:

Aumentar el soporte para la programacin funcional en lenguajes importantes utilizados


comercialmente, incluida la programacin funcional pura para hacer el cdigo ms fcil
de razonar y de paralelizar (tanto en macro como en micro-niveles).

Construir lenguajes para apoyar la programacin concurrente y distribuida.

Mecanismos para aadir al lenguaje verificacin en cuanto a seguridad y confiabilidad:


chequeo sintctico extendido, control de flujo de informacin, seguridad de hilos.

Mecanismos alternativos de modularidad: mixins, delegados, aspectos.

Desarrollo de software orientado a componentes.

Metaprogramacin, la reflexin o el acceso al rbol de sintaxis abstracta.

Mayor nfasis en cuanto a distribucin y movilidad.

Integracin con bases de datos, incluyendo XML y bases de datos relacionales.

Soporte para Unicode para que el cdigo fuente (texto del programa) no se limite slo a
los caracteres contenidos en el conjunto de caracteres ASCII, permitiendo, por ejemplo,
el uso de caracteres no latinos basados en guiones o signos de puntuacin extendidos.

XML para interfaz grfica (XUL, XAML).

El cdigo abierto como una filosofa de desarrollo de lenguajes, incluyendo la coleccin


de compiladores de GNU y lenguajes recientes, como Python, Ruby, y Squeak.

Programacin Orientada a Aspectos (AOP).

Lenguajes que soporten programar sobre los procesadores de la GPU en paralelo,


como OpenCL.

4. A que se hace referencia cuando se habla de buenas prcticas de programacin.

- Usa siempre el mismo formateo de cdigo. Espacios, identacin, etc...


- Nombres de variables fcilmente reconocibles y no muy largos.
- Comentar el cdigo. Si tienes algo como javadoc... salo y documenta tu cdigo.
- Modulariza el cdigo y usa la herencia sin excesos.
- Sigue las convenciones de cada lenguaje.
- Hazlo lo ms simple que puedas.

5. Indague y comente un poco sobre el lenguaje de programacin C# en versiones 2013 o 2015

Programacin en C#
Qu es C#
C# (se debe leer "C sharp" -sostenido-, es una alusin musical) es un lenguaje de orientado a
objetos, surgido como evolucin de C++, propuesto por Microsoft como alternativa a Java.

Compiladores de C#

La versin "Express" de Visual C# 2010 se puede descargar libremente desde la pgina


Web de Microsoft. Para equipos menos potentes, tambin puedes optar por Visual Studio
2008 Express. Ambos son slo para Windows.

El proyecto MONO es un compilador de C# de libre distribucin, disponible para


Windows, Linux y Mac OS X.

Un entorno alternativo, desarrollado por el mismo equipo que Mono, es MonoDevelop,


para Windows, Linux y Mac OS X.

Potrebbero piacerti anche