Generaciones de ordenadores

Una manera habitual de mostrar la evolución de los ordenadores es recurrir a las llamadas generaciones, periodos temporales de desarrollo de los ordenadores. Una generación comienza con un avance tecnológico disruptivo y finaliza cuando aparece otro que lo supera y que da comienzo a una nueva generación.

Tradicionalmente se cuentan 5 generaciones, si bien hay quien ya habla de 6. Yo en principio sigo hablando de 5 aunque menciono los avances tecnológicos que ya están aquí y seguramente acabaran cerrando la quinta generación y dando paso a la sexta. Estos avances son la Inteligencia Artificial y el procesamiento paralelo.

En mis clases utilizo la diapositiva de abajo para introducir las generaciones de ordenadores:

Generaciones de ordenadores
Generaciones de ordenadores
Sigue leyendo Generaciones de ordenadores

¿Qué es un ordenador?

Probablemente todos tengamos una respuesta para la pregunta: ¿Qué es un ordenador?. Si estás leyendo este post, seguramente estés usando uno.

Al comienzo de curso, suelo empezar la asignatura de Arquitectura de Sistemas haciendo esta pregunta a mis alumnos, y aunque las respuestas son muy diversas, normalmente llegamos al consenso siguiente: “Un ordenador es una máquina programable de propósito general”.

Para entenderlo bien, hay que imaginarse el mundo con máquinas que hagan sólo una cosa, como ocurría antes de la era de los ordenadores. Por ejemplo, para escribir un documento usaríamos una máquina de escribir, para realizar un cálculo matemático una calculadora y para ver un video un reproductor de video conectado a nuestro televisor, ¡¡Qué tiempos aquellos!! Hoy en día, usamos el ordenador para todas estas tareas y otras muchas más.

Y programable, porque mediante los programas preparamos la máquina de propósito general para realizar una tarea concreta de las muchas que puede realizar. Siguiendo con el ejemplo anterior, suponiendo que estamos en Windows, usaríamos Word para escribir el documento, Excel para hacer el cálculo matemático y el reproductor de Windows Media para ver el video.

Con esta breve discusión en clase, creo que consigo fijar un punto de partida para adentrarnos en el apasionante mundo de los ordenadores.

Si quieres conocer la arquitectura de estas máquinas que hoy empleamos para todo, lee el post arquitectura de ordenadores

NOTA:

Este post es parte de la colección “Arquitectura de Sistemas” que reproduce los apuntes de la clase que imparto sobre el tema en ESIC. Puedes ver el índice de esta colección aquí.

Los operadores en Java

Última actualización: Julio 24

Los operadores en Java, son usados para realizar operaciones con variables y valores. Los valores a emplear en la operación a realizar son denominados operandos, mientras que la operación a realizar con los operandos viene definida por el operador.

Java tiene diferentes tipos de operadores:

  • Aritméticos.
  • De comparación.
  • Lógicos.
  • De asignación.

Operadores aritméticos en Java

Sigue leyendo Los operadores en Java

Ejercicios con variables en Java

Tras el anterior post sobre variables en java, en este dejo algunos ejercicios para practicar lo aprendido entonces. Actuaré de esta manera con el resto de temas, es decir, primero explicare un tema y luego, en otro post, propondré una serie de ejercicios y sus soluciones.

Existen varias soluciones posibles para resolver un mismo problema, unas más eficientes que otras. Aquí podéis ver una solución posible para cada ejercicio propuesto, que no es la única posible.

Sigue leyendo Ejercicios con variables en Java

Las variables en Java

Última actualización: julio 24

En este apartado, voy a hablar de las variables en Java. Explicaré como declararlas e inicializarlas, los tipos de variables primitivos que manejamos en Java, como cambiar el tipo de una variable y el alcance de esta.

Pero antes de empezar, hay que introducir una serie de conceptos preliminares:

  • Una variable es un contenedor, una localización de memoria, que almacena un valor mientras se ejecuta un programa.
  • Ponemos un nombre a cada variable, de forma que podamos referenciarla en nuestro código, y usar el valor que almacena.
  • Las variables son de un tipo. El tipo de datos que pretendemos almacenar en dicha variable. Por ejemplo, si una variable es del tipo int, se empleara para guardar valores de números enteros. Sin embargo, si es del tipo String, se emplea para guardar una cadena de caracteres, es decir, texto.
  • Las variables tienen que ser declaradas. En dicha declaración indicamos el tipo de la variable y su nombre.
  • Una variable tiene que ser inicializada para poder ser usada en nuestro programa. Inicializar una variable es poner un valor en ella.

Declarando e inicializando variables

Para declarar una variable tenemos que indicar el tipo y el nombre. Algunos ejemplos:

Sigue leyendo Las variables en Java

Empezando con Java

Última actualización: julio 24

Java es un lenguaje de programación de alto nivel con las siguientes características:

  • Orientado a objetos
  • Simple
  • Seguro
  • Independiente de la plataforma (JVM)
  • Robusto
  • Portable
  • Arquitectura neutral (object file)
  • Dinámico
  • Interpretado
  • Alto performance
  • Multi hilo
  • Distribuido

Es un lenguaje compilado e interpretado a la vez. El código programado en Java se compila a “bytecode” por el compilador de Java, funcionando en cualquier plataforma. El “bytecode” generado no es exactamente código máquina, es más bien una especie de ensamblador que es independiente de la plataforma. Es decir, vale para todos los Sistemas Operativos.

En nuestro ordenador, tendremos instalada la JVM (Java Virtual Machine), que es específica para cada plataforma, ya que será la encargada de traducir el “bytecode” a código máquina. Para esto último, utiliza un intérprete que funciona bastante rápido al no tener que hacer una traducción desde lenguaje de alto nivel, sino desde bytecode.

Sigue leyendo Empezando con Java

Ejercicios de introducción a la programación

En este post os propongo dos ejercicios de introducción a la programación, el primer tema de mis apuntes de Java. Se trata de pensar, plantear una solución al problema propuesto, y plasmarla luego en un diagrama de flujo y con pseudocódigo.

Existen varias soluciones posibles para resolver un mismo problema, unas más eficientes que otras. Pero desde luego, antes de ponernos a programar, tenemos que plantear la solución al problema que queremos resolver programando.

Aquí podéis ver una solución posible para cada ejercicio propuesto, que por supuesto no es la única posible y que probablemente no sea la más eficiente.

Sigue leyendo Ejercicios de introducción a la programación

Introducción a la programación

Última actualización: agosto 2025

Antes de comenzar con Java, es conveniente realizar una pequeña introducción a la programación, que nos ayude a situarnos. Vamos a ver en que consiste programar, lo que es un algoritmo, un diagrama de flujo y un seudocódigo. Pero por encima de todo, veremos que programar es acerca de resolver problemas.

Conceptos preliminares

Existen una serie de conceptos que conviene interiorizar antes de ponerse a programar. Al menos deberíamos tener bien claros los siguientes:

Ciencias de la computación: Conjunto de disciplinas que emplean la computación para el estudio y resolución de problemas.

Las ciencias de la computación tienen como propósito resolver problemas utilizando ordenadores para desarrollar la solución. Las ciencias de la computación NO son el estudio de los computadores.

Sigue leyendo Introducción a la programación