RESUELVE EL SIGUIENTE CRUCIGRAMA
Historia de los lenguajes de programación
viernes, 25 de enero de 2013
jueves, 24 de enero de 2013
Lenguajes de programación con tipos fuertes vs débiles
Tipo débil
|
Tipo fuerte
|
Permite que un valor
de un tipo pueda ser tratado como de otro tipo
|
Cualquier intento de
llevar una operación sobre el tipo equivocado, causa un error
|
Permiten un gran
número de conversaciones de tipo implícitas. Puede ocultar errores de
programación
|
No permite un gran
número de conversaciones
|
Ejemplo: Javascript
|
Ejemplo: C
|
Tipado débil
|
Tipado fuerte
|
A=2
B= “2”
Concatenar (A,B)
retorna “22”
Sumar (A,B) {retorna
4}
|
A=2
B= “2”
Concatenar (A,B) {
error de tipo}
Sumar (A,B) {error
de tipos}
Concatenar (srt
(A),(B)) {retorna “22”}
Sumar (A, int (B)) {
retorna 4}
|
Clasificación de lenguajes de programación
1) Nivel abstracto: según el nivel de
abstracción, es decir el nivel de cercanía a la máquina.
a. Lenguajes de bajo nivel: La
programación se realiza teniendo muy en cuenta las características del
procesador. Por ejemplo: lenguaje ensamblador.
b. Lenguajes de nivel medio: Permiten
un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades
de los lenguajes de bajo nivel. Ejemplo: C.
c. Lenguajes de alto nivel: Más
parecidos al lenguaje humano. Manejan conceptos, tipos de datos, etc., de una
manera cercana al pensamiento humano ignorante (abstrayéndose) del
funcionamiento de la máquina. Ejemplo: Java, Ruby.
Hay quienes sólo consideran a los lenguajes de alto y de bajo nivel, en
ese caso, C es considerado de alto nivel.
2) Propósito: según el tipo de
problemas a tratar con ellos.
a. Lenguajes de propósito general:
Aptos para todo tipo de tareas. Ejemplo:
C.
b. Lenguajes de propósito específico:
hechos para un objetivo muy concreto. Ejemplo: Csound (para crear ficheros de
audio.
c. Lenguajes de programación de
sistemas: diseñados para realizar sistemas operativos o drivers. Ejemplo: C.
d. Lenguajes de script: para realizar
tareas varias de control y auxiliares. Antiguamente eran los llamados,
lenguajes de procesamiento por lotes (batch) o JCL (Job Control Languages). Se subdividen
e varias clases (de Shell, de GUI, de programación web, etc.)
3) Evolución histórica: con el paso del
tiempo, se va incrementando el nivel de abstracción, pero en la práctica los de
una generación no terminan de sustituir a los de la anterior.
a. Lenguajes de primera generación (1GL):
Código máquina.
b. Lenguajes de segunda generación
(2GL): Lenguajes ensamblados.
c. Lenguajes de tercera generación
(3GL): La mayoría de los lenguajes modernos, diseñador para facilitar la
programación a los humanos. Ejemplo: Java.
d. Lenguajes de cuarta generación (4
GL): diseñados con un propósito concreto, o sea, para abordar un tipo concreto
de problemas. Ejemplos: NATURAL.
e. Lenguajes de quinta generación
(5GL): la intención es que el programador establezca el que problema ha de ser
resuelto y las condiciones a reunir, y que la máquina lo resuelva. Se usa en
inteligencia artificial. Ejemplo: Prolog.
4) Manera de ejecutarse: Según la
manera de ejecutarse.
a. Lenguajes compiladores: un programa
traductor que traduce el código del programa (código fuente) en código máquina
(código objeto). Otro programa, el enlazador, unirá los ficheros de código
objeto del programa principal con los de las librerías para producir el
programa ejecutable. Ejemplo: C.
b. Lenguajes interpretados: Un programa
(interprete), ejecuta las instrucciones del programa de manera directa:
ejemplo: Lisp.
También los hay mixtos
como Java, que primero pasan por una fase de compilación en la que el código
fuente se transforma en “bytecode”, puede ser ejecutado luego en ordenadores
con distintas arquitecturas (procesadores) todos que tengan instalados la misma
“máquina virtual”.
5) Manera de abordar la tarea a
realizar.
a. Lenguajes imperativos: Indican como
hay que hacer la tarea, es decir, expresan los pasos a realizar. Ejemplo: C.
b. Lenguajes declarativos: Indican que
hay que hacer. Ejemplo: Lisp
6) Paradigma de programación: El
paradigma de programación es el estilo de programación empleado. Algunos lenguajes
soportan varios paradigmas, y otros sólo uno. Se puede decir que históricamente
han ido apareciendo para facilitar la tarea de programar según el tipo de
problema a abordar, o para facilitar el mantenimiento del software, o por otra
cuestión similar, por lo que todos corresponden a lenguajes de alto nivel (o
nivel medio), estando los lenguajes ensambladores “atados” a la arquitectura de
su procesador correspondiente. Los principales son:
a. Lenguajes de programación
procedural: divide el problema en partes más pequeñas, que serán realizadas por
subprogramas. Que se llaman unas a otras para ser ejecutadas. Ejemplo: C y
PASCAL.
b. Lenguajes de programación orientada
a objetos: Crean un sistema de clases y objetos siguiendo el ejemplo del mundo
real, en el que unos objetos realizan acciones y se comunican con otros
objetos. Ejemplos: C++.
c. Lenguajes de programación funcional:
la tarea se realiza evaluando las funciones (como en matemáticas), de manera
recursiva. Ejemplo: Lisp.
d. Lenguajes de programación lógica: la
tarea a realizar se expresa empleando lógica formal matemática. Expresa que
computar. Ejemplo: Prolog.
7) Lugar de ejecución: Sistema
distribuido según donde se ejecute.
a. Lenguaje de servidor: Su ejecución
es en el servidor. Ejemplo: Ada.
b. Lenguaje de cliente: Se ejecutan en
el cliente. Ejemplo: JavaScript.
8) Concurrencia: Según admitan o no
concurrencia de procesos.
a. Lenguajes concurrentes. Ejemplo:
Ada.
concurrentes. Ejemplo:
C.
9) Interactividad: según la
interactividad del programa con el usuario u otros programas:
a. Lenguajes orientados a sucesos: El
flujo del programa es controlado por la interacción con el usuario o por
mensajes de otros programas/sistema operativo, como editores de texto,
interfaces gráficos de usuario (GUI) o Kernels. Ejemplo: VisualBasic.
b. Lenguajes no orientados a sucesos:
El flujo del programa no depende de sucesos exteriores, sino que se conoce de
antemano, siendo los procesos batch, el ejemplo más claro.
10) Realización visual: según la realización
visual del programa.
a. Lenguajes de programación visual: El
programa se realiza moviendo bloques de construcción de programas (objetos visuales)
en un interfaz adecuado para ello. No confundir con entornos de programación
visual, como Microsoft Visual Studio. Ejemplo: Mindscript.
b. Lenguajes de programación textual:
el código del programa se realiza escribiéndolo. Ejemplo: C.
11) Determinismo: Según se pueda
predecir o no el siguiente estado del programa a partir del estado actual.
a. Lenguajes deterministas: Ejemplo,
Todos los anteriores.
b. Lenguajes probabilístico o no
determinista: Sirve para explorar grandes espacios de búsqueda, (como
gramática), en la investigación teórica
de hipercomputación. Ejemplo: mutt.
12) Productividad: Se caracterizan por
tener virtudes útiles o productivas, u oscuras y enrevesadas.
13) Lenguajes útiles o productivos: sus
virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc.
14) Lenguajes esotéricos o exóticos:
Inventados con la intención de ser los más raros, oscuros, difíciles, simples
y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis
programadores. A veces exploran nuevas ideas de programación. Ejemplo:
Branfuck.
domingo, 13 de enero de 2013
Lenguaje de promación Pascal
Pascal
El lenguaje de programación en Pascal, es un
lenguaje de alto nivel, y de propósito general, lo cual quiere decir que se
puede utilizar para cualquier tipo de propósitos. El lenguaje de programación
en Pascal se considera un lenguaje estructurado, sencillo y práctico para
todos aquellos usuarios que se inician en el mundo de la programación, ya que
fue creado con fines de aprendizaje.
Al ser un Pascal lenguaje estructurado, sirve de
base para cualquier otro lenguaje de alto nivel, por estas características es
utilizado en las universidades e institutos de educación para inicializar a
los futuros ingenieros en sistemas o informática.
|
El lenguaje de programación Pascal, es idóneo en el
estudio y definición de las estructuras de datos, su fácil definición lo hace
manejable para un programador novato.
Con la programación en Pascal, se pueden realizar
desde programas formales, rutinas, utilitarios, hasta cualquier clase de video
juegos.
Programación en Pascal es un lenguaje de sintaxis
sencilla, muy estructurado y que comprueba exhaustivamente todo tipo de datos.
El mejor de los propósitos de programación en Pascal
es que enseña buenas formas de programación, con lo cual se utiliza mucho en la
enseñanza, por todos los motivos nominados anteriormente, por su sencillez, su
estructuración y su facilidad de lectura y entendimiento.
Existen varios dialectos locales de programación en
Pascal, entre ellas el Turbo Pascal, el cual acepta instrucciones de Pascal.
El lenguaje de programación Pascal es un lenguaje de alto nivel y propósito general (aplicable a una
gran cantidad de aplicaciones diversas) desarrollado por el profesor suizo Niklaus Wirth (Instituto
tecnológico de Zurich, Suiza). El propósito de Wirth era crear un lenguaje para
la enseñanza de técnicas de programación a estudiantes universitarios. Pero a
medida que pasaban los años, Pascal se iba convirtiendo en un estándar en el
mundo de la programación.
Una versión preliminar del lenguaje apareció en 1968 y el primer compilador totalmente completo apareció a finales
de 1970. Desde entonces, muchos compiladores han sido construídos y
están disponibles para diferentes máquinas. Durante muchos años, el libro Pascal User Manual and Report , publicado por Wirth y Kathleen
Jensen en 1974, ha servido de
facto como estándar de todas
las versiones.Las diferentes versiones ofrecían interpretaciones ligeramente diferentes que impedían la compatibilidad entre ellas. Por estas razones, diferentes proyectos se iniciaron para producir una definición estándar del lenguaje y culminaron en dos estándar: uno de la Internacional Standard Organization (ISO) en 1982 y otro por un comité conjunto del American National Standards Institute (ANSI) y del Institute of Electrical and Electronics Engineers (IEEE). Estas dos versiones o definiciones se conocen como ISO Pascal y ANSI/IEEE Pascal, (free Pascal es otra versión) y difieren en algunos aspectos no especialmente significativos. Sin embargo, una versión no estándar se ha popularizado considerablemente: Turbo Pascal (marca registrada por Borland International, Inc.). Esta versión ha contribuido en gran medida a la popularización del lenguaje Pascal.
C
Lenguaje de programación
C
El lenguaje C es fruto de un
lenguaje de programación anterior, el lenguaje
B, desarrollado por Ken
Thompson, en los Laboratorios
Bell en 1970, con la idea de recodificar el sistema operativo UNIX
que, hasta esa fecha, se programaba directamente en ensamblador, con el
inconveniente de estar vinculado a máquinas concretas (según el juego de
instrucciones de cada máquina). Por tanto, se hacía necesario un lenguaje que
permitiese al programador abstraerse de la capa hardware y conseguir una mayor
portabilidad del código, algo que se realizó en B (basándose en el BCPL de
Martin Richard de 1967).
Poco más tarde, también en los
Laboratorios Bell, Dennis Ritchie se
pone a trabajar en el diseño de un nuevo lenguaje de programación basado en el
lenguaje B de Ken Thompson y al que aportó tipos y estructuras de datos que
consiguiesen clarificar la programación y obtener un lenguaje mucho más
eficiente, así nació el lenguaje de
programación C. Ritchie diseñó, desde 1970 a 1972 junto a Brian
Kernighan, un lenguaje que permitía realizar una programación estructurada en
la que se podían economizar las expresiones a usar y con el que los
desarrolladores podrían contar con un buen conjunto de operadores y tipos de
datos para programar tanto en alto como en bajo nivel de manera simultánea. Entre
sus características:
§ Núcleo de lenguaje simple que
incluye funciones matemáticas y de manejo de archivos proporcionadas por
bibliotecas
§ Lenguaje flexible que permitía
programar de manera estructurada y no estructurada
§ Inclusión de un sistema de tipos que
impedía la realización de operaciones sin sentido
§ Acceso a memoria de bajo nivel
mediante el uso de punteros
§
Conjunto reducido de palabras
reservadas
§ Paso de parámetros a funciones por
valor
§ Tipos de datos agregados (struct) que permitían combinar, bajo un mismo tipo,
datos de tipos distintos y manejarlos como uno solo.
El lenguaje C ofrecía diversos tipos de datos: "CHAR"
(carácter), "INT" (enteros), "FLOAT" (números reales en
precisión simple), y "DOUBLE" (números reales en precisión doble) a
los que posteriormente se añadieron los tipos "SHORT" (números
enteros de tamaño menor a un INT), "LONG" (números enteros de tamaño
mayor a un INT), "UNSIGNED" (Enteros sin signo), y
"ENUMERACIONES" que junto a las estructuras, las uniones y las tablas
y matrices componían un variado juego de tipos de datos con los que abordar
múltiples problemas.
El lenguaje C se hizo muy
popular en los años 80 puesto que comenzó a desplazar a BASIC, los compiladores
se hicieron muy populares y, además, de empezarse a usar en los IBM PC. En paralelo, Bjarne Stroustrup (que también trabajaba en los
Laboratorios Bell) desarrolla C++, complementando C con clases y funciones
virtuales, tipos genéricos y expresiones de ADA y un motor de objetos que
permitía combinar la programación imperativa de C con la programación orientada
a objetos.
En 1983, el Instituto
Nacional Estadounidense de Estándares (ANSI) organizó un comité, X3j11, para
establecer una especificación estándar de C que, tras un proceso largo,
completó el estándar en 1989 (ANSI X3.159-1989), el C89. En 1990, la
Organización Internacional para la Estandarización (ISO) tomó el C89 en el
estándar ISO/IEC 9899:1990, conocido por C90 (el C 3.0, C++ 5.5 son otras
versiones). El lenguaje C permaneció estable, mientras que C++ siguió
evolucionando, hasta que en 1999 volvió a revisarse con la ISO 9899:1999.
El Lenguaje C se
ha utilizado mucho para para la programación en sistemas UNIX aunque también se
ha utilizado en el desarrollo de sistemas
operativos como
Windows o GNU/Linux y en el desarrollo de aplicaciones de escritorio como GIMP.
Tampoco es raro verlo en sistemas empotrados (control de procesos industriales,
ascensores, sistemas de monitorización, etc) o como base de kits de desarrollo
de micro controladores (abstrayendo al usuario de la programación en
ensamblador). Además, como decía al inicio, es un lenguaje muy especial dentro
del mundo de la ingeniería puesto que se sigue enseñando en los primeros cursos
de estos estudios y nunca ha dejado de ser utilizado.
COBOL
COBOL
El Cobol (del inglés: Common Business Oriented Language, o Lenguaje
Común Orientado a Negocios) se invento en 1959 por el grupo de la armada de los Estados Unidos formado por Grace Hopper William Selden, Gertrude Tierney, Howard Bromberg, Howard Discount, Vernon Reeves y Jean E. Sammet. Nació con el objetivo de
ser un lenguaje de programación versátil, que pudiese ser usado en cualquier
computador.
En los años 60 era muy difícil que el software creado para una máquina
concreta sirviese para otra diferente. Porque la mayoría de estas computadoras
eran incompatibles entre sí. Con el Cobol se quería conseguir este lenguaje de
programación que fue compatible con los principales modelos de computadoras.
Se quería además conseguir con este nuevo lenguaje de programación que
estuviese destinado a los negocios, concretamente a lo que conocemos como
informática de gestión. Así nació el Cobol, como un lenguaje de programación
compatible con la mayoría de las computadoras y destinado principalmente a la
gestión.
Otra de las virtudes que tiene el Cobol es su sintaxis. Su código es muy
sencillo basado en el idioma inglés. El Cobol es actualmente uno de los
lenguajes de programación más usados. Un ejemplo claro lo tenemos en la gran
demanda de programadores de Cobol que tuvo lugar para la adaptaciones de
aplicaciones informáticas al año 2000 y al Euro.
Por estas razones podemos decir que el Cobol es un lenguaje de programación
que nada tiene que enviar a otros como el Visual Basic, Delphi, etc. El Cobol
cuenta con entornos de programación gráficos, nos permite hacer aplicaciones
con una interfaz gráfica con SQL incrustada para que podamos tener acceso a la
mayoría de las bases de datos SQL del mercado. El Cobol es ideal para el
desarrollo de aplicaciones que soporten un gran número de usuarios.
Visual Basic
Visual Basic
Es un
lenguaje de programación desarrollado por los estadounidenses John
Kemeny y Thomas Kurtz en el Dartmouth
College. La versión original del lenguaje Basic fue creada en el año1964,
ganándose una enorme popularidad gracias sobre todo a dos
implementaciones, Tiny BASIC y Microsoft BASIC, que convirtieron a este
lenguaje en la primera lengua franca de los microordenadores. Otras importantes
implementaciones han sido CBASIC (BASIC Compilado), Integer y Applesoft BASIC
(para el Apple II), GW-BASIC (para computadoras personales), Turbo BASIC (de
Borland) y Microsoft QuickBASIC. El lenguaje ha cambiado en el transcurso de
los años pues nació con el objetivo de servir como lenguaje para aquellas
personas que deseaban introducirse por primera vez en el mundo de la
programación, y luego fue sufriendo modificaciones, hasta que en 1978 se
estableció el Basic estándar.
Más adelante, en 1987,
llegó una de las versiones más populares del lenguaje: QuickBasic0; las
primeras versiones eran interpretadas y no estructuradas. Las más recientes son
estructuradas, y generalmente compiladas. En esos tiempos, BASIC solía
enseñarse a los programadores principiantes porque era “fácil” de utilizar
y de comprender, y además porque contiene los mismos conceptos fundamentales
que muchos otros lenguajes considerados más “difíciles”, como Pascal, C y
COBOL, las cuales a su vez, eran muy populares entre los programadores,
mientras que había una especie de desprecio hacia Basic, por tratarse de un
lenguaje “para principiantes”.
En contraste, hace
poco más de 14 años, el proceso de construir una sencilla aplicación basada en
Microsoft Windows solía ser algo complicado, difícil y largo. Ese año,
Visual Basic 1.0 vio la luz, y revolucionó el desarrollo de aplicaciones para
Windows, especialmente por su facilidad y por la rapidez con la que permite
crearlas. Si bien muchas personas hicieron de Visual Basic una realidad, un
empelado de Microsoft, llamado Alan Cooper, fue considerado el verdadero padre
del lenguaje. Hoy con más de 14 años del lenguaje en el mercado, Alan es
considerado una eminencia.
Inicialmente, Visual
Basic fue pensado para ser un producto muy táctico. Microsoft tenía varias
iniciativas en el desarrollo que lideraba Visual Basic 1.0, todas fueron
pensadas para convertirse en las herramientas de programación a largo plazo,
estratégicas, gráficas y orientadas a objetos. Como siempre ocurre con los
productos en su versión 1.0, el equipo de Visual Basic 1.0 fue forzado a cortar
características de su larga lista de ideas para entregar realmente el producto
al mercado. Consecuentemente, la primera versión incluyó poco más que la
tecnología Embedded Basic que había sido desarrollada originalmente en
Microsoft QuickBasic 4.0 (el código “p” y compilador de Microsoft) y una
herramienta compiladora de diseño simple originalmente diseñada para Windows
3.0 pero que nunca fue utilizada para tal fin. Aproximadamente 12 meses
después, el desarrollo y mejora de la versión 1.0 comenzó, Microsoft sacó al
mercado una herramienta desarrolladora para cubrir la exigencia en ese momento
del mercado cuyo nombre en clave fue “Thunder”(Trueno).
Desde este inicio
bastante desfavorable vino un resultado igualmente difícil de comprender: un
impacto en la industria informática tan profundo que cambió para siempre el
curso del desarrollo del software y creó una explosión en el mercado de las
aplicaciones de Windows. Cuando solamente un pequeño y selecto grupo de
personas, era capaz de desarrollar aplicaciones para Windows, Visual Basic 1.0
representó un cambio gigantesco en el diseño de aplicaciones.
Innegablemente radical
en su puesta en práctica, implementación y capacidades, Visual Basic 1.0 se
propagó a través de la comunidad en cuestión de pocos meses. Poco después del
“shock” inicial de fiebre por Visual Basic, un pequeño pero fuerte grupo de
seguidores comenzó a transformar las bibliotecas de código que tenían con sus
características, métodos y eventos, y a exponerlos como componentes de
Visual Basic llamados VBXs, o los controles personalizados. Después de poco
tiempo, la producción de estos componentes reutilizables creció de una
comunidad especializada a una industria que crecía de vendedores de controles,
y ayudó a Visual Basic a pasar de ser un logro de software a convertirse en un
descubrimiento tecnológico.
A partir de la versión
3, ya se incluían herramientas para el acceso a datos y una interfaz gráfica
más cómoda e intuitiva. Después llego la versión 4, que podía compilar
ejecutables tanto de 16 bits como de 32; y, finalmente, el exilio a los 32 bits
arribo con las versiones 5 y 6. Actualmente, Visual Basic combina la sencillez
de Basic con el poder de un lenguaje de programación visual que permite
desarrollar robustas aplicaciones de 32 bits. Visual Basic ya no es solo un
lenguaje para los más novatos, sino que representa una excelente alternativa
para programadores de todos los niveles.
Cuando aún no había
pasado un año de su salida inicial al mercado ,Visual Basic ya había
evolucionado rápidamente a un kit desarrollador altamente estratégico.
Microsoft había comenzado a utilizar Visual Basic internamente en algunos de
sus propios proyectos que estaba desarrollando. A medida que la demanda de
Visual Basic aumentaba, quedaba claro que los desarrolladores requerirían
un Visual Basic mejor y más capacitado. Para tratar a esta necesidad
creciente, Microsoft anunció la disponibilidad de Visual Basic 2.0 en noviembre
de 1992. La segunda versión de Visual Basic, distribuida en la edición estándar
y profesional, proveía a los desarrolladores un funcionamiento perceptiblemente
mejorado y mayor capacidad para crear aplicaciones de tamaño mayor y más
sofisticadas. Incluía también una ayuda para mejorar la puesta a punto y
depuración, proveía de la capacidad de conectarse a bases de datos mediante
ODBC, y nuevas y productivas herramientas, por ejemplo, la ventana de propiedades,
sintaxis del código en color, y completo soporte para un Interfaz de Múltiples
Documentos (MDI).
Suscribirse a:
Entradas (Atom)