Anda di halaman 1dari 13

DEFINICIN DE

ALGORITMO
Es un conjunto prescrito de instrucciones o
reglas bien definidas, ordenadas y finitas
que permite realizar una actividad mediante
pasos sucesivos que no generen dudas a
quien deba realizar dicha actividad. Dados
un estado inicial y una entrada, siguiendo
los pasos sucesivos se llega a un estado
final y se obtiene una solucin. Los
algoritmos son el objeto de estudio de
laalgoritmia.

DEFINICIN DE LENGUAJE DE
PROGRAMACIN
Unsistemadecomunicacinque posee una
determinada estructura, contenido y uso.
Laprogramacines, en el vocabulario propio
de lainformtica, el procedimiento de
escritura delcdigo fuentede unsoftware.
De esta manera, puede decirse que la
programacin le indica al programa
informtico qu accin tiene que llevar a
cabo y cul es el modo de concretarla.

Tipos de lenguajes de
programacin

Lenguajes de programacin
compilados:
Cuandolos programas de una
computadora se traducen a cdigo
mquina antes de ejecutarse, tiene lugar
un lenguaje de programa compilado. Se
diferencia sustancialmente del lenguaje
interpretado, porque en este ltimo los
programas se traducen y tambin se
ejecutan por instruccin.

Lenguajes de programacin interpretados:


Son una alternativa diferente de los compiladores,
que se aplican cuando es necesariotraducir
lenguajes de alto nivel. En vez de traducir el
programa principalpara luegograbarlo de
manerapermanente en el cdigo del objeto,se
produce la corrida de compilacin para ser
usadoen una corrida de produccin posterior.
El programador nicamentecarga el programa
principal en la computadora, junto con todos los
datos que sern procesados.

Lenguajes de programacin
declarativos:
Son aquellos en los cuales se leindica a
la computadora cul es el objetivo
planteado, y que se desea obtener.
De esta manera se utilizan buscadores o
bases de datos, y se traducen las
palabras de la bsqueda a la
computadora que efectuar la accin.

Lenguajes de programacin de descripcin de


mquina:
Son programas como, por ejemplo,PostScript,que
se utilizanpara denominar la salida a una
impresora, traducirla y seguir las
instruccionesdel lenguaje de descripcin de la pgina
para construir el texto y tambin los grficos, que
darn lugar a la creacin de la imagen en la pgina. El
lenguaje de descripcin de pgina es como otros
lenguajes de la computadora, pero con un programa
indexado que le permitir al usuario la manipulacin de
la salida.

Lenguajes de programacin estticos:


Son todas las expresiones que antes de la
ejecucin del programase encargan de
compilar los datos. Son expresiones
enteras. Que no pueden ser pasadas a una
funcin que espera una cadena, ni pueden
almacenarse en una variable que est
definida como fecha.No se pueden
modificar,pero s pueden manejar tipos
explcitos o tipos inferidos.

Lenguajes de programacin
dinmicos:
Son los quedeterminan la validez de
los tipos programticos involucrados
en las operaciones durante la
ejecucin del programa. Los lenguajes
dinmicos, a diferencia de los
estticos,pueden ser manipulados, y
una misma variable puede ser asociada a
distintos valores en diferentes momentos
de la ejecucin del programa.

Tipos de Entornos de Programacin


Entornos centrados en un lenguaje
Presentan las siguientes caractersticas generales:

Son especficos para un lenguaje de programacin en particular


Estn fuertemente integrados. Aparecen como un todo homogneo
Se presentan como una herramienta nica
El editor tiene una fuerte orientacin al lenguaje
Son relativamente cmodos o fciles de usar
A veces son poco flexibles en lo referente a la interoperacin con
otros productos o a la ampliacin de sus funciones
Se basan en representar el cdigo fuente como texto

Ejemplo:

Entornos orientados a estructura


Podran considerarse incluidos en la clase anterior, ya que
suelen ser especficos para un lenguaje de programacin, pero
estn concebidos de manera diferente:
El editor de cdigo fuente no es un editor de texto, sino un editor de
estructura (editor sintctico)
Se basan en representar internamente el cdigo fuente como una
estructura:

rbol de sintaxis abstracta: AST

La presentacin externa del cdigo es en forma de texto


Plantillas (elementos sintcticos no terminales)
Texto simple (elementos terminales - a veces "frases" para expresiones)

Compilacin incremental (en algunos casos)


Para desarrollo personal, no en equipo

Ejemplo: Alice Pascal

Entornos basados en combinacin de herramientas


Consisten en una combinacin de diversas herramientas
capaces de interoperar entre ellas de alguna manera. Se
denominan entornos toolkit. Presentan las siguientes
caractersticas:
Presentan integracin dbil
Son un conjunto de elementos relativamente heterogneos
Son fciles de ampliar o adaptar mediante nuevas herramientas
Pueden ser construidos en parte por el propio usuario
(programador): ste es ms o menos el estilo UNIX original
Ofrecen poco control de uso de cada herramienta
El elemento frontal (front-end) para interaccin con el usuario suele
ser un editor configurable, con llamadas a herramientas externas. A
veces estos editores configurables se designan tambin con las
siglas IDE (que debera reservarse para el entorno completo)

Ejemplo:

Entornos multilenguaje
Hay aplicaciones que combinan piezas de cdigo fuente escritas en
diferentes lenguajes de programacin. Algunas posibilidades de combinacin
son las siguientes:

Entornos genricos
No se combinan lenguajes en un mismo programa. Hay varios programas, cada uno en su propio

lenguaje
Bastara combinar las herramientas correspondientes a cada lenguaje (compiladores, etc.)
Se podra usar un frontal comn: editor personalizable que soporte los lenguajes concretos
Ejemplos:
Emacs (con diferentes "modos")

Entornos especficos
Para una combinacin concreta de lenguajes
Vienen a ser como los entornos centrados en un lenguaje, slo que admiten ms de uno
Usan un formato binario compatible que permite combinar en un mismo programa partes escritas

en los diferentes lenguajes


Ejemplo: GPS permite combinar mdulos en Ada y C++

Lenguajes ejecutados sobre mquina virtual


La mquina virtual establece el formato del cdigo binario
Pueden combinarse mdulos escritos en diferentes lenguajes para los que exista el compilador

apropiado
Cada lenguaje puede tener su entorno de programacin separado, o bien existir un entorno de
programacin nico
Ejemplos:
JVM (Java Virtual Machine).

Ejemplo:

Entornos para ingeniera de software


Un entorno de programacin, tal como se ha definido
anteriormente, servira para dar soporte a las tareas de desarrollo
de software realizadas por una persona. Para desarrollar
proyectos de software no triviales se necesita trabajar en equipo
usando las recomendaciones de la ingeniera de software.
Cada miembro del equipo de desarrollo puede disponer de una
estacin de trabajo con un entorno de programacin adecuado
para realizar su trabajo individual, y se necesita adems algn
medio de combinar los trabajos individuales en una labor de
conjunto, debidamente organizada.
Una manera intuitiva de organizar el entorno general de desarrollo
es basarlo en un repositorio central de informacin, dotado de un
sistema de gestin de configuracin, y aadirle sistemas de
mensajera, de gestin de incidencias, herramientas de modelado
para anlisis y diseo, de gestin del proyecto, etc.

Ejemplo: