jueves, 8 de octubre de 2009

No a la pirateria!


Bajo la consigna "una máquina, una licencia", los legisladores argentinos sancionaron una ley que penaliza expresamente la reproducción ilegal de programas de computación. No usan parches en el ojo ni pañuelos en el cuello y si navegan, lo hacen sólo por Internet. Pero a diferencia de algunos de sus antecesores, los piratas de fines de siglo XX no cuentan con la connivencia oficial, por lo menos no en Argentina. La Cámara de Diputados de la República Argentina aprobó una modificación a la Ley de Propiedad Intelectual, conocida también como "Ley Noble", en la que se incorpora al software como una obra protegida por la ley. Las modificaciones realizadas a la Ley 11.723 cierran un capítulo de un largo debate que tuvo su clímax en febrero, cuando, argumentando un "vacío legal", la Corte Suprema de Justicia ratificó un fallo que declaraba que no correspondía penar a aquellos que reproducían programas informáticos sin el consentimiento del autor. Pues bien, las cosas cambiaron y cuando la ley aparezca en el Boletín Oficial, aquellos cometan el delito podrán ser condenados a una pena que va de un mes a seis años. De todos modos, michos especialistas en temas jurídicos e informáticos señalaron que, en rigor, la legislación disponible hasta ahora era suficiente, y que el debate, en realidad, formó parte de una negociación entre el gobierno y las empresas de informática, preocupadas por la cantidad de software ilegal que puede encontrarse en el sector público. Antonio Millé, asesor legal de la organización "Software legal", que agrupa a varias compañías de tecnología informática en contra de la piratería, declaró al diario argentino Clarín: "Hay una enorme cantidad de 'clones' cargados con software ilegal. Esto influye sobre todo en el mercado hogareño, que se surte especialmente de clones". En cuanto a la piratería en las empresas, Millé estimó: "En las grandes empresas, el 70 u 80 por ciento del software es legal. En empresas medianas, el 40 ó 50 por ciento". ¿Y en el hogar? "Allí el porcentaje de software legal es nulo", respondió. Sin embargo, la ley todavía deja temas pendientes, como el derecho de los programadores de software. El artículo 2 de la ley establece que los titulares del derecho de propiedad intelectual son las empresas para las que los programadores trabajan. Curiosamente, hace algunos meses, durante un momento difícil de la negociación entre el gobierno y las empresas, un legislador oficialista introdujo en el proyecto la posicion contraria: que el programador es el único propietario intelectual del software.

Además pueden visitar esta nota que se surgió en el diario clarín que menciona el tema de la piratería y las consecuencias que provoca:


miércoles, 7 de octubre de 2009

Microsoft Visual Basic

Visual Basic 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. 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 version 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) que presenta serias incompatibilidades con el código Visual Basic existente.
Visual Basic (Visual Studio) constituye un IDE (entorno de desarrollo integrado o en inglés Integrated Development Enviroment) que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del programa, sino que se puede hacer de forma visual).

Compilador:
El compilador de Microsoft genera ejecutables que requieren una
DLL para que funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo de "MicroSoft Visual Basic Virtual Machine x.y", siendo x.y la versión) y en otros VBRUNXXX.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. Sin embargo esto sólo es una limitación en sistemas obsoletos, ya que las bibliotecas necesarias para ejecutar programas en Visual Basic vienen de serie en todas las versiones de Windows desde Windows 2000.
La ventana de propiedades contiene diferentes formas para utilizar el programa, cuales son: (Pointer) Apuntador o puntero, (Label) Etiqueta, (Frame) Marco, (CheckBox) Casilla de verificación, (ComboBox) Lista desplegable, (HScrollBar) Barra de desplazamiento horizontal, (Timer) Temporizador, (DirListBox) Lista de directorios, (Shape) Figura, (Image) Imagen, "OLE", (PictureBox) Caja de Imagen, (TextBox) Caja de texto, (CommandButton) Boton de pulsación, (OptionButton) Boton de opción, (ListBox) Lista, (VScrollBar) Barra de desplazamiento vertical, (DriveListBox) Lista de unidades de disco, (FileListBox) Lista de archivos, (Line) Linea y por último (Data) Datos.

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 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, incluía ya 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, se implementó 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, el polimorfismo y la sobrecarga. La versión 6.0 continua utilizándose masivamente.
Las versiones actuales de Visual Basic se basan en la plataforma
.NET, que se desligan de las anteriores versiones.

Ventajas:
*Es un lenguaje
RAD.
*Posee una curva de aprendizaje muy rápida.
*Integra el diseño e implementación de formularios de Windows.
*Permite usar con suma facilidad la plataforma de los sistemas Windows.
*El código en Visual Basic es fácilmente migrable a otros lenguajes.

Inconvenientes:
*Sin soporte de
Microsoft desde el 4 de abril de 2008 (Pero el MSDN es muy completo).
*No es multiplataforma (Sin embargo se pueden usar emuladores e interpretes para correrlos en otras plataformas).
*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).
*No permite programación a bajo nivel ni incrustrar secciones de código en
ASM.
*Sólo permite el uso de funciones de librerías dinámicas (
DLL) stdcall.
*Algunas funciones están indocumentadas (Sin embargo esto ocurre en muchos lenguajes).
*Es un lenguaje basado en objetos y no orientado a objetos.
*No maneja muy bien los apuntadores de memoria.
*No soporta tratamiento de procesos como parte del lenguaje.
*No incluye operadores de desplazamiento de bits como parte del lenguaje.
*No permite el manejo de memoria dinámica, punteros, etc. como parte del lenguaje.
*No avisa de ciertos errores o advertencias (se puede configurar el compilador para generar ejecutables sin los controladores de desbordamiento de enteros o las comprobaciones de límites en matrices entre otros, dejando así más de la mano del programador la tarea de controlar dichos errores).
*No tiene instrucciones de preprocesamiento.
*El tratamiento de mensajes de Windows es básico e indirecto.
*La gran gama de controles incorporados son, sin embargo en algunos casos, muy generales, lo que lleva a tener que reprogramar nuevos controles para una necesidad concreta de la aplicación. *Esto cambia radicalmente en
Visual Basic .NET donde es posible reprogramar y mejorar o reutilizar los controles existentes.
*Los controles personalizados no mejoran la potencia de la API de Windows, y en determinados casos acudir a ésta será el único modo de conseguir el control personalizado deseado.

Entornos de desarrollo:
Existe un único entorno de desarrollo para Visual Basic, desarrollado por Microsoft:
Microsoft Visual Basic x.0 para versiones desde la 1.0 hasta la 8.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) 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/Vista)
Gambas es un proyecto libre para implementar programación visual con Basic en GNU/Linux. Está derivado principalmente de Visual Basic, adaptandose a partir de su lenguaje y su entorno de desarrollo, para implementar su propia variante, parcialmente compatible con Visual Basic, aportando y enriqueciendo con las oportunidades que brinda GNU/Linux.