You are on page 1of 19

DE

VISUAL FOX PRO


A
JAVA
Walter R. Ojeda Valiente
Asuncin - Paraguay, junio de 2016

INTRODUCCIN
Si te has acostumbrado a programar en Visual FoxPro es muy
probable que te cueste mucho cambiar de lenguaje. Y es que Visual
FoxPro tiene muchas bondades y para aplicaciones administrativas, o
sea las que requieren guardar una gran cantidad de datos en tablas y
archivos, es de lo mejor que hay.
Pero Visual FoxPro tiene un gran problema y que se ir
agravando con el transcurrir del tiempo: est descontinuado.
La ltima versin es del ao 2004 y hasta all lleg. No habr
siguiente.
Como todos sabemos, la tecnologa sigue avanzando y no se
detiene, algo desarrollado en el ao 2004 cada vez se ir haciendo ms
y ms obsoleto. Entonces qu hacemos?
Si queremos seguir programando, alguna vez tendremos que
cambiar de lenguaje, eso ser inevitable, nos guste o no nos guste. Ese
da llegar.
Pero ahora nos surge la gran pregunta que puede tenernos
totalmente indecisos durante mucho tiempo, habiendo tantos lenguajes
de programacin: cul de ellos elegir para reemplazar a nuestro tan
estimado Visual FoxPro?
Y es que Visual FoxPro es nico, no existe algo ni siquiera
parecido. Esa posibilidad de tener una ventana de comandos, de poder
abrir tablas, de hacerles un browse, de indexar datos, de mostrar
informes, etc. sin siquiera escribir una lnea de cdigo nadie ms tiene.
Opciones para reemplazarlo tenemos muchsimas, algunas de ellas
muy buenas como Delphi, Lazarus, C++, Python, etc.
Y por supuesto: Java
Que es el motivo de este documento.
Y como todos los lenguajes tienen ventajas y desventajas, a
continuacin veremos las de Java.

Ventajas
1.
2.
3.
4.
5.

Es el lenguaje de programacin ms usado en todo el mundo


Es multiplataforma
Es gratis
Tiene muchsimos componentes gratuitos
En Internet puede usarse del lado del Servidor y del lado del
Cliente
6. Es el ms usado para IoT (Internet of Things)

Desventajas
1. Es bastante diferente a Visual FoxPro
2. En redes locales de pocos recursos puede ser lento
Como puedes ver, para un programador de Visual FoxPro, perfecto
no es. Entonces por qu elegirlo?
Por las siguientes razones:
1. Es el lenguaje de programacin ms usado en todo el
mundo. Eso significa que hay muchsima documentacin tanto en
espaol como en ingls y en muchos otros idiomas. Tambin hay
muchsimos foros y grupos donde puedes preguntar todas las
dudas que tengas.
2. Es multiplataforma. O sea que puedes usarlo con Windows, con
Linux, con Mac, con cualquier otro Sistema Operativo. Pero
tambin con cualquier dispositivo que tenga un procesador:
celulares, tabletas, automviles modernos, y un largo etctera.
3. Es gratis. Hay otros lenguajes muy buenos, como por ejemplo
Delphi, pero que son de pago.
4. Tiene muchsimos componentes gratuitos. Cualquier cosa que
necesites hacer muchos otros programadores de Java necesitaron
hacerla antes que t y crearon componentes para facilitarles las
tareas. Miles y miles de esos componentes estn a tu disposicin y
completamente gratis.
5. En Internet puede usarse del lado del Servidor y del lado del
Cliente. Algunos lenguajes, como PHP, se usan solamente en el
lado del Servidor. Otros lenguajes, como JavaScript, se usan
solamente del lado del Cliente. Java puede usarse en ambos.

6. Es el ms usado para IoT (Internet of Things). La tecnologa


est avanzando tan rpido que muchos aparatos elctricos de uso
cotidiano dentro de poco tiempo estarn conectados a Internet y
enviarn y recibirn informacin. A eso se le llama Internet of
Things o Internet de las Cosas en espaol. Y as tendremos
muchos aparatos inteligentes y tambin muchos objetos que sern
usados para eso. Y Java es el lenguaje lder para IoT.
En este documento usaremos la ltima versin de Visual FoxPro (la
9, SP2) y la ltima versin de Java (que en el momento escribir este
documento es la 8).

