Manejo de variables en Java

¿Qué es una variable?

Una variable es una posición en la memoria de una computadora que almacena algún dato de forma temporal.  Las variables son útiles porque permiten guardar resultados intermedios de procesos.  Están presentes en todos los lenguajes de programación modernos.

Tipos de datos

Hemos explicado que las variables son una especie de contenedores.  Ahora bien, es necesario saber qué tipo de objeto se almacenará en el contenedor para darle las dimensiones y características más apropiadas.  Obviamente no podrá ser igual el contenedor de un líquido que otro destinado a transportar un perro.

En algunos lenguajes de programación no es necesario declarar el tipo de objeto que las variables contendrán.  El propio lenguaje se encarga de investigarlo.  Estos lenguajes son conocidos como lenguajes de tipado dinámico.   En Java esto no es posible, ya que pertenece al grupo de los lenguajes de tipado estático.  Es por ello que en Java siempre tendremos que declarar qué tipo de objeto va a contener la variable que creemos.

Los tipos de datos básicos en Java son los siguientes:

Identificador Descripción Tamaño Dominio
byte Números enteros pequeños con signo. 8 bits -128…127
short Números enteros medianos con signo 16 bits -32768 .. 32767
int Números enteros regulares con signo.  Java está optimizado para este tipo de datos. 32 bits -2147483648 .. 214483647
long Números largos con signo. 64 bits -9223372036854775808 .. 9223372036854775807
float Números decimales de precisión simple. 32 bits 3.4e-038 .. 3.4e+038
double Números decimales de precisión doble. 64 bits 1.7e-308 .. 1.7e+308
char Números enteros medianos sin signo, o caracteres. 16 bits 0 .. 65536
boolean Valores lógicos 8 bits true, false

Seguramente estarás pensando:  “Bueno, con Java es posible hacer operaciones matemáticas de forma expedita, pero ¿dónde pongo mi nombre?”  Para responder esta pregunta tendremos que dar un pequeño rodeo.

Orientación a objetos

Java es un lenguaje orientado a objetos.  Esto quiere decir, en términos muy simplistas, que cualquier dato es un objeto ejemplar de un molde conocido como clase.  Retomando la pregunta acerca de tu nombre, las cadenas de texto son manejadas por una clase especial llamada String.  La clase String tiene propiedades y métodos especiales para construir cadenas de texto.

La orientación a objetos es importante porque te permite construir tus propios tipos de datos.  Por ejemplo, si estuvieras trabajando en un sitio Web escolar podrías crear una clase llamada “alumno”, el cual podría tener una propiedad “nombre” y un método “inscribir”.

Declaración y asignación de variables

Antes de poder usar una variable tenemos que declararla.  En la declaración se especifica primero el tipo de dato que la variable contendrá y después un identificador.  El identificador nos sirve para referirnos a la variable más adelante.  Una regla importante es que toda instrucción en Java debe terminar con punto y coma.

   1: int x;

   2: Alumno al;

   3: String cadena;

Java permite declarar varias variables del mismo tipo en una sola línea.  Para ello se declara el tipo y luego la serie de identificadores separados por comas:

   1: Alumno juan, pedro, pablo;

   2: String cadena1, cadena2;

   3: int x, y, z, w;

Una vez declarada la variable (construida la perrera) podemos proceder a la asignación (meter al perro).

   1: pedro = new Alumno();

   2: x= 32;

   3: cadena1= "Hola amiguín";

También es posible realizar la declaración y la asignación en una sola instrucción.

   1: float w = 123.1232301;

Publicado en Sin categoría | Deja un comentario

Resumen de fundamentos de la computación

Resumen de fundamentos de la computación

Publicado en Sin categoría | Deja un comentario

El impacto de Internet en la sociedad posmoderna

Introducción

Desde que el ser humano pudo transmitir ideas por medio de toscas muecas hasta nuestros días, hemos recorrido un largo camino que nos ha permitido comunicarnos de forma más rápida y eficiente, así como conservar y organizar el conocimiento de forma más racional.

Cada gran cambio en la manera en que transmitimos y conservamos la información ha traído como consecuencia profundos cambios sociales. Así, la invención de la escritura hizo posible el comercio y fijar la legislación de los grandes imperios de la antigüedad. La invención de la imprenta hizo posible la divulgación del conocimiento científico.

Internet es visto por muchos autores como el pináculo del avance en cuanto a transmisión y conservación del conocimiento se refiere. En este ensayo consideraremos el impacto social de Internet.

Convencer mediante emociones, no mediante razones

Antiguamente los grandes maestros de la humanidad fueron los profetas y los filósofos. Ellos dejaron a la humanidad su legado en forma de escritos. Los escritos se basan en razonamientos para solicitar el asentimiento del lector. Los medios que ofrece Internet, aunque también incluyen la palabra escrita, son preferentemente audiovisuales. Además, la multiplicidad de medios que ofrece WWW da poco margen para prestar demasiada atención a cualquier cosa.

Es por eso que el estilo de convencimiento social se ha modificado drásticamente. Ya no se invita al receptor a una reflexión pausada y serena, se apela a sus sentimientos y emociones para conseguir un efecto inmediato.

Infoxicación

Internet fue creada con el propósito de compartir conocimiento de modo fácil y extensivo. Sin embargo, la democratización de Internet ha tenido como consecuencia no deseada una avalancha de mensajes de diverso calado, que dificultan la obtención de información valiosa. Esta situación produce un estado de ansiedad social, al ser incapaz el individuo de asimilar este mare magnum. Además se afianza la ya de por sí arraigada concepción relativista del posmodernismo: la verdad es considerada como algo inalcanzable y etéreo, que en última instancia depende del punto de vista de cada quien.

De la relación íntima con pocos a la relación superficial con muchos

Las sociedades industriales generadas por el capitalismo ha engendrado una profunda soledad en el individuo, el cual se siente desamparado, y no es considerado sino como un engrane más del aparato productivo. En general la política de los estados capitalistas es eliminar las diferencias entre los individuos, de modo que se disponga de piezas de recambio en el aparato productivo. De allí la insistencia en promover políticas de “igualdad” que en realidad no hacen más que cerrar los ojos ante las más primarias diferencias entre los seres humanos. También se combate a todas aquellas comunidades precapitalistas que crean vínculos fuertes entre las personas, como la familia y las comunidades religiosas. Se controla y desalienta la natalidad con la finalidad de que el individuo solamente se dedique a producir y consumir sin la engorrosa distracción que supone traer una nueva vida al mundo. El objetivo de todas estas políticas es hacer del individuo un instrumento dócil e inerme ante el poder omnímodo de las grandes corporaciones dueñas de los medios de producción.

Y ante este estado de soledad radical, fruto del ascetismo protestante del cual surgió el capitalismo, Internet se yergue como una válvula de escape: ya que no puedo tener relaciones íntimas con gente cercana a mí (ya que, gracias a las eficientes políticas de aislamiento del Estado, de hecho soy un “don Nadie”) puedo tener relaciones que no pasan de la superficialidad con gente de cualquier parte del mundo. Esta lamentable situación explica, en parte, el éxito de las redes sociales como Facebook, en las que priva el mal gusto y un estilo de interacción epidérmico.

Hacia la virtualización de la sociedad

El viejo paradigma de relación hacía necesaria la presencia de los interlocutores. Internet ha roto este paradigma: el estilo de relación que impone está marcada por la ausencia física de los interlocutores. Esto ha posibilitado que muchas interacciones sociales que requerían la presencia del individuo se hayan desplazado a un espacio virtual de la red desde donde es posible interactuar. Ejemplos de ello lo tenemos en la incipiente educación virtual, que poco a poco se va transformando en una opción de formación viable, y en el e-goverment, que enarbola la simplificación y la comodidad para el ciudadano como insignia.

NeoEsta virtualización tiene mucho que ver con la rebeldía posmoderna del individuo, que no solamente se quiere ver libre de todos los tiranos humanos, sino que quiere incluso sacudirse el yugo de ese último “tirano” llamado realidad. Internet se vuelve así la Matrix en la que se pretende introducir al individuo para que viva una vida en la que se confunde lo real y lo virtual, lo actual y lo posible, la materia y la forma.

Conclusiones

Aunque mis observaciones sobre Internet puedan parecer apocalítpicas a más de uno, debemos recordar que, a pesar de lo dicho por McLuhan: “El medio es el mensaje”, Internet es solamente un instrumento. Lo que ha determinado su uso son las condiciones culturales y económicas de las sociedades occidentales, entre las cuales surgió. Estas condiciones a su vez se ven modificadas a lo largo de la historia de la humanidad cuando una nueva tecnología emerge, con lo que tenemos una mutua interdependencia entre ambos factores.

Mi postura tampoco es ludista: la nueva realidad nos envolverá a todos, nos guste o no. Los que deseen exiliarse voluntariamente de esta nueva patria virtual se convertirán en piezas de antropología interesantes para el siglo que viene, pero completamente aislados del resto de la humanidad en el presente, con lo que a final de cuentas se empobrecerán a sí mismos.

Fuentes consultadas

