viernes, 9 de noviembre de 2012

Creando una BD Oracle... en Windows

La siguiente secuencia de imágenes describen el proceso de creación de una BD utilizando el asistente DBCA. Cómo tal, las imágenes son muy descriptivas e intuitivas. La creación esta basada en la instalación que se hizo y describió anteriormente en este mismo blog. Comenzamos..

Lo primero es entrar al Asistente de Configuración de Base de Datos conocido en el bajo mundo como DBCA.



La primera pantalla es de Bienvenida, por lo que solo se debe hacer clic en el botón Siguiente.


La siguiente pantalla es la primera con la que se va a interactuar, en ella hay que validar que esta habilitada la opción de "Crear Base de Datos" y hacer clic en Siguiente.


En la siguiente pantalla se tiene que elegir una de las plantillas previamente creadas (por Oracle) acorde al tipo de base de datos que se desea crear. Validar que la opción "Usos Generales o Procesamiento de Transacciones" este habilitada.



La siguiente pantalla es importante, ya que en ella se especifica el nombre FÍSICO que tendrá la Base de datos, así como el SID con el que se identificará. El SID es una referencia lógica con la cuál identificaremos a la base de datos y lo utilizaremos como referencia, se recomienda que el nombre físico y el SID sean el mismo, no es una regla, pero es recomendable, también se recomienda:

Que el nombre empiece con una letra.
No exceda de los 8 caracteres.
No lleve signos especiales.

Para este ejemplo se usa el nombre de ORCL. Una vez especificado el nombre de la base de datos y el SID, hacer clic en el botón Siguiente.



En la pantalla siguiente se deberían especificar algunos parámetros de la herramienta Enterprise Manager, el Enterprise Manager es una herramienta que ayuda para realizar actividades de administración de la base de datos, pero como la idea es aprender a hacer las cosas desde la consola de comandos... no utilizaremos en este ejercicio la consola de Enterprise Manager, por lo que se deshabilita la opción de Configurar Enterprise Manager.


En la pestaña de Tareas de Mantenimiento Automáticas se debe validar que no haya nada habilitado, estas tareas de mantenimiento las estaremos haciendo de forma manual, por lo que no queremos que estén habilitadas, por lo menos por el momento.



Se debe especificar un password para las cuentas que administran la base de datos (SYS y SYSTEM), en la pantalla siguiente se debe declarar el password, para este ejercicio se usa el mismo para ambas cuentas. Esto NO es recomendable en un ambiente productivo.
Hacer clic en la opción Usar la misma Contraseña Administrativa para Todas las Cuentas y posteriormente en los cuadros de texto tecleara.



En caso de que la contraseña que se especificó no cumpla con la política de complejidad recomendaba por Oracle se desplegará un mensaje de advertencia. Se puede hacer clic en No e introducir otra cadena de caracteres o hacer clic en Si y continuar.



En la siguiente pantalla se debe especificar la ruta donde se crearan los archivos de la base de datos. Se recomienda seguir las especificaciones de OFA (Optimal Flexible Architecture)

El estándar OFA es una serie de recomendaciones para nombrar archivos y carpetas durante la instalación e implementación de una base de datos Oracle.
El consejo OFA oficial se puede encontrar en los manuales de docs.oracle.com (por 9i - Administración de Oracle, por 10g - Instalación de Oracle). Aquí un link para abundar en el tema: CLIC

En un ambiente de una base de datos de producción, es recomendable hacer una distribución de los archivos entre diferentes discos, en este caso y como solo se tiene un disco duro la distribución de los archivos será en la misma ruta. C:\Oracle\Product\11.2.0\oradata.



La siguiente pantalla que se despliega es para especificar el área de Flash, esta área es donde se almacenaran los archivos que se generan para una copia de seguridad y recuperación. Hay 2 valores que se tienen que especificar, el primero de ellos es la ruta de Flash, aquí se va a usar una "variante", en la ruta deberá haber el siguiente valor {ORACLE_BASE}\flash_recovery. El valor de tamaño se deja sin cambios.