CAPTULO 1. LA POPULARIDAD
DE JAVA
Java consistentemente es el lenguaje de programacin ms
utilizado en todo el mundo. El ndice TIOBE que es el ndice ms creble y
ms actualizado nos muestra estos datos para el mes de mayo de 2016:

Captura 1-1. Indice TIOBE para el mes de mayo de 2016


Como podemos ver, Java no es solamente el lenguaje ms
utilizado sino adems que su porcentaje est aumentando. Ese casi 21%
significa que de cada 5 programadores que hay en el mundo, 1 de ellos
utiliza Java y los 4 restantes estn repartidos en una gran multitud de
lenguajes.

Captura 1-2. Indice TIOBE para los ltimos 30 aos


Java apareci en el ao 1995, a partir de all su popularidad fue en
aumento y como podemos ver en la Captura 1-2. est acostumbrado a
encontrarse en el primer lugar.

Captura 1-3. Popularidad de los lenguajes de programacin en


los ltimos 15 aos
La Captura 1-3. muestra mes a mes la popularidad de los
lenguajes que en mayo de 2016 ocupan los 10 primeros lugares. Y
nuevamente, como podemos ver, lo normal es que Java ocupe el primer
lugar, y solamente a veces el Lenguaje C lo supera. Salvo una pequea

excepcin con C++ en el ao 2004, ningn otro lenguaje ni siquiera se


le acerca.

Captura 1-4. El lenguaje Java fue el ms popular en el ao 2015


La ltima frase de la Captura 1-4. refleja el sentir hacia Java: El
futuro se ve brillante para Java.
El ndice TIOBE puedes encontrar en:
http://www.tiobe.com/tiobe_index
Y aunque los datos mostrados en las Capturas 1-1 al 1-3 por
supuesto que irn cambiando con el transcurrir de los meses es evidente
que Java se mantendr en el primer lugar (o en el segundo) por varios
(quizs muchos) aos ms.
Si en Google escribimos: VISUAL FOXPRO obtendremos unos
452.000 resultados.
Pero si escribimos: JAVA LANGUAGE obtendremos 77.200.000
resultados.
Si escribimos: VISUAL FOXPRO YOUTUBE obtendremos 385.000
resultados.
Pero si escribimos JAVA YOUTUBE obtendremos 41.500.000
resultados.

Si escribimos: FORO VISUAL FOXPRO obtendremos 60.800


resultados.
Pero si escribimos: FORO JAVA obtendremos 9.520.000 resultados.
Evidentemente la popularidad de Java es ampliamente superior a
la de Visual FoxPro y entonces, sabiendo que encontraremos tanta
documentacin y ayuda para resolver nuestros problemas es una muy
buena eleccin para reemplazar al viejo zorro.

CAPTULO 2. EMPEZANDO CON


JAVA
Lo primero que debemos entender es que Java funciona de
manera diferente a Visual FoxPro, hay muchas cosas que son distintas
o se hacen de distinta manera. Cul es mejor? Depende de las
circunstancias y de los gustos de cada quien, pero hay que conocer y
entender esas diferencias para poder obtener buen provecho del
lenguaje.
La tecnologa de Java
La tecnologa de Java est compuesta por dos cosas:

1. Un lenguaje de programacin
2. Una plataforma
El lenguaje de programacin Java
Java es un lenguaje de programacin de alto nivel que tiene las
siguientes caractersticas:

Simple
Orientado a los objetos
Distribuido
Multi-hilo
Dinmico
Neutral a la arquitectura
Portable
Alto rendimiento
Robusto
Seguro

En el lenguaje de programacin Java todo el cdigo fuente es escrito


en archivos de texto plano los cuales deben tener la extensin .java s o
s. Esos archivos conteniendo el cdigo fuente luego sern compilados
usando el compilador javac y si la compilacin fue exitosa, entonces el
resultado ser un archivo con la extensin .class el cual no contiene
cdigo mquina correspondiente a la computadora donde se compil,
que s es el caso con Visual FoxPro. En lugar de eso, el archivo .class
contiene bytecodes que es el lenguaje mquina de la Java Virtual
Machine (JVM) o mquina virtual de Java, en espaol. Luego, el
lanzador de Java ejecuta la aplicacin dentro de una instancia de la Java
Virtual Machine.

