SlideShare une entreprise Scribd logo
1  sur  5
INVESTIGACIÓN

Forma de entrega:
En pareja máximo
Transcrito a mano puede utilizar, lápiz o bolígrafo
En hoja tamaño carta preferiblemente sin carpeta o carpeta de manila
No Colocar portada, Identificar con el nombre, la cédula y la sección a la que pertenecen
No colocar hoja en blanco al principio
Fecha de entrega: 01/11/2010
25% menos al que no entregue a la fecha
El informe de poseer mínimo 3 hojas y máximo 5 hojas

1.-Nombrar y explicar la función de 5 lenguajes de programación (en que se enfoca), fecha de creación, por
quién fué desarrollado el lenguaje, los lenguajes deben ser para el software privativo y su equivalencia en
Software libre. (Puede ser en cuadro si lo desea).
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación
denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas
y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.
1) Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de
los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos
más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación
directa de punteros o memoria.
La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron
desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y
evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones
alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.


2) Visual Basic Microsoft es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El
lenguaje de programación es un dialecto de BASIC, con importantes añadidos. Su primera versión fue
presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo
completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la
programación misma.

La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte de este lenguaje hasta marzo de 2008.

En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de
librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros
lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6.

Si bien Visual Basic es de propósito general, también permite el desarrollo de aplicaciones de bases de datos usando Data
Access Objects, Remote Data Objects, o ActiveX Data Objects.

Visual Basic (Visual Studio) contiene un entorno de desarrollo integrado o IDE que incluye un editor de textos para edición
del código, un depurador, un compilador (y enlazador) y un constructor de interfaz gráfica o GUI.

3) Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia
y que favorezca un código legible. Python fue creado a finales de los ochenta3 por Guido van Rossum en
el National Research Institute for Mathematics and Computer Science (CWI), en los Países Bajos, como un
sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema
operativo Amoeba. El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por
los humoristas británicos Monty Python. Características del lenguaje

Propósito general
Se pueden crear todo tipo de programas. No es un lenguaje creado específicamente para la web, aunque entre sus
posibilidades sí se encuentra el desarrollo de páginas.

Multiplataforma
Hay versiones disponibles de Python en muchos sistemas informáticos distintos. Originalmente se desarrolló para Unix,
aunque cualquier sistema es compatible con el lenguaje siempre y cuando exista un intérprete programado para él.

Interpretado
Quiere decir que no se debe compilar el código antes de su ejecución. En realidad sí que se realiza una compilación, pero
esta se realiza de manera transparente para el programador. En ciertos casos, cuando se ejecuta por primera vez un código,
se producen unos bytecodes que se guardan en el sistema y que sirven para acelerar la compilación implícita que realiza el
intérprete cada vez que se ejecuta el mismo código.

Interactivo
Python dispone de un intérprete por línea de comandos en el que se pueden introducir sentencias. Cada sentencia se ejecuta
y produce un resultado visible, que puede ayudarnos a entender mejor el lenguaje y probar los resultados de la ejecución de
porciones de código rápidamente.

Orientado a Objetos
La programación orientada a objetos está soportada en Python y ofrece en muchos casos una manera sencilla de crear
programas con componentes reutilizables.

Funciones y librerías
Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de strings, números, archivos, etc.
Además, existen muchas librerías que podemos importar en los programas para tratar temas específicos como la
programación de ventanas o sistemas en red o cosas tan interesantes como crear archivos comprimidos en .zip.

Sintaxis clara
Por último, destacar que Python tiene una sintaxis muy visual, gracias a una notación identada (con márgenes) de obligado
cumplimiento. En muchos lenguajes, para separar porciones de código, se utilizan elementos como las llaves o las palabras
clave begin y end. Para separar las porciones de código en Python se debe tabular hacia dentro, colocando un margen al
código que iría dentro de una función o un bucle. Esto ayuda a que todos los programadores adopten unas mismas
notaciones y que los programas de cualquier persona tengan un aspecto muy similar.

4) PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas
web dinámicas. Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación
principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no
haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta
licencia como software libre. Una de las herramientas mas importantes en cualquier lenguaje de programación son las
funciones. Una función consiste en un conjunto de rutinas y acciones que a lo largo del script van a ser ejecutadas multitud
de veces agrupados en una FUNCION y desde cualquier punto del script puede ser llamada y ejecutada. A su vez, esta
función puede recibir parámetros externos de los cuales dependa el resultado de una función.
5) C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La
intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan
la manipulación de objetos.
Principios