La opción de Activar Archivado debe estar desactivado (Se activará posteriormente, cuando se haga un ejercicio de Archivelog).



Retomando el punto de {ORACLE_BASE}, en el botón de Variables de Ubicación de Archivos podremos ver los valores que tienen asignadas las variables de ambiente que se están utilizando en esta instalación. El valor que le corresponde a {ORACLE_BASE} es C:\Oracle\Product\, por lo que el lugar que se esta destinando para el área de Flas es C:\Oracle\Product\flash_recovery.


*  Es importante tener muy presentes estos valores, ya que ellos nos permitirán "ambientarnos" de manera correcta y poder trabajar sin "sobresaltos" o "sorpresas".

En la siguiente pantalla se debe especificar si se desean instalar los Esquemas de ejemplo que tiene la base de datos, en un ambiente productivo lo más seguro es que NO se instalen, para efectos de este ejercicio se le indicará que si, ya que sobre estos esquemas será en los que se trabajará más adelante. Activar la casilla "Esquemas de Ejemplo".


En la pestaña "Archivos de Comandos Personalizados" se especificaría si se desea que después de haber creado la base de datos se ejecuten scripts SQL, como no es el caso, la casilla "No hay ningún archivo de comandos para ejecutar" debe estar seleccionada.




En las siguientes pantallas se deben especificar algunos parámetros que son relevantes para el comportamiento de la base de datos. Estos parámetros por el momento NO se van a modificar, se van a dejar tal cual vienen. Se ponen las pantallas para tenerlas como referencia.

En la pestaña Memoria se indica cuanta es la cantidad de memoria del equipo se tomará para la base de datos. La casilla "Usar Gestión Automática de Memoria" se activa para que sea el mismo RDBMS el que administre el manejo de la memoria.



En la pestaña "Tamaño" se indica el número de procesos que podrá ejecutar la base de datos de manera simultanea. El tamaño del bloque lo determina el sistema operativo, por lo que no se puede modificar.


En la pestaña de "Juegos de Caracteres" se especifica el tipo de caracteres que se utilizaran para la base de datos, por lo regular debe estar ligado al lenguaje del sistema operativo, aunque esto no es una regla o norma, por lo que puede variar. También se especifica el Idioma y por defecto que tendrá la base de datos. Como en las pestañas anteriores, no se modifica nada.


En la última pestaña "Modo de Conexión" se debería especificar como la base de datos destinará recursos para las conexiones que tenga, para este ejercicio se deja "Modo Servidor Dedicado".


En las siguientes pantallas se debe especificar la ruta donde quedará alojada la base de datos, como se menciono anteriormente en un ambiente productivo lo recomendable es que se distribuyan los archivos de la base de dato entre varios discos. Para este ejercicio todo se esta destinando a un solo disco. En las pantallas se podrá ver que se hace referencia a las variables de ambiente mencionadas anteriormente, por lo que se debe tener mucho cuidado al hacer las ediciones correspondientes.








Ya teniendo la configuración de donde quedaran los archivos de la base de datos, en la siguiente pantalla se deben validar las opciones "Crear Base de Datos" (Obvio); "Guardar como Plantilla de Base de Datos" y "Generar Archivos de Comandos de Creación de Bases de Datos" se activan para tener los scripts de como crear la base de datos SIN el asistente. Una vez activadas las casillas, se debe hacer clic en el botón "Terminar".




La pantalla que se despliega  es un resumen de todos los pasos anteriores, es recomendable verlo a detalle para detectar algún posible error. Una vez terminada la revisión se hace clic en el botón de Aceptar.



Al hacer clic en el botón de "Aceptar" se iniciara la creación de las plantillas y el archivo de comandos.



Posteriormente se iniciará la creación de la base de datos, esta puede tardar varios minutos, esto dependerá de las características del equipos, en caso de presentarse algún error se deberá revisar si es por algún parámetro mal especificado, de no ser así se tendrá que revisar el detalle del error y buscar la solución correspondiente.




