Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LENGUAJES DE
PROGRAMACIÓN
Administración de sistemas. Metodología.
Lenguajes y aplicaciones de gestión de los mismos.
Zope ................................................................................................................... 2
Plone .................................................................................................................. 3
Sistemas de gestión de contenidos .................................................................... 6
Visual Basic ........................................................................................................ 7
Gambas ............................................................................................................ 14
PHP .................................................................................................................. 16
Java .................................................................................................................. 28
C....................................................................................................................... 29
Python .............................................................................................................. 30
Zope
Zope es un servidor de aplicaciones web de código abierto escrito en el
lenguaje de programación Python. Para las funciones de edición de contenidos,
así como personalizaciones básicas, puede ser usado mediante un navegador
web. La programación avanzada así como el desarrollo de nuevas
funcionalidades requiere la edición de componentes en «file system».
Actualmente existen dos ramas principales, zope2 y zope3. Este último es una
reimplementación del servidor zope, donde se ha tratado de volcar toda la
experiencia adquirida en zope2. Zope3 no trae compatibilidad hacia atrás, por
lo que los componentes hechos para zope2 no funcionan. Aún se está en un
proceso de adaptación hacia este nuevo zope, para lo cual está usando un
componente llamado five, con el cual desde zope2 pueden tener la facilidad de
zope3.
2
Plone
Plone es un Sistema de Gestión de Contenidos o CMS por sus siglas en inglés
(Content Management System), basado en Zope (que tiene miles de
desarrolladores en todo el mundo) y programado en Python. Es un desarrollo
basado en código abierto. Plone puede utilizarse para construir portales, sitios
webs corporativos, sitios de noticias, servidor de extranet o intranet, como
sistema de publicación, repositorio de documentos, herramienta colaborativa
(Groupware), comercio en línea (E-commerce).1
El proyecto Plone comenzó en 1999 por Alan Runyan, Alexander Limi, y Vidar
Andersen. Rápidamente se convirtió en uno de los populares y poderosos
Sistemas de Gestión de Contenido de Código Abierto. En el 2004 se creó la
Fundación Plone para proteger y promover el uso de Plone.
Características
Colaboración fácil
Enfocado a la usabilidad
3
Gestión del histórico y de la anulación (undo)
Arquitectura abierta
Plone es construido sobre una arquitectura de componentes reutilizables. Más
de 80 programadores han desarrollado 60 plug-ins para Plone. Numerosas
extensiones (ArcheType por ejemplo) permiten desplegar los componentes de
oficio específicos.
4
El motor de Flujo de trabajo (workflow) reproduce los procesos de oficio,
permite los Flujos de trabajo en los documentos (Entity-based workflows) y en
las acciones (Action-based workflows). Todos los elementos del sistema de
información pueden tener flujo de trabajo, incluyendo los usuarios.
Lenguajes usados
Plone es principalmente desarrollado en Python. Como siempre, se usan otros
lenguajes en el proyecto. A continuación una tabla que resume los lenguajes
usados en Plone, como esta aparece en el sitio de ohloh del proyecto Plone:
Python 58%
JavaScript 28%
XML 12%
Otros 2%
5
Sistemas de gestión de
contenidos
Un sistema de gestión de contenidos (en inglés Content Management System,
abreviado CMS) es un programa que permite crear una estructura de soporte
(framework) para la creación y administración de contenidos, principalmente en
páginas web, por parte de los participantes.
Consiste en una interfaz que controla una o varias base de datos en las cuales
podemos realizar modificaciones del contenido bases de datos donde se aloja
el contenido del sitio. El sistema permite manejar de manera independiente el
contenido y el diseño. Así, es posible manejar el contenido y darle en cualquier
momento un diseño distinto al sitio sin tener que darle formato al contenido de
nuevo, además de permitir la fácil y controlada publicación en el sitio a varios
editores. Un ejemplo clásico es el de editores que cargan el contenido al
sistema y otro de nivel superior (directorio) que permite que estos contenidos
sean visibles a todo el público (los aprueba).
Joomla!
es un sistema de gestión de contenidos, y entre sus principales virtudes está la
de permitir editar el contenido de un sitio web de manera sencilla. Es una
aplicación de código abierto programada mayoritariamente en PHP bajo una
licencia GPL. Este administrador de contenidos puede trabajar en Internet o
intranets y requiere de una base de datos MySQL, así como, preferiblemente,
de un servidor HTTP Apache.
6
Visual Basic
Visual Basic es un lenguaje de programación desarrollado por el aleman Alan
cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC0,
con importantes agregados. 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. Desde el 2001 Microsoft ha
propuesto abandonar el desarrollo basado en la API Win32 y pasar a trabajar
sobre 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).
Contenido [mostrar]
Compilador
El compilador de Visual Basic x.0 genera ejecutables que requieren una DLL
para que funcionen, en algunos casos llamada MSVBSGHVMxy.DLL (acrónimo
de "MicroSoft Visual Basic Virtual Machine x.y", siendo x.y la versión) y en otros
VBSDGRUNXXX.DLL ("Visual Basic Runtime X.XX"), que provee todas las
funciones implementadas en el lenguaje. Además existen un gran número de
bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema
operativo y la integración con otras aplicaciones. Actualmente la mayoría de
estas bibliotecas y componentes adicionales para ejecutar los programas
desarrollados en Visual Basic 6.56 vienen de serie en las versiones de
Windows posteriores a XP.
7
Entorno de desarrollo
El espacio de trabajo donde se muestran todas las ventanas del proyecto, las
vistas de código de módulos y objetos, y las vistas de diseño de formularios y
componentes.
(Label) Etiqueta
(Frame) Marco
(ListBox) Lista
(Timer) Temporizador
(Shape) Figura
(Line) Línea
8
(Image) Imagen
?2+2
?Err.Number
Versiones
Las versiones de Visual Basic para Windows son muy conocidas, pero existe
una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional
9
y Estándar) menos difundida y que data de 1992. Era un entorno que, aunque
en modo texto, incluía un diseñador de formularios en el que se podían
arrastrar y soltar distintos controles.
La última versión sólo para 16 bits, la 3.0, no incluía una detallada biblioteca de
componentes para toda clase de usos. Durante la transición de Windows 3.11 a
Windows 95, apareció la versión 4.0, que podía generar programas de 16 y 32
bits a partir de un mismo código fuente, a costa de un gran aumento en el
tamaño de los archivos "runtime" necesarios. Además, se sustituyen los
controles VBX por los nuevos OCX. Con la versión 5.0, estuvo a punto de
implementar por primera vez la posibilidad de compilar a código nativo,
obteniendo una mejora de rendimiento considerable. Tanto esta como la
posterior 6.0 soportaban características propias de los lenguajes orientados a
objetos, aunque careciendo de algunos ítems importantes como la herencia y la
sobrecarga. La versión 6.0 continua utilizándose masivamente y es casi
compatible prácticamente al 100% con las últimas versiones de Windows como
Vista y Windows 7.
Cabe mencionar que aunque menos conocido, existió también una versión
gratuita de Visual Basic 5.0 dedicada en su práctica al desarrollo de controles y
componentes, su nombre en concreto era Microsoft Visual Basic 5.0 Control
Creation Edition (Visual Basic 5 CCE). También hubo versiones orientadas al
desarrollo de aplicaciones para dispositivos móviles basados en Windows CE y
Pocket PC, conocido como eMbedded Visual Basic.
Ventajas
Es un lenguaje .
Permite usar con suma facilidad la plataforma de los sistemas Windows dado
que tiene acceso prácticamente total a la API de Windows incluídas librerías
actuales.
10
Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros
lenguajes.
Inconvenientes
11
No soporta el puntero a memoria salvo en algunas acciones concretas, como
por ejemplo pasar la dirección de memoria de una función como argumento
(operador AddressOf).
Entornos de desarrollo
Microsoft Visual Basic x.0 para versiones desde la 1.0 hasta la 6.0, (con las
diferencias entre las versiones desde la 1.0 (MS-DOS/Windows 3.1) hasta la
3.0 (16 bits, Windows 3.1/95) y las de la 4.0 (16/32 bits, Windows 3.1/95/NT)
hasta la 6.0 (32 bits, Windows 9x/Me/NT/2000/XP/2003 server/Vista/2008
server/7).
Otras opciones conocidas son Real Basic o PureBasic que permiten desarrollar
bajo Windows, Linux, Mac OS e independientemente, PureBasic permite
desarrollar también para Amiga OS. A diferencia de Gambas, estas son
soluciones comerciales y no son libres.
13
Gambas
Gambas es un lenguaje de programación libre derivado de BASIC. Es
distribuido con licencia GNU GPL. Cabe destacar que presenta ciertas
similitudes con Java ya que en la ejecución de cualquier aplicación, se requiere
un conjunto de librerías interprete previamente instaladas (Gambas Runtime)
que entiendan el bytecode de las aplicaciones desarrolladas y lo conviertan en
código ejecutable por el computador. Por otro lado, a diferencia de Java, no se
experimentan ralentizaciones y es posible desarrollar grandes aplicaciones en
poco tiempo.
Historia
Componentes
Un compilador.
Un intérprete.
Un archivador.
Un entorno de desarrollo.
Portabilidad
14
Gambas ha sido portado a casi cualquier distribución de GNU/Linux, a
excepción de Linspire en la cual hay problemas con las librerías Qt. Además,
ha sido portada a OpenBSD y es mantenido como un port oficial. Mientras que
para sistemas operativos como Microsoft Windows o Mac, según informa la
página oficial de Gambas, es posible en el primero compilar a través de
Cygwin, pero muchos componentes principales como aquellos que conforman
las GUI no podrán ser compiladas, y para el segundo es posible compilar sin
problemas, aunque lo más probable es que al momento de la ejecución el
resultante sea una falla crítica. En la página oficial se muestra el estado de la
portabilidad de Microsoft Windows y Mac, y en ambos su Status tiene una
calificación de Bad.
15
PHP
PHP es un lenguaje de programación interpretado, diseñado originalmente para
la creación de páginas web dinámicas. Es usado principalmente en
interpretación del lado del servidor (server-side scripting) pero actualmente
puede ser utilizado desde una interfaz de línea de comandos o en la creación
de otros tipos de programas incluyendo aplicaciones con interfaz gráfica
usando las bibliotecas Qt o GTK+.
Visión general
El gran parecido que posee PHP con los lenguajes más comunes de
programación estructurada, como C y Perl, permiten a la mayoría de los
programadores crear aplicaciones complejas con una curva de aprendizaje
muy corta. También les permite involucrarse con aplicaciones de contenido
dinámico sin tener que aprender todo un nuevo grupo de funciones.
16
órdenes, de la misma manera como Perl o Python pueden hacerlo, a esta
versión de PHP se la llama PHP CLI (Command Line Interface).
Cuando el cliente hace una petición al servidor para que le envíe una página
web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado
que generará el contenido de manera dinámica (por ejemplo obteniendo
información de una base de datos). El resultado es enviado por el intérprete al
servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también
posible la generación de archivos PDF, Flash, así como imágenes en diferentes
formatos.
Historia
PHP 3
Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans,
reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y
crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual.
Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue
publicado oficialmente en junio del 1998.
PHP 4
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0.
El día 13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de
la versión 4 de PHP,1 a pesar de lo anunciado se ha liberado una nueva
versión con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y
posteriormente la versión 4.4.9 publicada el 7 de agosto de 2008.2 Según esta
noticia [1] se dará soporte a fallos críticos hasta el 2008-08-09,......
PHP 5
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0
(o Zend Engine 2). La versión más reciente de PHP es la 5.3.2 (4 de marzo del
2010), que incluye todas las ventajas que provee el nuevo Zend Engine 2
como:
Mejoras de rendimiento.
Iteradores de datos.
18
Manejo de excepciones.
PHP 6
Está previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance
esta nueva versión quedarán solo dos ramas activas en desarrollo (PHP 5 y 6),
pues se abandonó el desarrollo y soporte de PHP 4 el 13 de julio de 2007.3
Soportará Unicode;
etc.
Tabla Resumen
Versión Fecha Cambios más importantes
19
PHP 4.1 10 de diciembre de 2001 Introducidas las variables superglobals
($_GET, $_SESSION, etc.).
PHP 6 S/D
Características de PHP
Ventajas
Es un lenguaje multiplataforma.
20
Completamente orientado al desarrollo de aplicaciones web dinámicas con
acceso a información almacenada en una Base de Datos.
Es libre, por lo que se presenta como una alternativa de fácil acceso para
todos.
Inconvenientes
La ofuscación de código es la única forma de ocultar los fuentes.
21
<?php
$a = 'hola mundo';
echo $a;
?>
Hola Mundo
<html>
<head>
</head>
<body>
<?php
if (isset($_POST['comida']))
} else {
?>
¿Cuál es tu nombre?
22
<input type="text" name="nombre" />
<select name="comida">
<option value="Spaguetis">Spaguetis</option>
<option value="Asado">Asado</option>
<option value="Pizza">Pizza</option>
</select>
</form>
<?php
?>
</body>
</html>
Las variables que están dentro de las cadenas $_POST, $_GET y $_COOKIE
pueden encontrarse en la cadena $_REQUEST, ya que ésta resume las 3
anteriores.
El código PHP está incrustado dentro del HTML e interactúa con el mismo, lo
que permite diseñar la página Web en un editor común de HTML y añadir el
código dinámico dentro de las etiquetas <?php ?>.
23
El resultado muestra y oculta ciertas porciones del código HTML en forma
condicional.
Es posible utilizar funciones propias del lenguaje para aplicaciones Web como
htmlentitites(), que convierte los caracteres que tienen algún significado
especial en el código HTML o que podrían desplegarse erróneamente en el
navegador como acentos o diéresis, en sus equivalentes en formato HTML..
Todas las variables en PHP llevan el símbolo de dólar como prefijo (ejemplo:
$variable1, $variable2, $variable3...,$variableN), los tipos de variable no es
necesario declararlas, ya que a medida que se usan en la aplicación el servidor
reconoce de que tipo son. Para mostrar una cadena (en inglés string) debe
estar dentro de comillas dobles o simples (ejemplo: "Hola Mundo", 'Lo que
quiero mostrar'). Cabe destacar que si se desea mostrar el símbolo " o ' debe
encerrarse en el otro tipo de comillas ("...'...", '..."...') o usarse un escape (\', \").
Toda línea de instrucción siempre termina en un punto y coma (;), al igual que
el lenguaje C.
Para insertar un comentario de una sola línea, debe empezar por // o por #. El
resto de la línea es tratado entonces como un comentario. Para insertar un
bloque de comentario, de una o más líneas, se utiliza la combinación /* y */, por
ejemplo: /* <COMENTARIOS> */
POO en PHP
class Clase {
var Otra_variable;
$this->Una_variable = $var1;
$this->Otra_variable = $var2;
24
}
El ejemplo anterior es valido para php4, el mismo ejemplo escrito php5, varia
en la forma en como se declara la variable.
<?php
class Clase {
public $Otra_variable;
$this->Una_variable = $var1;
$this->Otra_variable = $var2;
$instancia->Otra_variable;
?>
El valor public indica que la propiedad o el método están disponible para todo
código que desee acceder a los mismos. PHP 5 ofrece tres niveles de
visibilidad para utilizar en clases: public, private, protected. A la vez, cambia la
forma en la que se declara el constructor de la clase, ya que en PHP 4 se
25
usaba el mismo nombre de esta, y en PHP 5 se crea le metodo especial
__construct
Frameworks en PHP
Aptana Studio: GPL, existe una versión comercial. Debe instalarse el plugin
para PHP. Está basado en Eclipse, pero posee características que lo hacen
26
mas deseable que el Eclipse PDT; entre ellas: auto-completado de código,
auto-identador.
AJAX PHP IDE: Entorno de desarrollo para PHP que utiliza funcionalidad AJAX
en los eventos de los formularios diseñados. Separación de la lógica y el html.
27
Java
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.
28
C
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los
Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en
BCPL.
29
Python
es un lenguaje de programación interpretado creado por Guido van Rossum en
el año 1991.1
30