sábado, 14 de julio de 2007

Software Libre: Programación

CONCEPTO

Software libre (en inglés free software) es el software que, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. El software libre suele estar disponible gratuitamente, pero no hay que asociar software libre a software gratuito, o a precio del coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así y, aunque conserve su carácter de libre, puede ser vendido comercialmente.

A continuacion se mostrara la diferencia entre un programa en software libre y un software propietario, se trata especificamente de GAMBAS (Software Libre) y VISUAL BASIC (Software propietario) de las cuales se hara una comparacion, pero primero se hablara individualmente de cada una de ellas.



GAMBAS

Gambas es una herramienta de desarrollo visual de aplicaciones muy similar a los conocidos programas comerciales Microsoft Visual Basic o Borland Delphi.
Con Gambas se pueden hacer aplicaciones o programas con interfaz gráfica de forma muy rápida, pues integran un diseñador de formularios o ventanas, un editor de código, un explorador de clases, un visor de ayuda, etc.



Este tipo de herramientas han sido siempre muy habituales en la plataforma Microsoft Windows, pero para Linux no existían tantas, o bien no estaban tan depuradas.


Gambas es una herramienta, que, en palabras de su autor, Benoît Minisini, permite la creación de programas potentes, de forma fácil y sencilla. El lenguaje de programación que se utiliza es una versión del "viejo" BASIC. Puede sorprender que se haya escogido un lenguaje tan básico e incluso limitado como es el BASIC, pero no hay que olvidar que uno de los objetivos de la herramienta es acercar el desarrollo de aplicaciones a personas no expertas en la programación.





VISUAL BASIC


Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las características típicas de los lenguajes estructurados modernos. Se ha agregado una implementación limitada de programacion orientada a objetos (los propios formularios y controles son objetos), aunque sí admite el polimorfismo mediante el uso de los Interfaces, no admite la herencia. No requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de caracteres. Posee varias bibliotecas para manejo de bases de datos, pudiendo conectar con cualquier base de datos a través de ODBC (Informix, DBase, Access, MySQL, SQL Server, PostgreSQL ,etc) a través de ADO.
Es utilizado principalmente para aplicaciones de gestión de empresas, debido a la rapidez con la que puede hacerse un programa que utilice una base de datos sencilla, además de la abundancia de programadores en este lenguaje.



Ventajas de Visual Basic


1. La facilidad del lenguaje permite crear aplicaciones para Windows en muy poco tiempo. En otras palabras, permite un desarrollo eficaz y menor inversión en tiempo que con otros lenguajes.

2. Permite generar librerías dinámicas (DLL) ActiveX de forma nativa y Win32 (no ActiveX, sin interfaz COM) mediante una reconfiguración de su enlazador en el proceso de compilación.

3. Permite la utilización de formularios (Forms) tanto a partir de recursos (como en otros lenguajes) como utilizando un IDE para diseñarlos.

4.Posibilidad de desarrollar y ejecutar aplicaciones de Visual Basic 6.0 en Windows Vista sin realizar cambios en la mayoria de los casos pero no se logra aprovechar al máximo las caracteristicas de este sistema.

Inconvenientes en Visual Basic


1.Es software propietario por parte de Microsoft, por tanto nadie que no sea del equipo de desarrollo de esta compañía decide la evolución del lenguaje.

2.En Visual Basic 6.0 y anteriores sólo existe un compilador e IDE, llamado igual que el lenguaje.

3.No existe forma alguna de exportar el código a otras plataformas fuera de Windows.

4.Los ejecutables generados son relativamente lentos en Visual Basic 6.0 y anteriores al ser codigo pseudo-interpretado.

5.Por defecto permite la programación sin declaración de variables. (que puede ser sencillamente corregida escribiendo la frase Option Explicit en el encabezado de cada formulario, en cuyo caso será menester declarar todas las variables a utilizar, lo que a la postre genera código más puro).

6.Su sintaxis no es case sensitive (no distinge entre minusculas y mayúsculas como C++ por ejemplo)
NO permite programación a bajo nivel ni incrustrar secciones de código en ASM.

7.Sólo permite el uso de funciones de librerías dinámicas (DLL) stdcall.

8.Fuerte dependencia de librerías y componentes en las versiones 6.0 y anteriores, lo que dificultaba la distribución de los desarrollos entre maquinas.

9.Algunas funciones están indocumentadas.

Gambas Vs. Visual Basic

1-.Los proyectos de Gambas se definen con un directorio que tiene un archivo .project dentro, y todos los arhivos en ese directorio. VB permite tener múltiples archivos de proyecto en distintos directorios, o usar el mismo archivo fuente de un directorio en distintos proyectos, lo que tiene sus ventajas y sus inconvenientes.

2-.Las medidas de la pantalla se hacen en VB en "twips", que son un 1/1440 de pulgada; en Gambas se hacen en píxeles reales.

3-.Los controles de los formularios son privados por defecto en los programas de Gambas. Se puede cambiar este comportamiento en las Propiedades del Proyecto, marcando el recuadro "Los controles del formulario son públicos".

4-.En VB el código de cada formulario y el objeto formulario están incluidos en el mismo archivo. Gambas usa dos archivos separados para ello: archivo .form y un archivo .class.