Por Jose Pablo Fonseca Rojas - Estudiante de la carrera de Ingeniería en Informática

Como parte de una sociedad que cuenta en su gran mayoría con dispositivos móviles inteligentes, los desarrolladores han tenido que adaptar sus proyectos o aplicaciones para que puedan funcionar de forma óptima en este nuevo tipo de dispositivos que, con el paso de cada año, se vuelven más populares. Como consecuencia, los desarrolladores se han planteado nuevas dudas respecto a los ambientes de desarrollo y cuál es el más adecuado según sean las necesidades. Además es cada vez más frecuente preguntarse cuál lenguaje es más efectivo y eficiente, o cuál lenguaje se adapta de mejor manera para mi desarrollo. Para clarificar estas dudas se analizarán dos de los lenguajes más populares y con más auge en la época moderna en forma de Java y C#, esto para exponer los puntos positivos y negativos de cada uno y al final poder tomar una mejor elección en cuanto a cuál lenguaje utilizar se refiere.

Comenzando con Java y mencionando un poco de su historia, según se explica en el artículo publicado por Murphy (1996), corresponde a un lenguaje desarrollado en el año 1995 por James Gosling. Uno de los pilares de este lenguaje es su naturaleza de programación orientada a objetos. Entrando más en materia del desarrollo móvil se encuentra que Java tiene una ventaja muy llamativa en contra de cualquier otro lenguaje de programación la cual, según se explica en la nota de Kelley (2019) para el blog Datasciencedojo, Java es el lenguaje nativo de Android, por lo que la compatibilidad e integración de las aplicaciones se desarrolla de una forma más simple y con márgenes de error más pequeños. Gracias a esto podemos clasificar a Java como el lenguaje más puro a la hora de desarrollar aplicaciones móviles con él. A pesar de esto, también hay nuevos lenguajes que están tomando cada vez más fuerza cuando se habla de desarrollo móvil como podría ser Kotlin, el cual poco a poco se ha abierto camino como el futuro sucesor de Java como lenguaje primario a la hora de realizar desarrollo móvil. Esto último gracias a las facilidades y la forma en la que se puede optimizar el código dentro de este lenguaje, lo que reduce la cantidad de líneas de código en relación con Java.

Ahora que se conoce la situación actual de Java así como las posibles amenazas futuras, es conveniente comentar la situación actual en la que se encuentra C# para el desarrollo móvil. Primero que nada encontramos que C# es usado en la gran mayoría de ámbitos de la programación hoy en día, por lo que su presencia dentro del desarrollo móvil no es sorpresa para nadie. Además, en una nota publicada por Microsoft (2013), se exponen los motivos por los cuales C# es uno de los lenguajes más competitivos cuando se habla del desarrollo móvil, entre ellas destaca la capacidad de inyectar dependencias o Nugets a los proyectos lo que permite la adición de nuevas funcionalidades y herramientas que además son desarrolladas por la comunidad del lenguaje como tal. Otro punto que se destaca está muy relacionado a la naturaleza como lenguaje sencillo de comprender lo que permite que realizar adaptaciones dentro del lenguaje sea sencillo así como también la capacidad para identificar los errores mientras el código está en ejecución.

Ahora que se conoce la realidad de ambos lenguajes es posible determinar que existen ventajas presentes en cada uno, así como también un panorama respecto al futuro de uno de los lenguajes mencionados. Gracias a esto podemos deducir que ambos lenguajes son una opción viable en la actualidad, sin embargo, por parte de Java encontramos que puede haber una alternativa de lenguaje, el cual puede llegar a ocupar su lugar como el lenguaje más nativo para el desarrollo móvil. Aun así, esto no significa que no se le pueda seguir considerando uno de los mejores lenguajes para esta finalidad, por lo que la elección de uno sobre el otro va a depender más de las cualidades del desarrollo así como de las preferencias de los desarrolladores y de las compañías.

 

MOXIE es el Canal de ULACIT (www.ulacit.ac.cr), producido por y para los estudiantes universitarios, en alianza con el medio periodístico independiente Delfino.cr, con el propósito de brindarles un espacio para generar y difundir sus ideas.  Se llama Moxie - que en inglés urbano significa tener la capacidad de enfrentar las dificultades con inteligencia, audacia y valentía - en honor a nuestros alumnos, cuyo “moxie” los caracteriza.

Referencias bibliográficas:
  • Kelley, M. (2019). What’s the Best Language for Android App Developers: Java or Python? Datasciencedojo. https://blog.datasciencedojo.com/android-app-developers-java-python/
  • Microsoft (2013). Eight Reasons C# is the Best Language for Mobile Development. https://devblogs.microsoft.com/xamarin/eight-reasons-c-sharp-is-the-best- language-for-mobile-development/
  • Murphy, K. (1996). So why did they decide to call it Java? https://www.infoworld.com/article/2077265/so-why-did-they-decide-to-call-it-java-.html