Al terminar la instalación se desplegará una pantalla con la confirmación de la creación de la base de datos e información importante, como son "Nombre de la Base de Datos Global", "Identificador del Sistema (SID)" y "Nombre del Archivo de Parámetros del Servidor". Este último será muy utilizado, así que no hay que perder de vista.



Se procede con la primera prueba de disponibilidad, para lo cual se deberá abrir una ventana de comandos, asignar las variables de ambiente (ya se mencionaron y mostraron anteriormente), para posteriormente invocar el comando que nos acompañara durante toda la travesía: sqlplus. Se debe teclear sqlplus "/as sysdba".
Una vez dentro de sqlplus se tecleara el siguiente comando select name from v$database; (con todo y punto y coma ==> ; ) esto nos mostrara el nombre de la base de datos. Si todo salió bien hasta el momento deberá aparecer ORCL.



Continuando con la prueba, se deberá detener la base de datos, desde de sqlplus se deberá teclear shutdown y NO se deberá desplegar ningún mensaje de error. Inmediatamente después se levantará con la sentencia startup para validar que tampoco se desplieguen mensajes de error.


Como este ejercicio se está creando en un equipo con sistema operativo Windows (en una publicación anterior explique el motivo), es necesario mencionar los servicios con los que estaremos trabajando constantemente. OracleOraDb11g_home1TNSListenerORCL y Oracle ServiceORCL. 



Lo primero que se tiene que hacer es cambiar la manera en como inician los servicios, se debe validar que deben estar en MANUAL. De no estar así se debe cambiar: Clic con el botón derecho del Mouse sobre el servicio ==> Propiedades ==> Tipo de Inicio ==> Manual.



Detener:


Ya estando los dos servicios en "Tipo de inicio" Manual, se procede a Iniciarlos.

Iniciar:


El servicio OracleServiceORCL trabaja de manera directa con la base de datos, de manera que cuando se detiene o inicia, la base de datos también se detiene o inicia. Si este servicio esta detenido y la base de datos se intenta levantar NO se podrá, se desplegará un mensaje de error. Por lo que hay que validar que este arriba cuando se vaya a trabajar con la BD y más ahora que esta de manera manual.

Para validar cualquier problema derivado de los cambios realizados, se revisaran el correcto funcionamiento del Listener y de la Base de Datos.

En la consola de comandos (la misma que se utilizo anteriormente, en caso de que se haya cerrado, abrir una nueva y cargar las variables de ambiente - ya se explicó anteriormente como hacerlo), se debe teclear lsnrctl status listener y presionar ENTER. Debe aparecer en pantalla algo similar a la siguiente imagen.



De esta manera estamos validando que el servicio este arriba, como se puede ver se despliega la fecha de inicio (Start Date), así como el tiempo que lleva disponible (Uptime) y algunos otros parámetros de relevancia.

Para validar que la base de datos no tenga problemas se utiliza la herramienta de sqlplus y se teclean los siguientes comandos set linesize 999 (permite desplegar hasta 999 caracteres en una sola línea) y el más importante por el momento: select INSTANCE_NAME, HOST_NAME, STARTUP_TIME, STATUS from v$instance; (nos muestra algunos parámetros de la base de datos, en caso de que este ARRIBA).




En la pantalla se muestra el comando date /t del sistema operativo para confirmar que el valor de STARTUP sea el mismo que se muestra con el comando date.

La última prueba, la prueba de fuego sería reinciar el equipo y validar que no se tengan problemas en nada.

Servicios deben levantar sin problemas.
El estatus del Listener debe ser el mismo que se mostró anteriormente.
La base de datos debe de mostrar la información que se mostró en las pantallas anteriormente.

De haber salido todo bien, ya estamos en condiciones de empezar a trabajar con una base de datos local.







Listener de Oracle... en Windows.

Toda base de datos requiere de un LISTENER, el cuál, como su nombre lo indica, escuchará las peticiones de conexión y si son correctas, permitirá el acceso... pero solo a la puerta, para poder entrar (conectarse) a la base de datos se requiere un usuario y password.