Todo programa en C++ debe tener la función main() (a no ser que se especifique en tiempo de compilación otro punto de
entrada, que en realidad es la función que tiene el main())
int main()
{}
La función main debe tener uno de los siguientes prototipos:
int main()
int main(int argc, char** argv)
int main(int argc, char** argv, char** env)

La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos. La segunda forma tiene dos
parámetros: argc, un número que describe el número de argumentos del programa (incluyendo el nombre del programa
mismo), y argv, un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo
argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder a las variables de entorno de
ejecución de la misma forma que se accede a los argumentos del programa, pero reflejados sobre la variable env.

El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de retorno (por ejemplo, return
0;, aunque el estándar prevé solamente dos posibles valores de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el
archivo cstddef), o salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el
compilador es responsable de agregar la salida adecuada.

[editar] El concepto de clase
Véase también: Clase (informática)
Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la programación orientada a objetos un
objeto consta de:

    1.   Métodos o funciones

    2.   Atributos o Variables Miembro

Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas características (atributos). Su número
de patas, el color de su pelaje o su tamaño son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su
comportamiento... esas son las funciones de la clase.


                                          2.- Definir los siguientes conceptos:

a) Completitud
Propiedad de un sistema lógico por la que cualquier expresión cerrada es derivable o refutable dentro del
mismo sistema

b) Semántica denotacional
Dar una semántica denotacional para un lenguaje consiste en definir funciones de valoración semántica que
asignan a cada elemento del lenguaje un objeto matemático (como un conjunto) que modele su significado.
Define la funcion que computa el programa, pero sin ocuparse de la forma en que lo hace. Tiene un nivel de
abstraccion mayor que el de la semantica operacional y esto permite estudiar propiedades formales de los
programas como, por ejemplo, las equivalencias que pueda haber entre ellos.

c) Semántica axiomática
Este tipo de semántica suele definirse para lenguajes en los que la ejecución del programa se basa en cambios
de las variables de estado, por ello este enfoque no es adecuado para los lenguajes funcionales. Se define por
medio de un conjunto de axiomas que definen las propiedades de un sistema e indican cuando son verificadas
por la ejecucion de un programa.

d) Semántica operacional
Describe el significado del lenguaje especificando como se ejecuta un programa en una maquina abstracta.
Básicamente esta semántica se centra en conocer el resultado que genera el programa y el modo en que este
resultado es obtenido.
Puede estar basado en una maquina abstracta concreta o en una genérica. Son útiles, sobre todo, en la
implementación de los lenguajes.

                 3.- Nombre y Explique los criterios de diseño de los lenguajes de programación.
Concisión notacional: el lenguaje proporciona un marco conceptual para pensar algoritmos y expresar dichos
algoritmos con el nivel de detalle adecuado.
Ortogonalidad. Dos características de un lenguaje son ortogonales si pueden ser comprendidas y combinadas
de forma independiente, asi el lenguaje es más sencillo de comprender
Abstracción. El lenguaje debe evitar forzar a los programadores a tener que enunciar algo más de una vez.
Seguridad. La fiabilidad de los poductos software es cada vez más importante. Lo ideal es que los programas
incorrectos no pertenezcan al lenguaje y sean rechazados por el compilador.
Expresividad. El programador debe poder expresar sus intenciones. En ocasiones, demasiada expresividad
puede implicar falta de seguridad.
Extensiblidad. El lenguaje debe facilitar mecanismos para que el programador pueda aumentar la capacidad
expresiva del lenguaje añadiendo nuevas construcciones.
Portabilidad. El lenguaje debe facilitar la creación de programas que funcionen en el mayor número de
entornos computacionales.
Eficiencia. El programador debe poder expresar algoritmos suficientemente eficientes o el lenguaje debe
incorporar técnicas de optimización de los programas escritos en él.
• Librerías e interacción con el exterior. La inclusión de un conjunto de librerías que facilita el rápido
desarrollo de aplicaciones es una componente esencial de la popularidad de los lenguajes.
Entorno. Aunque el entorno no forma parte del lenguaje, muchos lenguajes débiles técnicamente son
ampliamente utilizados debido a que disponen de un entorno de desarrollo potente o agradable.
1.3. CRITERIOS DE DEFINICIÓN Y DISEÑO DE LENGUAJES