Diagrama 2-1. Proceso de desarrollo de un programa Java


Cul es la ventaja de hacerlo as?

Que exactamente el mismo archivo .class sin ningn cambio


puede ejecutarse en una computadora con Windows o con Linux o
con Mac o con Solaris. La traduccin de los bytecodes contenidos
en el archivo .class al lenguaje mquina de la computadora destino
es tarea de la JVM.
Cul es la desventaja de hacerlo as?
Que la velocidad de ejecucin es ms lenta. Como hay un paso
adicional (convertir los bytecodes al lenguaje mquina de la
computadora destino) eso toma su tiempo y por lo tanto los
programas escritos en Java suelen ser ms lentos que los
programas escritos en Visual FoxPro (o en C, C++, Delphi, etc.)
aunque eso cada vez es menos cierto porque se est optimizando
al mximo las JVM para que hagan su tarea lo ms rpidamente
posible.

Diagrama 2-2. Usando las JVM el mismo programa se ejecuta en


distintos sistemas operativos
Entonces, la tarea de cada JVM es tomar como entrada un
archivo .class y traducir su contenido al cdigo mquina especfico
del sistema operativo y de la computadora donde ser ejecutado.
La ventaja es muy grande: un solo archivo .class puede ser usado
en cualquier lugar, lo nico que se necesita es que exista una JVM
que realice la traduccin.

La plataforma Java
Una plataforma es el entorno de software y/o hardware en el cual un
programa es ejecutado. Algunos ejemplos de plataformas son: Windows,
Linux, Mac, Solaris.
La mayora de las plataformas pueden ser descritas como una
combinacin entre el Sistema Operativo y el hardware que utiliza. La
plataforma Java es diferente. Por qu? Porque es una plataforma hecha
solamente por software y que es ejecutada sobre plataformas de
hardware.
La plataforma Java tiene dos componentes:

La Java Virtual Machine


La Application Programming Interface de Java, abreviada
como API

La Java Virtual Machine es portada en varias plataformas de


hardware.
La API es una gran coleccin de componentes de software que
proveen muchsimas capacidades tiles. Est agrupada en bibliotecas de
clases relacionadas e interfaces. Esas bibliotecas son conocidas como
packages (paquetes, en espaol).

Diagrama 2-3. La JVM y la API aslan al programa del hardware


subyacente
Como puedes ver en el Diagrama 2-3., el programa .java no
conoce la plataforma de hardware en la cual es ejecutado.
Como la plataforma Java es independiente a la plataforma de
hardware es un poco ms lenta que el cdigo nativo. Sin embargo,
avances en el compilador y en las tecnologas de las JVM estn
conduciendo a un rendimiento muy cercano al del cdigo nativo y sin
afectar a la portabilidad.

Qu puede hacer para t la tecnologa Java?


Java es un lenguaje de alto nivel, de propsito general (o sea que
puede usarse para desarrollar cualquier tipo de aplicacin). Cada
implementacin completa de la plataforma Java te provee de lo
siguiente:

Herramientas de desarrollo. Aqu encontrars todo lo que


necesitas para compilar, ejecutar, monitorear, corregir, y
documentar tus aplicaciones. Si eres nuevo, las herramientas que
usars sern el compilador javac, el lanzador java, y la
herramienta de documentacin javadoc.
Application Programming Interface (API). La API provee la
funcionalidad bsica del lenguaje de programacin Java. Ofrece
una grandsima cantidad de clases que estn listas para que las
uses en tus aplicaciones, abarca desde los objetos bsicos, hasta
redes, seguridad, XML, acceso a bases de datos y mucho ms. La
API es muy, muy grande, algo de lo que contiene veremos ms
adelante en otro captulo.
Tecnologas de implementacin. El software que se provee en
el Java Development Kit (JDK) tiene mecanismos estndar como
el Java Web Start y el Java Plug-in para implementar tus
aplicaciones para los usuarios finales.
Cajas de herramientas para interfaz con el usuario. Las
cajas de herramientas JavaFx, Swing, y Java 2D, nos permiten
crear muy avanzados Graphical User Interface (GUI) o Interfaz
Grfica con el Usuario, en espaol.
Bibliotecas de integracin. Para permitir el acceso a las bases
de datos y a objetos remotos contamos con bibliotecas de
integracin, tales como: Java IDL API, JDBC API, JNDI API, Java RMI,
y Java RMI-IIOP.