El listener está configurado para escuchar la conexión en un puerto específico en el servidor de base de datos. Cuando una se pide una conexión a la base de datos, el listener devuelve la información relativa a la conexión. La información de una conexión para una instancia de una base de datos provee el nombre de usuario, la contraseña y el SID de la base de datos. Si estos datos no son correctos se devolverá un mensaje de error.

A continuación se muestra el procedimiento para crear el LISTENER utilizando el "Asistente de Configuración de Red"

Lo primero que se tiene que hacer es entrar al "Asistente de Configuración de Red", Para este ejercicio y en base a la instalación que se hizo la manera de entrar es: Inicio => Todos los Programas => Oracle - OraDb11g_home1 => Herramientas de Configuración y de Migración => Asistente de Configuración de Red.


La primera pantalla que se despliega es la de Bienvenida, dentro de ella se despliegan algunas opciones, de las cuáles se deberá seleccionar "Configuración del Listener". Posteriormente hacer clic en Siguiente.


En la siguiente pantalla solo aparecerá activa la opción de Agregar, esto es debido a que en este ejercicio se esta configurando por primera vez, en caso de hacer esto en otro ambiente la pantalla pude ser diferente.


En la siguiente pantalla se deberá especificar el nombre que tendrá el Listener, este nombre es un alias, por lo que puede ser cualquiera, aunque se recomienda utilizar uno que haga referencia al nombre de la BD, para este ejercicio se utilizará ORCL. Una vez que se ha especificado el nombre, hacer clic en Siguiente.


Posteriormente se deberá especificar el protocolo de conexión, para este ejercicio y por lo regular se utiliza TCP, el cual ya debe aparecer del lado de "Protocolos Seleccionados", ya una vez que es confirmado que es así hacer clic en Siguiente.


Todo listener debe tener un puerto que será utilizado para recibir las peticiones de conexión, este puerto debe ser uno libre, es decir, que no este utilizado por otro proceso, el puerto estándar que utiliza Oracle es el 1521. Para este ejercicio lo utilizaremos. En un ambiente productivo NO ES RECOMENDABLE, se debe utilizar uno diferente.


De acuerdo a las propiedades de seguridad de Windows se puede desplegar un mensaje de advertencia del Firewall, se deben activar las casillas de "Redes privadas, como las domésticas o del trabajo" y "Redes públicas, como las de aeropuertos y cafeterías..." Una vez seleccionadas se debe hacer clic en el botón de Permitir acceso.


La siguiente pantalla preguntará si se desea configurar otro Listener, para este ejercicio no es necesario, debe estar activa la opción No. Hacer clic en el botón Siguiente.


Si todo salio bien, el siguiente paso es validar que el LISTENER funcione de manera correcta. Para eso se debe abrir una consola de comandos. Una vez abierta se deben asignar las variables de ambiente correctas. Se hablará de esto más adelante, cuando se cree una base de datos. Para asignar las variables de ambiente se debe teclear lo siguiente:

  • set ORACLE_BASE=C:\Oracle\Product
  • set ORACLE_HOME=C:\Oracle\Product\11.2.0

Estas variables se deben asignar acorde a la instalación que se haya hecho, por lo que pueden variar acorde a cada instalación que se haga en los equipos en los que se este probando.

Se debe confirmar que las variables hayan sido asignados de manera correcta. Para lo cual una vez que se han asignado se deben validar de la siguiente manera:

  • echo %ORACLE_BASE%
  • echo %ORACLE_HOME%


Si todo salio bien, hasta este punto, ahora se va a validar que el listener este trabajando de manera correcta, para lo cual en la misma venta de comandos teclear lo siguiente: lsnrctl status orcl. Esta instrucción esta compuesta por tres partes, la primera (lsnrctl) es la que gestiona los procesos como detener, levantar, estatus, etc. La segunda parte (status) es para que nos muestre el estado del listener y por último, la tercera parte (orcl) es el nombre del listener con el cual estamos trabajando. Si el listener esta trabajando de manea correcta, la pantalla debe ser similar a la siguiente, poner atención en la línea UPTIME.


