viernes, 7 de septiembre de 2007

El pseudocodigo: lenguaje común

Alien [blackhat4all@gmail.com]

Vivimos en un mundo donde desde los sucesos descritos en la biblia referente a la legendaria torre de babel, los idiomas y dialectos son tantos que impiden la comunicación en un solo lenguaje con el resto de las personas, y aunque el inglés sea el idioma dominante, no todos lo hablan con fluidez y destreza, si a esto sumamos la variedad de lenguajes de programación, resultaría casi imposible para un programador chino experto en C++, explicarle a un cubano que se especializa en Fortran como realizar una rutina que de cómo resultado una búsqueda de archivos en la PC.

Por otra parte, desgraciadamente no todos los directores de empresas que se dedican a la creación y distribución de software tienen dominio de programación, lo que complica la situación de un informático a la hora de explicarle paso a paso a su jefe que es lo que hace su programa, aún comunicándose en el mismo idioma.

Sin embargo, con la existencia del pseudocódigo, la comunicación entre un programador (independientemente del lenguaje que domine) y un recién graduado de la escuela de medicina se torna más asequible para ambas parte.

La palabra pseudocódigo puede dividirse perfectamente en dos, Pseudo, que significa supuesto, y la terminación Código, que no es más que la frase que describe en programación una instrucción determinada. Formando así una especie de supuesta programación, que no llega a ser ni lo uno ni lo otro, sino una simbiosis de ambas.

Cualquier estudiante de carreras relacionadas con la informática, podrá recordar entre sus primeras clases alguna que tuviera que ver con el tema, ya que es la mejor forma que pudiera encontrar un profesor de programación para enseñarle a programar a sus alumnos. No tendría que hacer uso de complicadas palabras, ni de tecnicismos innecesarios, ni tampoco de amplias líneas de declaración de variables, ni nada por el estilo; con un dialogo común podría reducir a pocas líneas casi cualquier programa; Esto sin contar que es la manera más rápida de abrirle la mente a quien quiera adentrarse en el mundo de la programación. Por estas razones, el pseudocódigo es el puente perfecto entre un lenguaje de programación y el lenguaje común en que podría hablar cualquier persona, ya que se toman partes de ambas para describir el funcionamiento de un programa.

Para que los no entendidos en el tema tengan una idea, imaginemos que hemos creado una aplicación en Visual Basic 6.0 que se encarga de revisar el tamaño de cada uno de los nombres de archivos que se encuentran en una lista y decirnos cual de ellos es el más grande.
Nota: para hacerlo menos complicado y largo, supongamos que todos los archivos están en la misma carpeta (C:\BlackHat\Prueba).