• Ortogonalidad

Contemplar todas las combinaciones posibles de un conjunto de características de un lenguaje, dotándolo de un grado de
generalidad tal que excluya las restricciones o los casos especiales. Como una muestra de carencia de ortogonalidad en
Pascal, el tipo de un parámetro formal no puede ser anónimo, es decir, no es posible declararlo explícitamente como, por
ejemplo,

procedure noort(var a : array[1..10] of real);

debiéndose declarar

procedure noort(var a : A);

después de la declaración global

type A = array[1..10] of real;

• Claridad sintáctica

Permitir que las diferencias semánticas se manifiesten en diferencias sintácticas.

• Orientación

Proveer una sintaxis comprometida con la orientación del lenguaje.

• Extensión

Facilitar la implementación de estructuras inexistentes en función de las existentes.

• Portabilidad

Proveer una definición del lenguaje independiente de las características de una máquina en particular.

• Eficiencia

" En traducción

" En ejecución

" En construcción
Lenguaje de programacion

Contenu connexe

Tendances

Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
jonathangrief
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
X3025990
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
NancyandRegina317
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
Leopoldo Capa
 

Tendances (18)

Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Informe lpi
Informe lpiInforme lpi
Informe lpi
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýn
 
Jag
JagJag
Jag
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Cap2 compiladores
Cap2 compiladoresCap2 compiladores
Cap2 compiladores
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
Int a la computacion
Int a la computacionInt a la computacion
Int a la computacion
 
Practica 1
Practica 1Practica 1
Practica 1
 
El estudio de los lenguajes de programacion
El estudio de los lenguajes de programacionEl estudio de los lenguajes de programacion
El estudio de los lenguajes de programacion
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
 
Lenguajes De Programación
Lenguajes De ProgramaciónLenguajes De Programación
Lenguajes De Programación
 
Linea del Tiempo
Linea del TiempoLinea del Tiempo
Linea del Tiempo
 

Similaire à Lenguaje de programacion

Características de los 10 lenguajes de programación
 Características de los 10 lenguajes de programación Características de los 10 lenguajes de programación
Características de los 10 lenguajes de programación
Gabriel Solano
 
Plantilla writer02bvbsoloindices
Plantilla writer02bvbsoloindicesPlantilla writer02bvbsoloindices
Plantilla writer02bvbsoloindices
washington1987
 
Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2
gabrielalija10
 
Libro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONLibro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACION
Gabriel Alija
 
Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidad
Izabeliita
 
Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacion
Xavii Torres
 

Similaire à Lenguaje de programacion (20)

Características de los 10 lenguajes de programación
 Características de los 10 lenguajes de programación Características de los 10 lenguajes de programación
Características de los 10 lenguajes de programación
 
Plantilla writer02bvbsoloindices
Plantilla writer02bvbsoloindicesPlantilla writer02bvbsoloindices
Plantilla writer02bvbsoloindices
 
9 anulacion
9   anulacion9   anulacion
9 anulacion
 
Caracteristicas lenguajes
Caracteristicas lenguajesCaracteristicas lenguajes
Caracteristicas lenguajes
 
ACTIVIDAD DE INVESTIGACION
ACTIVIDAD DE INVESTIGACIONACTIVIDAD DE INVESTIGACION
ACTIVIDAD DE INVESTIGACION
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Consulta c++
Consulta c++Consulta c++
Consulta c++
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
3
33
3
 
Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2Libro2 - PROGRAMACION2
Libro2 - PROGRAMACION2
 
Libro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACIONLibro 2 - ORIGENES DE LA PROGRAMACION
Libro 2 - ORIGENES DE LA PROGRAMACION
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lengiajes de programacion valeria loaiza zuleta
Lengiajes de programacion valeria loaiza zuletaLengiajes de programacion valeria loaiza zuleta
Lengiajes de programacion valeria loaiza zuleta
 
Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidad
 
Lenguajes programacion
Lenguajes programacionLenguajes programacion
Lenguajes programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Cabrera ies 2011
Cabrera ies 2011Cabrera ies 2011
Cabrera ies 2011
 
Power point 3 y 4
Power point 3 y 4Power point 3 y 4
Power point 3 y 4
 
9
99
9
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 