En caso de que la pantalla sea similar a la siguiente, el listener NO esta funcionado, es decir, esta abajo.


Lo que se tiene que hacer para levantar el listener es teclear lo siguiente: lsnrclt start orcl, en este caso se cambia status por start, el parámetro start indica que se va a iniciar el listener que tiene el nombre orcl.


En caso de que aún así siga sin levantar o iniciar, hay que revisar los mensajes de error que se despliegan, la configuración del listener las primeras veces es MUY FRUSTANTE, así que recomiendo tener paciencia y buscar los códigos de error en Internet para darse una idea del problema. Si en algo creen que les pueda ayudar pongan los errores y con mucho gusto los revisare. 







lunes, 9 de abril de 2012

Oracle 11g...en Windows 7

Hay males que son necesarios, en lo personal uno de los males con los que tengo que trabajar día a día es trabajar con Windows. Para la fecha en la que escribí esto trabajo con Windows 7 en 64 bits. Aunque debo reconocer que instalar software en Windows es mucho más fácil que en otras plataformas. Hoy voy a publicar mi experiencia al instalar el RDBMS de Oracle 11gR2 en Windows 7 Professional. Esto no es el resultado de una intensa investigación y de innumerables pruebas... esto es el resultado de seguir el documento oficial de Oracle:  http://docs.oracle.com/cd/E11882_01/install.112/e24283/toc.htm pero he optado por eliminar muchas líneas que considero innecesarias.

Antes que nada, lo primero y sin lo cual no se podría hacer algo es... descargar el RDBMS. Para la fecha en que escribí esto, la dirección de descarga es la siguiente: 

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

Se tienen que descargar dos archivos:

win64_11gR2_database_1of2
win64_11gR2_database_2of2

Mientras descargan se puede ir revisando de acuerdo al documento los pre requisitos de hardware:

Table 1 Hardware Requirements
RequirementMinimum Value
Physical memory (RAM)1 GB minimum
On Windows 7, 2 GB minimum
Virtual memoryDouble the amount of RAM
Disk spaceTotal: 5.39 GB
See Table 2 for details.
Processor TypeAMD64, or Intel Extended memory (EM64T)
Video adapter256 colors
Screen Resolution1024 X 768 minimum

De acuerdo al equipo donde se va a instalar, los requisitos se cumplen sin problema.



Por lo que ya una vez que vemos que contamos con todo lo necesario para hacer la instalación podemos empezar con la instalación. Lo primero, aunque parezca obvio tiene su particularidad, descomprimir los archivos. Un punto muy importante es descomprimir los dos en la misma ruta...




Como se puede ver en las imágenes, para este ejercicio se descomprimieron los archivos en la ruta C:\Database.

Una vez descomprimidos los archivos se puede empezar con el proceso de instalación. Para lo cual vamos a la carpeta donde están los archivos descomprimidos, el instalador se debe ejecutar con privilegios de administrador, para lo cual se debe hacer clic con el botón derecho del mouse y posteriormente seleccionar la opción "Ejecutar como administrador". Esto lo hice aunque el usuario con el que hice la instalación tenia privilegios de administrador.


El proceso de instalación es muy intuitivo, las pantallas son muy descriptivas y es muy fácil seguir las indicaciones que se detallan, prácticamente es seleccionar lo que se quiere instalar y lo que no se quiere instalar.


El proceso de instalación esta dividiido en 9 pantallas o pasos, en algunas de ella se tendrá que especificar algún tipo de información, otras serán meramente informativas,

La primera pantalla que aparece donde se tiene que tomar una decisión es para indicar si se desean recibir notificaciones de seguridad, así como si se desea recibir actualizaciones de software. para este ejercicio se dejó en blanco la casilla de Correo Electrónico y se deshabilitó la casilla de "Deseo recibir actualizaciones de seguridad  a través de My Oracle Support"