Álvarez-Uría, F., & Varela, J. (2004). Sociología, capitalismo y democracia: génesis e institucionalización de la sociología en Occidente. Ediciones Morata.

Impact of cultural technologies upon public experience. (s.d.). . Recuperado Diciembre 8, 2010, a partir de http://www.worldhistorysite.com/ctimpact.html

Relativismo. (s.d.). E-Torre de Babel. Recuperado Diciembre 8, 2010, a partir de http://www.e-torredebabel.com/Historia-de-la-filosofia/Filosofiagriega/Presocraticos/Relativismo.htm

Weber, M., & Parsons, T. (2003). The Protestant Ethic and the Spirit of Capitalism. Courier Dover Publications.

Publicado en Informática e Internet | 1 comentario

¡Hola mundo!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Publicado en Sin categoría | 1 comentario

Programar para el gobierno

Creo que esta tira cómica resume mi situación.
Publicado en Sin categoría | 1 comentario

Cada vez más hondo

Escarbando, siempre más profundo, buscando arcanos inefables, mas el cansancio llega ya por sus reales.
Cada una hiere más profundamenteque la otra, y no llega la postrera.
Me pierdo en la niebla del ensiminsmamiento, fascinadoy aterrado a la vez.
La esfinge no cambia su postura, el silencio es mi patrimonio.
Como un baúl bien sellado, cuya cerradura no recuerda ya la llave que debe abrirlo.

Publicado en Sin categoría | Deja un comentario

Buscando el ambiente de desarrollo perfecto

Toda la semana me la he pasado investigando cuales serán las mejores herramientas para desarrollar sitios Web, y llegué a las siguiemtes conclusiones:
  1. Me gusta más trabajar con herramientas open source.  Quiero ver lo que está pasando por dentro.  No me  gusta que me den soluciones rígidas, que funcionan a la perfección para un campo delimitado de problemas.
  2. Definitivamente, las metodologías de desarrollo heavy, como RUP o MSF están bien para grandes proyectos, realizados por grandes empresas.  Pero para freelancers o empresas más pequeñas son más adecuadas las metodologías ágiles.
  3. Es más rápido trabajar con un lenguaje interpretado que con uno compilado.  Ahora que trabajo con C# extraño el "detener y continuar" de Visual Basic 6 (desafortunadamente no puedo decir lo mismo de las dll, ja).  En cambio, el código producido por un lenguaje compilado es más eficiente al final.
  4. Los lenguajes orientados a objetos permiten reutilizar muchas cosas, y hacen el trabajo más claro.
  5. Necesito una herramienta que me facilite el acceso a cualquier base de datos.
  6. El patrón de desarrollo Modelo-Vista-Controlador permite separar limpiamente los datos de su representación.
  • Disponibilidad del código fuente:  En cuanto al primer punto, ya que conozco .NET, la alternativa obvia sería Mono en cuanto a plataforma.  Sin embargo, es lastimoso el grado de abandono de la comunidad monera.  Apenas si se habla de mono en los foros especializados, y parece que el proyecto está prácticamente paralizado.  Así que tal vez de plano tenga que pasar al linux side (PHP + MySQL + Apache + Linux).
  • Metodología:  Hay que darle prioridad al desarrollo.  Creo que la mejor documentación de un proyecto son los comentarios en el código.  Tal vez empiece a incursionar en la Xtreme Programing.
  • Compilador:  Un buen lenguaje interpretado es Python, que es como Perl, solamente que con una sintaxis notablemente más clara.
  • Orientación a objetos:  C# es un lenguaje orientado a objetos muy claro, pero Ruby es más intuitivo.
  • Base de datos:  Siendo congruentes con la orientación a objetos, deberíamos pensar en primer término en db4o, una base de datos open source completamente orientada a objetos, que está disponible para .NET y Java.  Sin embargo, ya que las bases SQL no van a desaparecer, lo mejor sería proveernos de alguna herramienta ORM que salve la distancia entre el modelo de objetos y el modelo relacional.  Aquí tenemos a Hibernate (Java), NHibernate(.Net), y Active Record.
  • MVC:  El entorno de trabajo por el que conocí este patrón de arquitectura fue Ruby on Rails.  En Java existe Struts, y en .NET, MonoRial.

Conclusión

Creo que para proyectos grandes la mejor combinación es:

  • Plataforma:  .NET Framework 2.0 + MonoRial + db4o (o Active Record, si hay que trabajar con SQL)
  • IDE:  Sharp Develop

Para proyectos medianos o pequeños, el ganador es Ruby on Rails.

Publicado en Informática e Internet | Deja un comentario