Por qu usar la tecnologa Java?


Puedes preguntarte si Java es la eleccin correcta para ti, veamos
sus aspectos positivos:

Empezar rpidamente. Aunque el lenguaje de programacin


Java es un poderoso lenguaje orientado a los objetos, es muy fcil
de aprender, sobre todo si conoces algo de C o de C++
Escribir menos cdigo fuente. Comparaciones de mtricas de
programas (cantidad de clases, cantidad de mtodos, etc.)
sugieren que un programa escrito en Java puede ser hasta 4 veces
ms pequeo que el mismo programa escrito en C++
Escribir mejor cdigo fuente. El lenguaje de programacin Java
fomenta las buenas prcticas de codificacin y una recoleccin de
basura automtica ayuda a evitar prdidas de memoria. Adems,
su orientacin a objetos, su componente JavaBeans y su API tan
completa y que puedes extender, te permiten simplemente reusar
cdigo fuente que ya fue optimizado y as tendrs menos errores.
Desarrollar tus programas ms rpidamente. El lenguaje Java
es ms simple que C++ y as puedes dividir por dos el tiempo de
desarrollo, y adems necesitars escribir menos lneas de cdigo
fuente.
Evitar dependencias con las plataformas. En otros lenguajes
las bibliotecas dependen de la plataforma en la cual se
compilaron, en Java no, todos tus programas siempre son
portables entre plataformas.
Escribir una vez, ejecutar en todas partes. Como las
aplicaciones escritas en Java son compiladas en unos bytecodes
totalmente independientes de la computadora en la cual se
compilaron, esas aplicaciones pueden ejecutarse en cualquier
plataforma Java.
Distribuir las aplicaciones ms fcilmente. Si usas el software
Java Web Start, entonces tus usuarios podrn ejecutar tus
aplicaciones con un simple clic del mouse. Un chequeo automtico
de versiones te asegura que tus usuarios siempre tengan la ltima
versin de tu aplicacin. Si actualizas tu aplicacin entonces el
Java Web Start automticamente lo actualizar en la computadora
del usuario.

Captulo 3. Descarga e
instalacin
Como todo lenguaje de programacin que queremos usar, antes
de poder hacerlo deberemos descargarlo e instalarlo, pero a diferencia
de Visual FoxPro en el caso de Java tenemos muchas opciones, cada
una de ellas orientada hacia una tarea en particular. Ya queda a nuestro
cargo elegir cual de ellas (o cuales de ellas) usaremos.

Java SE (Standar Edition). La edicin estndar permite el


desarrollo y la implementacin de aplicaciones para computadoras
de escritorio, para Servidores, y para dispositivos. Incluye a
JavaFx, utilizado para desarrollar aplicaciones web que tienen las
caractersticas y las capacidades de las aplicaciones de escritorio,
incluyendo aplicaciones multimedia interactivas.
Java EE (Enterprise Edition). La edicin empresarial aumenta
en gran medida la potencia de la Java SE proveyndole de
herramientas necesarias para desarrollar software para las
empresas, como por ejemplo la posibilidad de comunicarse con
motores de bases de datos SQL.
Java ME (Micro Edition). La edicin micro es la utilizada para
crear aplicaciones que se ejecutarn incrustadas en celulares,
micro-controladores, sensores, televisores, impresoras, etc.
Java Card. Sirve para desarrollar aplicaciones que se ejecutarn
en tarjetas inteligentes y dispositivos similares, los cuales tienen
muy poca memoria y capacidades de procesamiento.
NetBeans IDE. Es un Integrated Development Envirnonment (IDE)
o entorno de desarrollo integrado para facilitar la creacin de
aplicaciones.