Aparecerá una pregunta solicitando la confirmación de la decisión tomada. Solo se debe hacer clic en Si.


En la pantalla o paso 2 se debe especificar lo que se desea instalar, para este caso se selecciono "Instalar sólo Software de la Base de Datos"


En el paso o pantalla 3, seleccione la opción "Instalación de Bases de Datos de Instancia Única"


En la pantalla siguiente Oracle hace magia y de los 9 pasos iniciales cambia a 10. No tengo ni la menor idea de por que sea así.

En el paso 4 debo confesar que mi idea era que el idioma primario fuera Inglés, pero por error puse español como primario e Inglés como secundario.


La edición de base de datos que se seleccionó fue "Enterprise Edition"


El paso 6 es muy importante, en el hay que definir dos parámetros que tienen relevancia en lo que posterior a la instalación de vaya a hacer. En este ejercicio se especificaron los siguiente valores:

Directorio Base de Oracle: C:\oracle\product
Ubicación de Software: C:\oracle\product\11.2.0



El paso 7 hará una validación de que se cumplan los requisitos para poder proceder con la instalación. En este ejercicio no se presentó ningún problema. Algunas ocasiones se llega a presentar algún problema con un software que no esta instalado o problemas de espacio. En caso de ser así se deberá atender para poder continuar con la instalación.

En el paso 8 se desplegará un resumen de los parámetros seleccionados, se deberá revisar y en caso de ser necesario regresar y cambiar lo que se considere necesario.


El procese de instalación iniciara y se mostrará en pantalla el avance que registro, esto dura varios minutos, así que puede ser un buen momento para un poco de café o levantarse de la silla para estirar la piernas. En caso de presentarse un problema se desplegará el mensaje correspondiente.




Durante el proceso de instalación se puede desplegar un mensaje solicitando la autorización para que el Firewall de Windows permita el acceso o ejecución al programa de Java de Oracle. En este ejercicio se seleccionó "Redes privadas" y "Redes públicas".




Si todo sale bien, el proceso debe finalizar sin problemas.


No hay dos gotas de agua idénticas, pueden ser similares, pero nunca idénticas. El proceso de instalación puede tener diferencias dependiendo de donde se ejecute, espero estas pantallas sirvan de guía. 


viernes, 6 de abril de 2012

Reencuentro



Hace ya casi un año que deje de pasar por aquí, en realidad pasaba poco y escribía menos. Hace casi un año mi hermano y mi padre se adelantaron en el camino que todos, todos tarde o temprano tendremos que recorrer. La esperanza de volverlos me da fuerza seguir, pero mientras eso sucede el recuerdo de ellos me permite seguir adelante...

A unos días del fallecimiento de mi hermano, quiero dedicarle la siguiente canción de Bon Jovi, el mensaje en la canción expresa lo que dos hermano, amigos llevan en la distancia, tiempo... en el recuerdo.


Carnal: se que Bon Jovi no era mucho de tu agrado, pero estarás de acuerdo que la letra esta padre, ¿o no?

De mi padre que puedo decir, no hay letras que describan todo lo que me enseño, la enseñanza que más aprecio de él, es el amor al trabajo y la dedicación para hacer bien las cosas. La importancia de entender que la familia somo todos, cuando alguien tiene un problema, lo tenemos todos. Un amigo escribió cuando su padre murió "El recuerdo de una mente brillante", hoy quiero tomar prestadas sus palabras y dedicarlas a mi padre.



Cantando voy por la vida
nomas recoriendo el mundo
si quieren que se los diga
yo soy un alma sin dueno
a mi no me importa nada
pa' mi la vida es un sueno

yo tomo cuando you quiero
no miento soy muy sincero
y soy como las gaviotas
volando de puerto en puerto
yo se que la vida es corta
al fin que tambien la debo

el dia que yo me muera
no voy a llevarme nada
hay darle gusto al gusto
la vida pronto se acaba
lo que paso en este mundo
nomas los recuerdos quedan
ya muerto voy a llevarme
nomas un puño de tierra

