Professional Documents
Culture Documents
Lenguajes de Programacin?
Para incrementar nuestra capacidad de
expresar ideas (la hiptesis Sapir-Whorf)
Para mejorar nuestra formacin en lo
referente a cmo elegir los lenguajes ms
apropiados
Definicin de Lenguaje de
Programacin
Un lenguaje es un conjunto sistemtico de
reglas para comunicar ideas.
Un lenguaje de programacin es un
lenguaje que se pretende sea utilizado por
una persona para expresar un proceso
mediante el cual una computadora puede
resolver un problema.
Conclusin
Hay que recordar que aunque desde la
perspectiva terica todos los lenguajes de
programacin son equivalentes, su
sintaxis y/o conjunto de instrucciones
puede hacerlos ms o menos adecuados
para una cierta tarea en particular. Por lo
tanto, saber ms sobre lenguajes nos
permitir elegir el ms adecuado para una
cierta aplicacin.
Paradigmas de Programacin
Programacin Estructurada
Programacin Orientada a Objetos
Programacin Orientada a las Funciones
Programacin Orientada a la Lgica
Programacin Estructurada
Ejemplos: ALGOL-60, Ada, Pascal, C,
Modula-2, BASIC, FORTRAN. En este
caso, el bloque es la estructura principal
del lenguaje. Normalmente, se usan dos
smbolos (tales como { y } en C) o
palabras reservadas (tales como BEGIN
y END en Pascal) para indicar el
principio y el final de un bloque. Estos
lenguajes son descendientes de ALGOL60.
Programacin
Orientada a Objetos
Ejemplos: C++, Smalltalk, Eiffel. En estos
lenguajes, la unidad bsica de codificacin
es el objeto, que es una entidad que
tiene su propia identidad y oculta
informacin innecesaria del resto del
mundo. El concepto de clase se origin
con el Simula 60 y fue adoptado
posteriormente en lenguajes como C++.
Programacin
Orientada a las Funciones
Ejemplos: Scheme, LISP, Haskell, ML. En estos
lenguajes, las funciones son la principal entidad del
lenguaje, y stas son tratadas como ciudadanos de
primera clase, lo que significa que pueden ser
regresadas de una funcin, asignadas a otra funcin y
pasadas como argumento a cualquier funcin.
Los lenguajes funcionales puros no tienen variables,
saltos incondicionales (gotos), ni ciclos. En lugar de
eso, se usan acoplamientos estticos (static
bindings) y la recursin se usa para las iteraciones.
Scheme y LISP no tienen tipos y escribir un compilador
para ellos resulta, por tanto, una tarea difcil.
Programacin
Orientada a la Lgica
Ejemplo: PROLOG. En estos lenguajes es
posible alcanzar el ms alto nivel de abstraccin
(al menos tericamente), puesto que el estilo de
programacin es declarativo.
Esto significa que en vez de tener que escribir
programas, el usuario escribe clusulas con
aserciones y reglas, y el lenguaje se encarga de
decidir cul es la respuesta (o respuestas) a una
cierta consulta. Los lenguajes orientados a la
lgica todava distan bastante de la perfeccin y
se requiere mucho trabajo para volverlos tiles
en la prctica.
Dominios de la Programacin
Aplicaciones Cientficas
Aplicaciones de Negocios
Inteligencia Artificial
Lenguajes para Programacin de
Sistemas
Lenguajes de Propsito Especial
Aplicaciones Cientficas
FORTRAN, ALGOL-60 y la mayor parte
de sus descendientes han sido usados
para este propsito. La eficiencia es la
mayor motivacin detrs de estos
lenguajes. Deben proporcionarse en la
versin estndar de estos lenguajes
operaciones de punto flotante, as como
buenas bibliotecas matemticas.
Aplicaciones de Negocios
COBOL y herramientas modernas tales como Power
House, FoxBase, CLIPPER,
Oracle, Paradox, etc. Los sistemas manejadores de
bases de datos y muchas otras herramientas han sido
ampliamente utilizadas por los usuarios finales
recientemente para escribir sus propias aplicaciones.
El nfasis de este tipo de lenguajes es su facilidad de
uso. Normalmente cuentan con muchas funciones
orientadas al manejo de bases de datos, funciones muy
elaboradas para entrada y salida y manejo de precisin
fija (muy importante para contabilidad).
Inteligencia Artificial
LISP y PROLOG son los principales lenguajes de
programacin usados en esta rea. El objetivo de tratar
de escribir programas inteligentes es muy ambicioso,
pero los lenguajes que para ello se utilizan son de muy
alto nivel y permiten un gran nivel de abstraccin.
El procesamiento simblico es el principal nfasis de
estos lenguajes, en vez del procesamiento numrico, el
cual se considera secundario en este caso. El uso de
abstraccin y capacidad de incorporar conocimiento
fcilmente es la principal motivacin detrs del diseo
de estos lenguajes.
Lenguajes para
Programacin de Sistemas
Ensamblador, C, Modula-2, etc. Estos lenguajes estn
destinados a la escritura de sistemas operativos y
software relacionado con ellos (p.ej., editores,
depuradores, etc.). En este caso se requiere tener
acceso a operaciones de bajo nivel de una forma
eficiente y confiable.
Los lenguajes de este grupo son normalmente ms
difciles de aprender y extremadamente difciles de
dominar, dado el alto nmero de inconsistencias y
excepciones contenidas en sus gramticas, las cuales
dan pie a sofisticados trucos de programacin que
lenguajes de ms alto nivel no permiten.
Las diferencias
entre los lenguajes de programacin
Por la misma definicin, cualquier lenguaje de
programacin se puede usar para expresar cualquier
programa, entonces todos los lenguajes de
programacin son igualmente poderosos -cualquier
programa que pueda ser escrito en uno que tambin
puede ser escrito en otro.
Porqu entonces hay muchos lenguajes de
programacin? y porqu debemos estudiar sus
diferencias?
La razn es que, aunque es posible escribir cualquier
programa en cualquier lenguaje de programacin, no es
igualmente fcil de hacerlo