Dernier

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Lenguaje de programacion

  • 1. INVESTIGACIÓN Forma de entrega: En pareja máximo Transcrito a mano puede utilizar, lápiz o bolígrafo En hoja tamaño carta preferiblemente sin carpeta o carpeta de manila No Colocar portada, Identificar con el nombre, la cédula y la sección a la que pertenecen No colocar hoja en blanco al principio Fecha de entrega: 01/11/2010 25% menos al que no entregue a la fecha El informe de poseer mínimo 3 hojas y máximo 5 hojas 1.-Nombrar y explicar la función de 5 lenguajes de programación (en que se enfoca), fecha de creación, por quién fué desarrollado el lenguaje, los lenguajes deben ser para el software privativo y su equivalencia en Software libre. (Puede ser en cuadro si lo desea). Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo. 1) Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre. 2) Visual Basic Microsoft es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes añadidos. Su primera versión fue presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la programación misma. La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte de este lenguaje hasta marzo de 2008. En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6. Si bien Visual Basic es de propósito general, también permite el desarrollo de aplicaciones de bases de datos usando Data Access Objects, Remote Data Objects, o ActiveX Data Objects. Visual Basic (Visual Studio) contiene un entorno de desarrollo integrado o IDE que incluye un editor de textos para edición del código, un depurador, un compilador (y enlazador) y un constructor de interfaz gráfica o GUI. 3) Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible. Python fue creado a finales de los ochenta3 por Guido van Rossum en el National Research Institute for Mathematics and Computer Science (CWI), en los Países Bajos, como un sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba. El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los humoristas británicos Monty Python. Características del lenguaje Propósito general Se pueden crear todo tipo de programas. No es un lenguaje creado específicamente para la web, aunque entre sus
  • 2. posibilidades sí se encuentra el desarrollo de páginas. Multiplataforma Hay versiones disponibles de Python en muchos sistemas informáticos distintos. Originalmente se desarrolló para Unix, aunque cualquier sistema es compatible con el lenguaje siempre y cuando exista un intérprete programado para él. Interpretado Quiere decir que no se debe compilar el código antes de su ejecución. En realidad sí que se realiza una compilación, pero esta se realiza de manera transparente para el programador. En ciertos casos, cuando se ejecuta por primera vez un código, se producen unos bytecodes que se guardan en el sistema y que sirven para acelerar la compilación implícita que realiza el intérprete cada vez que se ejecuta el mismo código. Interactivo Python dispone de un intérprete por línea de comandos en el que se pueden introducir sentencias. Cada sentencia se ejecuta y produce un resultado visible, que puede ayudarnos a entender mejor el lenguaje y probar los resultados de la ejecución de porciones de código rápidamente. Orientado a Objetos La programación orientada a objetos está soportada en Python y ofrece en muchos casos una manera sencilla de crear programas con componentes reutilizables. Funciones y librerías Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de strings, números, archivos, etc. Además, existen muchas librerías que podemos importar en los programas para tratar temas específicos como la programación de ventanas o sistemas en red o cosas tan interesantes como crear archivos comprimidos en .zip. Sintaxis clara Por último, destacar que Python tiene una sintaxis muy visual, gracias a una notación identada (con márgenes) de obligado cumplimiento. En muchos lenguajes, para separar porciones de código, se utilizan elementos como las llaves o las palabras clave begin y end. Para separar las porciones de código en Python se debe tabular hacia dentro, colocando un margen al código que iría dentro de una función o un bucle. Esto ayuda a que todos los programadores adopten unas mismas notaciones y que los programas de cualquier persona tengan un aspecto muy similar. 4) PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. Una de las herramientas mas importantes en cualquier lenguaje de programación son las funciones. Una función consiste en un conjunto de rutinas y acciones que a lo largo del script van a ser ejecutadas multitud de veces agrupados en una FUNCION y desde cualquier punto del script puede ser llamada y ejecutada. A su vez, esta función puede recibir parámetros externos de los cuales dependa el resultado de una función. 5) C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. Principios Todo programa en C++ debe tener la función main() (a no ser que se especifique en tiempo de compilación otro punto de entrada, que en realidad es la función que tiene el main()) int main() {} La función main debe tener uno de los siguientes prototipos: int main() int main(int argc, char** argv) int main(int argc, char** argv, char** env) La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos. La segunda forma tiene dos parámetros: argc, un número que describe el número de argumentos del programa (incluyendo el nombre del programa mismo), y argv, un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo
  • 3. argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder a las variables de entorno de ejecución de la misma forma que se accede a los argumentos del programa, pero reflejados sobre la variable env. El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valores de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el compilador es responsable de agregar la salida adecuada. [editar] El concepto de clase Véase también: Clase (informática) Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la programación orientada a objetos un objeto consta de: 1. Métodos o funciones 2. Atributos o Variables Miembro Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas características (atributos). Su número de patas, el color de su pelaje o su tamaño son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase. 2.- Definir los siguientes conceptos: a) Completitud Propiedad de un sistema lógico por la que cualquier expresión cerrada es derivable o refutable dentro del mismo sistema b) Semántica denotacional Dar una semántica denotacional para un lenguaje consiste en definir funciones de valoración semántica que asignan a cada elemento del lenguaje un objeto matemático (como un conjunto) que modele su significado. Define la funcion que computa el programa, pero sin ocuparse de la forma en que lo hace. Tiene un nivel de abstraccion mayor que el de la semantica operacional y esto permite estudiar propiedades formales de los programas como, por ejemplo, las equivalencias que pueda haber entre ellos. c) Semántica axiomática Este tipo de semántica suele definirse para lenguajes en los que la ejecución del programa se basa en cambios de las variables de estado, por ello este enfoque no es adecuado para los lenguajes funcionales. Se define por medio de un conjunto de axiomas que definen las propiedades de un sistema e indican cuando son verificadas por la ejecucion de un programa. d) Semántica operacional Describe el significado del lenguaje especificando como se ejecuta un programa en una maquina abstracta. Básicamente esta semántica se centra en conocer el resultado que genera el programa y el modo en que este resultado es obtenido. Puede estar basado en una maquina abstracta concreta o en una genérica. Son útiles, sobre todo, en la implementación de los lenguajes. 3.- Nombre y Explique los criterios de diseño de los lenguajes de programación.
  • 4. Concisión notacional: el lenguaje proporciona un marco conceptual para pensar algoritmos y expresar dichos algoritmos con el nivel de detalle adecuado. Ortogonalidad. Dos características de un lenguaje son ortogonales si pueden ser comprendidas y combinadas de forma independiente, asi el lenguaje es más sencillo de comprender Abstracción. El lenguaje debe evitar forzar a los programadores a tener que enunciar algo más de una vez. Seguridad. La fiabilidad de los poductos software es cada vez más importante. Lo ideal es que los programas incorrectos no pertenezcan al lenguaje y sean rechazados por el compilador. Expresividad. El programador debe poder expresar sus intenciones. En ocasiones, demasiada expresividad puede implicar falta de seguridad. Extensiblidad. El lenguaje debe facilitar mecanismos para que el programador pueda aumentar la capacidad expresiva del lenguaje añadiendo nuevas construcciones. Portabilidad. El lenguaje debe facilitar la creación de programas que funcionen en el mayor número de entornos computacionales. Eficiencia. El programador debe poder expresar algoritmos suficientemente eficientes o el lenguaje debe incorporar técnicas de optimización de los programas escritos en él. • Librerías e interacción con el exterior. La inclusión de un conjunto de librerías que facilita el rápido desarrollo de aplicaciones es una componente esencial de la popularidad de los lenguajes. Entorno. Aunque el entorno no forma parte del lenguaje, muchos lenguajes débiles técnicamente son ampliamente utilizados debido a que disponen de un entorno de desarrollo potente o agradable. 1.3. CRITERIOS DE DEFINICIÓN Y DISEÑO DE LENGUAJES • Ortogonalidad Contemplar todas las combinaciones posibles de un conjunto de características de un lenguaje, dotándolo de un grado de generalidad tal que excluya las restricciones o los casos especiales. Como una muestra de carencia de ortogonalidad en Pascal, el tipo de un parámetro formal no puede ser anónimo, es decir, no es posible declararlo explícitamente como, por ejemplo, procedure noort(var a : array[1..10] of real); debiéndose declarar procedure noort(var a : A); después de la declaración global type A = array[1..10] of real; • Claridad sintáctica Permitir que las diferencias semánticas se manifiesten en diferencias sintácticas. • Orientación Proveer una sintaxis comprometida con la orientación del lenguaje. • Extensión Facilitar la implementación de estructuras inexistentes en función de las existentes. • Portabilidad Proveer una definición del lenguaje independiente de las características de una máquina en particular. • Eficiencia " En traducción " En ejecución " En construcción