Una de las mejores cualirades de Java: Su Type-System

Extrañamente hoy estaba recordando que alguna vez leí acerca del "Type System" de Java, por mera curiosidad me puse a indagar un poco más y me pareció interesante saber cómo funcionan las tripas de Java. Creo que esta parte es más útil como cultura general o para parecer intelectual por 2 minutos con tus compañeros. Si les interesa saber de que trata esto pues sigan leyendo...

En los lenguajes de programación existe algo que se llama Sistema de tipos (Type System) Básicamente son las reglas que definen de que manera se debe comportar el tipo de una "cosa" dentro del lenguaje, esa cosa puede ser una variable, método, constructor, expresiones, módulos, etc.

Una de las mejores cualidades de Java es precisamente el sistema de tipos, pero antes de intentar explicar porque es tan bueno, es necesario repasar un par de cosas.

Lo primero es que cada objeto que existe en Java es instancia de una clase (¿Esto lo sabemos como la tabla del uno no?) La clase define los métodos y propiedades que pueden ser utilizados por el objeto, además crea una relación del código con cada uno de los métodos/propiedades permitiendo manipular los datos de estos objetos. Lo segundo, es que en Java la herencia es simple, no se puede extender de 2 clases al mismo tiempo, esto pudiera parecer un problema cuando se quiera usar herencia múltiple, sin embargo no lo es, ya que es posible lograr el mismo efecto aún con herencia simple.

¿Y que tiene que ver todo esto con el sistema de tipos de Java? Que al ser un lenguaje con herencia simple evita la complejidad de lidiar con herencia en diamante y nos facilita la vida a los programadores cuando se quiere buscar el código de un método, es tan sencillo como mirar la propia clase ó interface. Nos olvidamos de pelear con Heredar de 2 clases que se llaman igual por ejemplo, y por eso es una de las mejores cualidades de Java.

En resumen el Java Type System es una mezcla entre un sistema de tipos primitivos, que es eficiente y rápido, y un sistema de tipos de referencia, que soporta conceptos de orientación a objetos como herencia, polimorfismo y generics. Esto permite a Java ofrecer tanto eficiencia en términos de rendimiento como flexibilidad y seguridad en el manejo de tipos.
 
Hasta el próximo post.

Post a Comment

Artículo Anterior Artículo Siguiente