Con este ejemplo, el código sería:
Dim Tamaño As Double
Dim Nombre As String
Tamaño = 0
Nombre = ""
For i = 0 To File1.ListCount - 1
If FileLen("d:\blackhat\" & File1.List(i)) > Tamaño Then
Tamaño = FileLen("c:\blackhat\Prueba\" & File1.List(i))
Nombre = File1.List(i)
End If
Next
Msgbox (Nombre)

Quizás escrito de esa forma pocos lo entiendan, pero si en lugar de eso decimos:
Asigna un espacio para poner el nombre y tamaño del mayor archivo
Escoje cada archivo
Compara con el tamaño del mayor archivo, si el tamaño es mayor, reemplaza sus datos
Repite hasta que se acaben los archivos disponibles
Muestra el nombre del mayor archivo

Hasta el momento no se ha asignado un lenguaje estándar para diseñar un pseudocódigo, ya que depende de quien lo escriba y el conocimiento sobre programación que tenga a quien va dirigido; sin embargo, lo anterior podría ser un ejemplo inicial, aunque aún contiene algunos errores que serán explicados más adelante.

Escribir un programa o parte de el en pseudocódigo puede ser para comunicarse con alguien que no tenga conocimientos sobre programación, como para quien está familiarizado con esta, ya que al no existir un solo lenguaje para realizar programas, estas mismas líneas mostradas anteriormente realizadas para compiladores como pascal, se escribirían completamente distintas, eso sin contar que cada persona puede crear las variables con los nombres que prefiera, y por lo general, cuando se va a hacer un programa simple, que no consta de mucha complejidad, muchos de los programadores, para acortar tiempo, asignan nombre a las variables que no tienen nada que ver con el contenido que guardan, o simplemente las denominan con letras, que quizás para ellos tienen sentido, más no para el que sin saber que hace el programa, prefiere leerse el código.

Por lo general, a la hora de escribir un programa en pseudocódigo, la declaración de variables se anula, a menos que las variables vallan adquiriendo determinada complejidad a lo largo del código o se considere necesario especificarlas dado los conocimientos de programación que pudiera tener quien va a leerlo, y fue este el error que se cometió en el ejemplo de pseudocódigo anterior.

Por todo lo dicho anteriormente, un pseudocódigo puede tener la complejidad o sencillez que se le quiera dar y no sólo puede ser escrito, sino también graficado, lo cual resulta a veces más fácil de entender.

Un ejemplo que pudiera ser fácil de razonar sería el de crear un programa que dada la nota de un estudiante, nos dijera si está suspenso o aprobado. Veamos el código escrito en C++:

Int nota;
If (nota>=60 )
{ShowMessage (“Aprobado.”);}
Else
{ShowMessage (“Suspenso.”);}

Este mismo ejemplo llevado a pseudocódigo escrito sería:

Si la nota es mayor o igual que 60
Esta aprobado
Sino
Esta suspenso

Como vemos aquí se ha eliminado la creación de la variable nota, ya que al ser utilizada una sola vez en el programa, y no ser de gran complejidad, cualquier programador sabría de que tipo crearla. Veamos ahora como sería este mismo pseudocódigo en forma de gráfico, o diagrama como usualmente se le llama:

Como vemos, la representación grafica, o en forma de diagrama, en ocasiones es más fácil de hacer e incluso de entender, pudiendo ver así el programador todos los pasos y faces realizados en el código.

Hasta aquí hemos tratado sobre escribir los programas en pseudocódigo por los programadores para mostrárselo a otras personas, sin embargo el proceso se puede hacer en forma inversa. En no pocas ocasiones se nos dan tareas, programas, algoritmos a construir, y como programadores tenemos que cuestionar constantemente sobre diversos aspectos buscando que nuestras aplicaciones sean lo más cercana a la petición que se nos ha hecho, sin embargo, una gran parte de los desarrolladores, preferimos que se nos entreguen las encomiendas en pseudocódigos, ya que desde ahí nos es más fácil llevarlas a un lenguaje de programación y no tenemos que preguntar por detalles que se podían haber especificado en caso de que se nos hubiese entregado un diagrama.

La programación en forma de pseudocódigo, ya sea en forma de diagrama o textual, ahora a los desarrolladores de software horas de trabajo, y evita las constantes reuniones con los jefes, superiores o supervisores para que nos digan “yo quiero un programita que me diga…”. Es una forma de lograr un acercamiento entre el lenguaje común y la programación, de llegar de una manera más fácil y cómoda a la forma de pensar de los programadores, ya que todos, de forma escrita, en diagrama o mental, antes de enfrascarnos en una aplicación, lo primero que generamos es el pseudocódigo.

Continuar leyendo

Conexión a Internet en Cuba

Hades

Cuando alguien tiene la oportunidad de navegar por la Red estoy convencido de que queda fascinado ante las innumerables fuentes de información que se encuentran en el mismo, no importa cuán extraño es el patrón de búsqueda de seguro que hay algo al respecto, entonces es cuando uno dice “indiscutiblemente el internet lo inventaron para mi”. Ante tales beneficios, es imposible evitar el deseo de conectarse de nuevo para navegar, entonces es el comienzo de los problemas, ¿dónde me conecto?, ¿Fulano me dejará conectarme de nuevo?, lo que conlleva a un estado de impotencia terrible ya que no tenemos la solución en nuestras manos. Se me ocurre que si tuviera mi propia conexión a Internet no tendría que estar dependiendo de favores, ¿qué tengo que hacer para obtenerla?, continúan los problemas, en Cuba no existen conexiones de internet para usuarios particulares. Bueno y ¿por qué?, realmente es una pregunta difícil; para ello voy a tratar de exponer algunos datos que obtuve de diferentes fuentes de información que, aunque no arriban a ninguna conclusión si proporcionan herramientas para lograr acercarse un poco a la respuesta de esta pregunta.

Cuba posee una de las mejores posiciones geográficas de América, por lo que el tránsito de barcos, aviones, ondas radiales, fibra óptica, etc. pasa por nosotros o cerca de nosotros. Como todos conocen un factor esencial en el desarrollo de la informática y las telecomunicaciones es el empleo de la fibra óptica que es una guía de luz, donde la señal no se atenúa tanto como el cobre, evitando pérdida de información, además de que se pueden emitir a la vez por el cable varias señales diferentes con distintas frecuencias, permitiendo diversos tipos de comunicación fiable entre lejanos sitios. Hoy en día existen grandes cantidades de enormes tuberías de fibra óptica, sumergidas en el mar, que conectan los continentes y a su vez a los países. América no está excluida de estas conexiones e incluso es uno de los lugares donde más tráfico existe.

Pero a pesar de que Cuba está en América no está conectada a ninguna de las tuberías que le pasan muy cerca, tan cerca que incluso existe una toma, que cuando se diseñó el sistema de fibra óptica para esta zona estaba concebida para Cuba, a pocos kilómetros de nuestro archipiélago. Pero este sistema es propiedad del gobierno de los Estados Unidos (los malos) y con las medidas impuestas no permiten darle el uso previsto a la ya mencionada toma.

Para un país hoy en día no tener acceso a la Red es como no pertenecer al mundo, entonces en 1996 el Estado Cubano ante tal problemática decidió conectarse a la Red, por vías satelitales provenientes de Canadá e Italia (países no confirmados). Este tipo de conexión tiene varias consecuencias adversas:

•Costo – Cuba paga más de cuatro millones de dólares al año por un enganche a internet que resulta entre un 15% y un 25% más caro que el de cable.
•Eficiencia – La velocidad del ancho de banda (actual) es 65 Mbps de bajada y 124Mbps de subida. (El ancho de banda por fibra óptica actualmente es de más de 10 Gbps).
•Fiabilidad – Las conexiones satelitales son vulnerables a posibles interferencias ante fenómenos climáticos.
•Dependencia – Toda modificación del canal satelital requiere licencia que otorgan los malos.

Ahora, con la conexión que ya poseemos, que es lenta, mala y cara, se puede perfectamente crear servidores que brinden conexión a la población. No sé de cuanto sea el rango de IP(Dirección que identifica a un host(anfitrión) en una Red) con el que cuenta nuestro país, pero utilizando extensiones de direccionamiento IP que son métodos para incrementar el número de host de una Red se podría darle el servicio al menos a los usuarios que posean un ordenador con papeles (legal), siempre teniendo en cuenta que el ancho de banda no se puede saturar porque esto traería graves consecuencias al servidor, desde congestionamiento, hasta la caída del mismo, cosa que también tiene solución, puesto que no estamos pidiendo conexiones ni tan siquiera a 50 Kbps con una de 30Kbps y hasta de 20 Kbps, estoy seguro de que no pocos serían felices, pero además podrían aplicar mecanismos de conexión intermitentes ,ya sea asignando cuotas de horas mensuales a los futuros host, estableciendo horarios de conexión, o ambas, de todas formas seria mucho mejor que ahora.

Las buenas noticias son que el 24 de enero 2007 los gobiernos de Cuba y Venezuela firmaron un acuerdo para extender desde un punto de la costa venezolana hasta la zona de Siboney, en el extremo oriental de Cuba, un cable de fibra óptica submarino de aproximadamente 1,550 kilómetros que tendrá capacidad para más de 20 millones de llamadas simultáneas, el proyecto lo llevarán a cabo la empresa estatal Telecom de Venezuela y la industria cubana Transbit, el cual debe estar terminado en un par de años. Este cable submarino permitirá intercambiar, en milisegundos, información digital que contenga fax, audio, texto, videoconferencias, televisión, telefonía, acceso a páginas web y cualquier otro tipo de datos. Ahora, hace falta que cuando esto ocurra, sí podamos disfrutar todos de un Internet en donde no aparezca ningún mensajito como Acces Denied o algo por el estilo.

Continuar leyendo

Los Hackers ¿Quiénes son?

Alien [blackhat4all@gmail.com]

Durante el tiempo que BlackHat estuvo de receso, me dedique entre otras cosas a revisar toda la información que tengo almacenada en mi PC; entre tanto y tanto buscar, me reencontré con Hacker, un libro de Claudio Hernández y que a mi entender ilustra de manera exquisita toda esta cibercultura informática. (Se los recomiendo).

Muchos quizás, habrán escuchado alguna vez en sus vidas la palabra Hacker, pero casi seguro estoy de que fue en tono despectivo, o utilizando la palabra para referirse a algún adolescente que sin los permisos necesarios penetró en la computadora de alguna institución gubernamental y por sus acciones causo perdidas millonarias, pero, ¿Alguna vez oyeron hablar de las cosas positivas de los hacker? (lo dudo).

Uno de los objetivos del proyecto BlackHat es desmitificar los erróneos conceptos que giran en torno a la palabra Hacker, aunque no es menos cierto que es un tema que no ha sido muy tratado en las ediciones anteriores.

Esta palabra, no es una que se ha inventado escogiendo de forma aleatoria letras del alfabeto hasta formarla, no, como casi todas las palabras, también tiene sus orígenes.

Sus principios vienen de la palabra Hack, que en ingle vendría siendo algo así como golpear con un hacha, que es como se decía que los técnicos en telefonía arreglaban las cabinas. Otro de los mitos que existen con respecto a los orígenes de esta palabra y quizás uno de los más creíbles por sus características, se trata de las artimañas que debían hacer los que manejaban las viejas, grandes y lentas computadoras, para eliminar por medio del cableado los bugs que están contenían. Sin embargo. Hoy en día, esta palabra se le puede asignar no solo a los que se esfuerzan por mejorar los nuevos bugs que han traído las nuevas tecnologías, sino a todas las personas que en general sienten cierta pasión por un tema en específico, pudiendo ser este o no relacionado con la computación. Lo que si es cierto, es que la cibercultura no sólo está formada por Hacker, sino también con otros miembros que pueden causar o no más daño en la sociedad.

Un Hacker, como tal, es aquella persona que si bien tiene los conocimientos necesarios para penetrar en un sistema remoto, no llega a causar males mayores en el mismo, y si tiene que hacer algún tipo de modificación, será para borrar sus huellas y asegurar en un futuro, poder tener acceso nuevamente. Cuando un Hacker penetra en un sistema, no lo hace con fines destructivos, sino para darle a entender al usuario lo débil que resulta la seguridad que ha implantado, y como medio de auto superación.

Un Hacker informático, es una persona ávida de conocimiento, y que no se conforma con llegar a tener un conocimiento bastante profundo acerca del complejo mundo informático, sino que reúne esos conocimientos y basándose en ellos, es capaz de crear, innovar, o perfeccionar los ya existentes.

Como en casi todas las sociedades, entre los Hacker existe una especie de jerarquía, pero que a diferencia de otras estructuras jerárquicas, no se asciende por fuerza, riqueza o poder, sino por conocimiento. Un verdadero Hacker, no es aquel que lleva esta palabra por Nick, o quien se autoproclama como tal. Un verdadero Hacker es aquel que es visto por sus semejantes como tal, y por este nombre lo llaman.

La mayoría de los Hacker, han adquirido sus conocimientos de forma autodidacta, llegando a poseer en ellos mismos tanto conocimiento sobre una materia en especifico, que aunque no sepan la respuesta exacta a una pregunta determinada, son capaces de hacer un análisis tan detallado sobre el tema, que les permite tener en minutos una noción de lo que se les habla, y luego, sin mucha dificultad, podrían resolver el problema.

Quizás por estas características que los hace tan únicos, haciendo que el resto de las personas sientan cierta envidia, o por propio desconocimiento de las personas acerca de las distintas categorías que existen en la cibercultura, es que los Hacker son mal vistos en la sociedad. Sin embargo, ¿Qué fuera hoy de nuestro mundo digital si desde el principio no hubiesen estado esas personas mostrándonos cuán débiles podían ser nuestras creaciones?

No digo con esto que sean una especie de ángeles guardianes, o paradigmas a seguir, puesto que el sólo hecho de penetrar en un sistema sin autorización los hace infringir una ley, y más que una ley, viola la privacidad de la persona atacada, (cosa que también puede hacer un administrador de red, sin ser mirado como un malhechor). Pero, ¿Cuánto le debemos a estas personas?.

Gracias a los Hacker, que constantemente se empeñaron en demostrar los bajos niveles de seguridad de sistemas operativos como Windows 95 y Windows 98, hoy en día podemos contar con entornos de trabajo más seguros como lo pueden ser Windows 2000 y Windows XP. Es también admirable las revoluciones que estos personajes han causado en los sistemas telefónicos, las redes, la perfección de los sistemas antivirus, el diseño de algoritmos más efectivos, los cambios en los circuitos, etc.

No quisiera que interpretaran de este articulo que desde ahora en adelante debemos darle libertad y estar en deuda con la persona que entra en nuestra casa de forma ilegal, pero si pienso que se debería marcar una diferencia entre el que entra a robar, destrozando todo lo que se encuentra a su paso (Cracker), y el que de buena fe nos demuestra con argumentos sólidos que la reja que pusimos el mes pasado no es lo suficientemente segura (Hacker). Este papel les toca fundamentalmente a los medios de difusión, los que por ignorancia han difuminado la barrera que divide a estos dos grupos.

Continuar leyendo

Microprocesadores

Lic. Zeidy S. López Collazo

Para traer el tema a nuestro entorno haremos un recorrido por aquellas "piezas" de su computadora que cargan el peso de su potencialidad. No dividiremos en grupos, no señalaremos un "único", no hablaremos de suministradores ni de suministros. Se trata de mostrar desde el punto de vista tecnológico por que se pudiera decidir a la hora de adquirir su computadora. ¡Solo es nuestro criterio! Esperamos que le puedan sacar algún provecho.

El Procesador.

El asunto se ha ido tocando en esta propia publicación varias veces y esta claro que sin él su computadora es solamente un conjunto de piezas de un rompecabezas sin sentido. Será uno de los máximos responsables, pero no el único, de la potencia de su PC.

El elemento fundamental de proceso de la información, que constituyen el cerebro del ordenador y recibe el nombre de unidad central de proceso, microprocesador, o CPU.
El microprocesador es responsable de todas las operaciones que se efectúan con los datos y lleva el control de los demás dispositivos del ordenador. Por ejemplo, Intel Pentium para los PC, y Motorola Power-PC para Apple.

Partes principales del microprocesador:

Encapsulado: es lo que rodea a la oblea de silicio en sí, para darle consistencia, impedir su deterioro como por ejemplo por oxidación con el aire y permitir el enlace con los conectores externos que lo acoplarán a su zócalo o a la placa base directamente.
Memoria caché: una memoria ultrarrápida que almacena ciertos bloques de datos que posiblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM, aumentando así la velocidad y disminuyendo la el número de veces que la PC debe acceder a la RAM. Se la que se conoce como caché de primer nivel, L1 (level 1) ó caché interna, es decir, la que está más cerca del micro, tanto que está encapsulada junto a él, todos los micros tipo Intel desde el 486 tienen esta memoria.
Coprocesador matemático: es la FPU (Floating Point Unit - Unidad de coma Flotante) parte del micro especializada en esa clase de cálculos matemáticos; también puede estar en el exterior del micro, en otro chip.

Unidad lógica aritmética (ALU): es el último componente de la CPU que entra en juego. La ALU es la parte inteligente del chip, y realiza las funciones de suma, resta, multiplicación o división. También sabe cómo leer comandos, tales como OR, AND o NOT. Los mensajes de la unidad de control le dicen a la ALU qué debe hacer.

Unidad de control: es una de las partes más importantes del procesador, ya que regula el proceso entero de cada operación que realiza. Basándose en las instrucciones de la unidad de decodificación, crea señales que controlan a la ALU y los Registros. La unidad de control dice qué hacer con los datos y en qué lugar guardarlos. Una vez que finaliza, se prepara para recibir nuevas instrucciones.

Prefetch Unit: esta unidad decide cuándo pedir los datos desde la memoria principal o de la caché de instrucciones, basándose en los comandos o las tareas que se estén ejecutando. Las instrucciones llegan a esta unidad para asegurarse de que son correctas y pueden enviarse a la unidad de decodificación.

Unidad de decodificación: se encarga, justamente, de decodificar o traducir los complejos códigos electrónicos en algo fácil de entender para la Unidad Aritmética Lógica (ALU) y los Registros.

Registros: son pequeñas memorias en donde se almacenan los resultados de las operaciones realizadas por la ALU por un corto período de tiempo.

Velocidad del Reloj

En la CPU, todas las partes internas trabajan sincronizadas, gracias a un reloj interno que actúa como metrónomo. Con cada ciclo de reloj, el micro puede ejecutar una instrucción del software.
La velocidad de reloj es la cantidad de ciclos por segundo generados, cuanto más alto sea ese valor, más veloz será la PC típicamente, un micro cualquiera trabaja a una velocidad de unos 500 MHz y más, lo cual significa 500 millones de ciclos por segundo.

Debido a la extrema dificultad de fabricar componentes electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos los micros modernos tienen 2 velocidades:

Velocidad interna: la velocidad a la que funciona el micro internamente 200, 333, 450, 500, 750, 1000, etc. etc. MHz.

Velocidad externa o de bus: o también FSB, la velocidad con la que se comunican el micro y la placa base, típicamente, 33, 60, 66, 100, 133, 200, 233, etc. etc. MHz.

Se dice que...

Los microprocesadores del futuro brindarán aún más recursos a la memoria cache para acercar la actual brecha de velocidad que existe entre ambos. Los modernos microprocesadores superescalables desempeñan desde tres a seis instrucciones por ciclo de reloj. Por tal motivo, a 250 MHz, un microprocesador superescalable de cuatro direcciones puede ejecutar un billón de instrucciones por segundo. Un procesador del siglo XXI podría lanzar docenas de instrucciones en cada paso.

Algunos sostienen que la tecnología óptica reemplazará inevitablemente a la tecnología electrónica. Las computadoras podrían ser, por ejemplo, construidas completamente de materiales biológicos. Pipeling, organizaciones superescalares y cachés continuarán protagonizando los avances de la tecnología, estando presente también el multiprocesamiento paralelo. Probablemente, los microprocesadores existan en varias formas, desde llaves de luz páginas de papel.

En el espectro de aplicaciones, estas extraordinarias unidades soportarán desde reconocimiento de voz hasta realidad virtual. En el futuro cercano, los procesadores y memorias convergirán en un chip, tal como en su momento el microprocesador unió componentes separados en un solo chip. Esto permitirá achicar la distancia entre el procesado y la memoria y sacar ventajas del procesamiento en paralelo, amortizar los costos y usar a pleno la cantidad de transistores de un chip.

El microprocesador del siglo XXI será una computadora completa. Podría denominársela IRAM, para expresar Intelligent Random Access Memory : la mayoría de los transistores en este chip dependerán de la memoria. Mientras que los microprocesadores actuales están asentados sobre cientos de cables para conectar a los chips de memoria externa, los IRAMs no necesitarán más que una red y un cable de electricidad. Todas las unidades de entrada y salida estarán vinculadas a ellos vía red. Si precisan más memoria, tendrán mas poder de procesamiento y viceversa. Mantendrán la capacidad de memoria y velocidad de procesamiento en equilibrio.

Los microprocesadores IRAMs son la arquitectura ideal para el procesamiento en paralelo. Debido a que requerirían tan pocas conexiones externas, estos chips podrían ser extraordinariamente pequeños. Podríamos estar ante microprocesadores más pequeños que el antiguo 4004 de Intel. Si el procesamiento en paralelo prospera, este mar de transistores podría ser, además frecuentado por múltiples procesadores en un solo chip, creándose el “micromultiprocesador”.

Continuar leyendo

Los lenguajes de programación BASICs

Alien [blackhat4all@gmail.com]

A mi forma de ver, uno de los lenguajes más controversiales a lo largo de toda la historia han sido los BASICs, y no me refiero sólo a Visual Basic, sino a todos los BASICs en general, desde BASIC, QuickBasic, Visual Basic Script, Todas las ediciones de Visual Basic, el no tan popular Visual Basic for Aplication e incluso, hasta el reciente Visual Basic .NET.

En los inicio, cuando Dios creo el mundo y no proliferaban por toda la faz de la tierra los tantos lenguajes que tenemos hoy, BASIC era una bendición para algunos estudiantes de mi secundaria que desde entonces sentían interés por la programación y no tenían en sus manos los tutoriales con que podemos contar hoy para adentrarnos en programaciones más complejas como pudiera haber sido C.

Desde los tiempos en que las computadoras de Cuba eran sólo pantallas de televisores Caribe, o los televisores más pequeños con una tonalidad verde y los famosos teclados inteligentes, ínfima, pero existía una cantidad de estudiantes que en lugar de perder el tiempo tratando de pasar un nivel más de Súper Mario, o el popular Tetris de entonces; pasábamos las pocas horas que teníamos acceso al laboratorio de computación dibujando círculos, haciendo líneas, tratando de esbozar simples bocetos de rostros de personas, o sólo tratando de generar una melodía que se acercase a la canción más popular en aquel momento, y todo en BASIC.

Ya en 8vo grado, casi la mitad de ese reducido grupo se enfrascaba en tratar de simular, con los pocos conocimientos con que contábamos, un programa que tratase de acercarse al comportamiento del LOGO, quien es hoy en día el abuelo del Paint, y eso nuevamente en BASIC.

Años más tarde, con la llegada del Visual Basic, muchos de los programadores de su predecesor lenguaje decidieron migrar a nuevo candidato. Con una programación casi idéntica a la que se hacia en consola, Visual Basic permitía crear con facilidad aplicaciones rápidas y de utilidad.

No era necesario declarar las variables que se quisieran utilizar, el compilador, de forma automática, las asignaba como variant en caso de que no se hubiesen creado. Esto, para los que reconocen la importancia de la declaración de variables, podría traer problemas, sobre todo en la utilización que hacia el lenguaje de la memoria disponible; sin embargo, los programadores novatos, cuyas creaciones más complejas no llegaban a almacenar casi nunca más de 100 datos, no notaban diferencia alguna.

Los BASICs ofrecen a los que se atreven a programar en ellos la oportunidad de crear sencillos programas, en los que las líneas de código se reducen significativamente al compararse con otros. Es un lenguaje por lo general fácil de aprender y, contrario a lo que pudieran pensar muchos, en ellos si se obtienen muchas de las cosas que se alcanzan con otros lenguajes. Es el tipo de lenguaje que puede servir para abrirle la mente a quien con deseos de programar, aún no tenga la idea de cómo hacerlo.

Hasta el momento, las únicas barreras que le impiden a Visual Basic convertirse en un lenguaje orientado a objeto y llegue así a ocupar un puesto dentro de los lenguajes catalogados como tal, son la carencia de herencia y polimorfismo. Dos aspectos que a mi entender son fundamentales, ya que para la creación de programas con un alto nivel de complejidad, ahorran horas de trabajo en la implementación de clases como pudieran ser TPerro y TGato, si antes ya tenemos creada la clase TMamífero.

Desde los inicios, BASIC y sus sucesores fueron implementados no para lograr con ellos programas de alta complejidad, ni otros que trabajaran con grandes cantidades de datos, sino para crear un puente fácil de atravesar por los que sin haber pasados años de estudio, necesitaran un programa que fuera fácil de implementar y en un lenguaje lo más natural posible, reduciendo así las horas de programación.

Aún así, no se puede catalogar como un lenguaje para niños, ya que desde las primeras versiones posee los tipos de datos más comunes con los que un programador podría trabajar y es capaz de llegar desde trabajo con hardware, hasta la creación de clases y nuevos tipos de datos, por sólo mencionar algunas. No es menos cierto que aún carece de aspectos que lo harían mucho más potente, como pudiera carecer Microsoft Windows de un trabajo en redes tan completo como lo tiene Linux, sin embargo, a pesar de todas las cosas que conocemos de Windows, no podemos decir sólo por esto que ese sistema operativo es un juego, ya que es actualmente el utilizado por la mayoría y, hoy en día, no se puede pensar en otro a la hora de instalarle un sistema operativo a alguien que recién empieza a incursionar en el mundo de la computación.

Continuar leyendo

Periódico Vanguardia

Alien [blackhat4all@gmail.com]

Cuando alguien que está interesado en la computación tiene la posibilidad de tener por determinado tiempo una cuenta de correo, que a la vez le sirva para navegar, una de los primeros instintos es el de preguntarle a sus homólogos que llevan más tiempo conectados, sobre los lugares más interesantes a los que se pueda entrar, o en los que buscar información. Ese precisamente fue mi primer paso hace unos ocho meses atrás y dentro de las listas de sitios cubanos que obtuve, había uno que coincidía en casi todas. Era una dirección extraña que a primera vista no dice nada, era algo como http://www.vanguardia.co.cu. Luego de haber instalado y configurado todos los programas necesarios para entrar en la red, la curiosidad me hizo ir hasta esa dirección a ver que era lo que había allí que mis compañeros tanto me recomendaron.

Cuando entre por primera vez, me di cuenta que era una especie de periódico, el cual contaba con todas las secciones habituales, pero había algo en el diseño que lo diferenciaba por mucho del Granma. Me di cuenta que tenía varios enlaces y, como es lógico, comencé a leerlos:

“Contacto, Solo texto, RSS, Búsqueda, Foros…”

Hace de esto ocho meses y aún no he terminado de leer los demás.

Es a mi entender el foro del vanguardia uno de los mejores y más completos que conozco (y tengo acceso). Y no quisiera referirme sólo a cifras, ya que estas no siempre expresan la calidad de un sitio, aunque vale decir que cuenta con más de 2437 usuarios registrados y más de 20384 mensajes publicados, obteniendo el mayor número de visitas simultaneas el 27 de Abril del 2007, con un total de 108 personas conectadas cercana ya las 2 de la tarde. Esta información ha sido extraída de los datos que ellos mismos brindan al final del foro, yo por mi parte sólo pude averiguar que casi las 24 horas tiene al menos un usuario tratando de acceder para bajar o subir información.

Vanguardia, en el foro, usa casi en su totalidad colores pasteles, creando un contraste perfecto que permite ver las letras con claridad, además, sin requerir de grandes imágenes que entorpecerían la descarga de la página, conserva un ambiente agradable y ameno para quien lo visita.

Pero esto tampoco es, a mi forma de ver, lo que lo distingue de los demás. Lo que hace del Vanguardia un sitio de obligada referencia es su contenido. Como la mayoría de los foros, está dividido en Temas y subtemas, siendo en estos últimos en los que se crea o accede a la información. Cuenta con temas sobre casi todos los aspectos, no escatima recursos para ir desde el más utópico poema de amor hasta la más cruda y polémica Internet, sin dejar de pasar por la política, el deporte, las letras, artes y hasta un poco cuestiones medioambientales y lugares geográficos.

Contrario a lo que pasa en otros espacios, en este, los moderadores y administradores si juegan su papel, tanto así que hasta el director tiene un espacio donde le brinda atención a los foristas, permitiéndoles entrar en dialogo con el. Este Tema, contrario a lo que muchos puedan pensar, no funciona como los buzones de quejas y sugerencias, en los cuales nadie deposita un papel porque… No, en el Vanguardia los foristas tienen un valor, y sus opiniones son escuchadas, valoradas y respondidas acorde a las ideas de quien remite, que más allá de que puedan o no estar de acuerdo, lo más importante es saber que uno ha sido atendido.

Nunca deja de haber algún irresponsable que quizás utiliza un lenguaje inapropiado para ese espacio, o alguien que quizás se expreso de forma incorrecta, como no dejará de haber tras ese mensaje unas letras en negritas escritas por los moderadores donde tratan de darle una solución al dilema creado; pero esto ocurre muy poco.

Bajo los Temas que tienen que ver más con la informática, me atrevería a decir que el contenido es bastante amplio y diverso, donde lo mismo pueden ver un mensaje de 3 palabra ej: “Hola a todos.” (que los hay), como se encontraran con casi tutoriales sobre una materia específica (que también los hay), eso, para no hablar de las discusiones sobre el mejor antivirus, o Sistemas Operativos, que más bien, lejos de ser una discusión, son conferencias magistrales de personas conocedoras sobre estos aspectos, y donde todo aquel que intervenga, saldrá de ahí con una cantidad de información proporcional a la que se obtendría luego de haberse leído libros sobre el tema.

Hoy día, que estamos viviendo problemas con la conectividad y otros aspectos relacionados con la web, mientras con dolor desde nuestras casas vimos como al acercarse los 20 años de los joven club dos de ellos perdían su importante foro, siendo uno de ellos el Palacios Central de Computación; el Vanguardia, no sólo conserva el suyo, sino que crece a diario, sumándose como promedio unas 15 personas diarias, y en ese mismo foro, se ha creado una especie de mininternet, donde se encuentran comentarios sobre diversas materias y desde distintos puntos de vista.

Por estas razones, después de haber recorrido un pequeño porciento de nuestra red, regreso los ojos al Vanguardia y agradezco desde estas líneas a sus fundadores y actuales miembros, asegurando dar, si alguien me pidiera algún día, una sola dirección a visitar: http://www.vanguardia.co.cu.

Continuar leyendo