Tu portal de
formación online

Infórmate
Inicio » Catálogo » Curso de Programación en Java » Lenguajes de programación

Curso de Programación en Java

Lenguajes de programación

Lenguaje de Programación

Es un conjunto de normas, instrucciones y códigos prefijados que permiten construir programas capaces de ser interpretados por  procesadores.

Un lenguaje de programación es la herramienta utilizada para crear programas. 

Es como el alfabeto de una lengua: para que una persona pueda comunicarse y entenderse con otra debe aprender las vocales, las consonantes, su pronunciación, cómo se unen letras para formar palabras inteligibles, cómo se agrupan palabras para formar frases, etc. Este alfabeto y sus normas de aprendizaje cambian de una lengua a otra. Ocurre lo mismo en los lenguajes de programación: para que un programador pueda relacionarse con un procesador a través de un programa es necesario que aprenda las reglas y características básicas del único idioma que entienden: su código máquina.

Los programadores no suelen trabajar directamente con código máquina porque hay muchos tipos (tantos como procesadores) y, además, porque se programa con un lenguaje muy distinto al que habitualmente se emplea (recordar que las instrucciones de código máquina se expresan en bytes). Para evitar estos dos problemas se emplean los lenguajes de programación de alto nivel.

Lenguajes de programación de alto nivel y de bajo nivel

Lenguaje de Alto Nivel

Un lenguaje de alto nivel se compone de palabras, generalmente inglesas, entendibles por los humanos. Su principal característica es que las instrucciones asociadas a los programas creados con ellos no trabajan directamente con el procesador, sino que previamente deben pasar a través de un filtro o compilador que  las prepara adecuadamente para que el procesador sepa interpretarlas.

Las instrucciones asociadas a programas creados con lenguajes de alto nivel deben transformarse en instrucciones de código máquina para que el procesador pueda interpretarlas; esto se hace con un compilador (es el filtro mencionado anteriormente).

 Así, un compilador es un programa que

  • Comprueba el cumplimiento de una serie de normas que deben cumplir las instrucciones de un programa.
  • Transforma dichas instrucciones expresadas en lenguajes de alto nivel en instrucciones de código máquina directamente ejecutables por un procesador.
 Java,  Visual  Basic, Visual Basic.NET, C, C++, C#, Pascal, Cobol, SmallTalk, Delphi, Perl, Python, etc.

Lenguaje de Bajo Nivel

 Un lenguaje de bajo nivel trabaja con instrucciones directamente interpretables por un procesador. 

El uso de la palabra bajo en su denominación no implica que el lenguaje sea inferior a un lenguaje de alto nivel, si no que se refiere a la reducida abstracción entre el lenguaje y el hardware.

Se utiliza este tipo de lenguajes para programar tareas críticas de los Sistemas Operativos, de aplicaciones en tiempo real o controladores de dispositivos.

 El ensamblador es un tipo de lenguaje de bajo nivel.

Normalmente, cada procesador tiene distinto código máquina, y un programa compilado para un determinado procesador no vale para otro (una novela escrita en castellano no se entiende en China a no ser que se traduzca). Con los programas que se quieren ejecutar en máquinas que no tienen el mismo procesador ocurre lo mismo.

Se deben tener tantos compiladores como procesadores distintos se tengan y volver a compilar el programa para que funcione en el procesador concreto.

Esto es una limitación que Java ha resuelto mediante la JVM (Java Virtual Machine) o Máquina Virtual de Java.

Máquina Virtual de Java

La JVM es un programa capaz de crear, a partir de código Java compilado que recibe el nombre de código de bytes o Java bytecode,  el código máquina nativo asociado al procesador con el que se está trabajando.

En la analogía de la novela se podría decir que la JVM sería un traductor mágico capaz de traducir una novela escrita en cualquier lengua, a nuestra lengua materna.

La inclusión de la JVM entre el compilador y el micro va en detrimento de la velocidad de ejecución y rapidez de interacción con el usuario, por lo que Java es un lenguaje lento en relación a otros como C++, por ejemplo

En función de lo que se considere prioritario para una aplicación se optará por un lenguaje u otro

 Hardware y software (Arquitectura ordenador + sistema operativo)

Hablando a nivel de ordenador, además del procesador debe considerarse el sistema operativo (s.o. a partir de ahora) que trabaja en él.

El código máquina asociado a un procesador de un ordenador depende del s.o. que tenga instalado;

Si se dispone de dos ordenadores con el mismo procesador pero con dos ss.oo. distintos, uno con Windows y otro con Linux, y se realiza un programa que se compila usando el compilador asociado al primer ordenador (monta Windows), este programa, ya compilado, no podría ejecutarse en el segundo ordenador (monta Linux).Si se desea ejecutar debería compilarse con el compilador asociado al segundo ordenador. 

Esto significa que el programa no es portable o multi plataforma.

En Java, mediante la JVM, se ha conseguido que todos los programas sean portables o multi plataforma ya que la ejecución de las instrucciones Java no dependen del s.o. sino de la JVM.

 

Si no se utiliza lenguaje Java:
Si se utiliza Java:

Plataforma

Plataforma

Todo entorno físico o lógico sobre el que se puede ejecutar un programa o aplicación se denomina plataforma. La mayoría de plataformas actuales combinan un ordenador y un s.o.

Actualmente se cuenta con dos tipos de plataformas a utilizar:

  • Entorno o plataforma PC: ordenadores con una arquitectura interna que sigue unos parámetros de diseño creados por IBM hace 20 años y a un sistema operativo (Windows 95, 98, 2000, NT, XP, Linux, Unix, Solaris, AIX de IBM, HP-UX de Hewlett-Packard , etc.).
  • Entorno o plataforma MAC: ordenadores con unas características de diseño internas definidas por Apple y a un sistema operativo llamado Mac O.S.

 

No es preciso disponer de un ordenador para ejecutar un programa Java, basta con diseñar máquinas virtuales adecuadas para esos dispositivos y un mecanismo para introducir el código de bytes (habitualmente Internet).

En la actualidad, la programación en entornos no PC ni Mac, es una parte muy importante de Java, y además en continua evolución y desarrollo. El nombre que recibe dicha parte es Jini.

Página oficial de Jini en oracle En este enlace podemos ver las novedades de Java respecto al desarrollo para diferentes entornos.
Existen televisores interactivos, teléfonos celulares, relojes, cadenas de música, electrodomésticos, etc. en las que puede ejecutarse un programa Java.

Una cadena de música con este procesador y conectada a Internet permitiría escuchar directamente archivos mp3 almacenados en páginas web o escuchar conciertos en directo independientemente del lugar donde se desarrolle el mismo, una lavadora podría ejecutar una secuencia de lavado indicada por el usuario estando éste en otro país, un microondas podría ponerse en marcha de forma remota, un aparato de aire acondicionado podría controlarse también remotamente etc.

Si desea obtener un acceso sin restricciones a los contenidos del curso de Programación en Java y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.
Este sitio web utiliza cookies de terceros con la finalidad de analizar el uso que hace de nuestra web y personalizar el contenido de los anuncios. Si continúa navegando entendemos que acepta su uso. Más información × Cerrar