el dia que yo me muera
no voy a llevarme nada
hay que darle gusto al gusto
la vida pronto se acaba
lo que paso en este mundo
nomas el recuerdo queda
ya muerto voy a llevarme

nomas un puño de tierra


Papá: ¿a poco no es de las mejores canciones de Antonio Aguilar?

jueves, 16 de diciembre de 2010

Cuando programar era de hombres...


y pudiera seguir siendo de hombres, aunque no es lo mismo cuando se ve por atrás del hombro de quien lo hace.


Desde hace ya un par de meses me ha estado invadiendo la idea de volver a programar, lo hice por un tiempo y se que no soy el indicado para decirlo pero creo que lo hacía bien (me quiero dar el gusto de pecar de "soberbia" así que diría que bastante bien). Pero como la vida esta llena de caminos, algunos te llevan a dar la vuelta y regresas al sendero principal, otros te llevan lejos y te ponen en otro sendero... las decisiones que tome me alejaron de la programación y me encaminaron a la administración de bases de datos.

La misma administración de bases de datos me llevo a hacer algo de programación, no al nivel que quisiera pero me permitió hacer algunas cosas, si no mal recuerdo, hace un par de años (2008) teclee mis últimas líneas de código después de varios años de no hacerlo. Pero como siempre, ver el trabajo terminado siempre da como recompensa la satisfacción personal de haber logrado el objetivo.

Esa es la parte que extraño, estar frente a la pantalla buscando ideas, buscando soluciones, buscando salidas, buscando respuestas... dar vueltas y vueltas de un lado a otros tratando de encontrar el punto donde todas la ideas toman forma. Cuando me dedicaba a la programación siempre pensaba que no había limites, que lo que se pensara, lo que se imaginara se podría hacer realidad con las sentencias correctas en el orden correcto.

Hoy en día todo lo que tenga que ver con la informática cambia a una velocidad mucho mayor a la que podemos cambiar los seres humanos. Se envejece muy rápido en este medio. Se puede dar uno cuenta de la edad digital que tenemos al hablar de lo que se empezó a usar, ¿discos de 3.5 pulgadas? ¿unidades de cinta? ¿kilobytes o gigabytes de RAM? ¿memoria USB? ¿PC o Laptop?... ¿Visual Basic? ¿Clipper?

Mi edad digital se remota a la programación en Clipper en un principio, continua con Visual Basic, sigue con Fox Pro y termina con Progress v9. Creo que los mejores lenguajes de programación que utilice fueron sin lugar a dudas Clipper y Fox Pro. Esa flexibilidad, la manera en como podía plasmar o dar forma a mis ideas en estos lenguajes me dio muchas satisfacciones personales.

Pero muchos años digitales después ignoro si podré encontrar esa flexibilidad en alguno de los lenguajes de programación de esta generación, se que si le pregunto a algún programador de esta generación me verá con cara de asombro si me acerco y le pregunto ¿que es lo mejor para programar? ¿PHP? ¿Java? ¿C# o C++?

Creo que aquí pudiera aplicar la historia de que a ningún hombre le queda el primer traje que se pone, se tienen que probar varios, entre los que se pruebe habrá uno que le quede bien, el que lo haga verse bien, el que lo haga sentirse bien. Si todo se da en un solo traje ¡Excelente! pero si no entonces se tendrá que seleccionar uno, lo tendrá que hacer con cuidado porque será el que tendrá que llevar.

Eso es lo que tendré que hacer, una selección "The choice", quiero hacerlo, extraño pedirle más a mi imaginación, extraño esas horas en compañía del frío de la noche - madrugada, las botellas de agua, las botellas de refresco de cola (PEPSI, por supuesto) y botanas saladas, pero más extraño esa satisfacción interna de poder alcanzar un objetivo, de haber logrado encontrar la solución, la respuesta. Ese cerrar de puños, sonreír y desde el fondo del corazón decir en mi interior "a huevo".

Colaboradores