Java Mission Control. Junto con Java Flight Recorder sirven


para continuamente recolectar informacin de bajo nivel para
analizar el comportamiento de la Java Virtual Machine (JVM) y de la
aplicacin.

Paquetes de instalacin
Dependiendo de lo que estemos necesitando, podemos instalar:

Java Development Kit (JDK). Es el nico necesario para el


desarrollo de aplicaciones. Incluye un JRE completo ms
herramientas
para
desarrollar,
corregir
y
monitorear
aplicaciones.
Java Runtime Environment (JRE). Contiene todo lo requerido
para que los usuarios ejecuten las aplicaciones.
Servidor Java Runtime Envirnonment (Server JRE). Para la
implementacin de aplicaciones Java en Servidores. Incluye
herramientas para monitorear a la JVM as como herramientas
normalmente usadas para aplicaciones que se ejecutan en un
Servidor.

Qu necesitaremos descargar e instalar?


Si queremos desarrollar aplicaciones de tipo administrativo, como
hacemos con Visual FoxPro, entonces:

Java Development Kit (JDK)


Java Enterprise Edition SDK
NetBeans IDE

En el Java Development Kit (JDK) encontraremos todo lo necesario


para el desarrollo de aplicaciones normales.
En el Java Enterprise Edition SDK tendremos mdulos que se le
agregan al JDK para la creacin de aplicaciones empresariales. O sea
que primero debemos tener instalado el JDK para poder usar.
El NetBeans IDE es un entorno de desarrollo. Y por qu
necesitamos un entorno de desarrollo? Porque a diferencia de Visual
FoxPro en Java el IDE no est integrado con el lenguaje. En Visual
FoxPro si lo deseamos podemos escribir programas usando el Bloc de
Notas del Windows pero nadie hace eso, todos usamos la ventana de
comandos y all escribimos MODIFY COMMAND, o MODIFY FORM, o

MODIFY CLASS, etc. En cambio en Java el IDE es independiente del


lenguaje y para facilitarnos la tarea debemos descargar uno. No es
obligatorio, podemos programar usando el Bloc de Notas del Windows o
programas similares, pero en ese caso no contaremos con herramientas
tiles para programadores. El NetBeans es el IDE ms usado para
programar en Java, pero hay otros buensimos como el Eclipse y el
IntelliJ. Decidirse por uno de ellos ya es cuestin del gusto de cada
quien.

Enlaces de descarga
Java Standard Edition
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Captura 3-1. Descarga de Java Standard Edition


Java Enterprise Edition
http://www.oracle.com/technetwork/java/javaee/downloads/index.html

Captura 3-2. Descarga de Java Enterprise Edition SDK


NetBeans IDE
https://netbeans.org/downloads/index.html

Captura 3-3. Descarga de NetBeans IDE

Aunque no es obligatorio, tambin es recomendable descargar los


ejemplos y programas demo que podemos encontrar en:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads2133151.html

Captura 3-4. Descarga de demos y ejemplos

Mucha documentacin (en ingls) puedes encontrar en:


http://www.oracle.com/technetwork/java/javase/documentation/index.html

Captura 3-5. Documentacin tcnica (en ingls) sobre Java SE


http://docs.oracle.com/javase/8/index.html

Captura 3-6. Documentacin tcnica (en ingls) sobre Java SE organizada por
categoras

Como instalar esos programas ya no te mostrar porque es muy


simple hacerlo y como programador de Visual FoxPro que eres,
supongo que sabes muy bien lo que debes hacer para instalar un
programa en Windows.

Captulo 4. El primer programa


Hasta aqu, ya conocemos bastante sobre lo que podemos hacer
con Java, tambin hemos descargado e instalado lo que necesitamos
pero an no hemos visto un solo programa, as que empecemos.
Todos estos programas fueron escritos con el NetBeans IDE.
Aunque podran haber sido escritos usando el Bloc de Notas del Windows
o algn programa similar, esa no es la forma en la cual estamos
acostumbrados a trabajar en Visual FoxPro. All siempre usamos un IDE
y lo mismo haremos aqu.

You might also like