Buenas tardes lectores, hoy les traigo otra entrada relacionada con el tema de los lenguajes de programación, java en android, ¿por qué lo eligieron?, empecé con las razones por las que uso php, luego hablé un poco de visual basic, y ahora hablaré sobre Java.
Hacía varios días que esta entrada estaba a la espera de ser redactada, y recién hoy que estaba husmeando un poco el framework de un amigo que realmente se ve muy muy prometedor, tengo que admitir que si su framework ve la luz mi publicación de los frameworks son una basura tendrá que ser retractada, analizando su código me surgieron algunas preguntas sobre como encararía ciertos aspectos, que para avisarles me dejó realmente satisfecho, al final de la charla surgió el gran dilema del a industria y quizá el soporte en el cual está apoyada esta entrada. ¿Mi código debe ser a prueba de idiotas, o para gente que tenga conciencia de lo que programa?
La respuesta más rápida que uno se pudiera figurar es "pues lo hago para programadores que tengan una idea de lo que hacen, si programan horrible no es mi culpa", pero entonces podemos analizar las distintas posturas que se tomaron en la industria del software.
Todos los lectores de mi blog sabrán que todas las entradas aquí son desde el punto de vista de software para desarrollo de carácter industrial, de modo que se trata de que las mismas sigan como mínimo apoyadas en los criterios de calidad que se explican aquí.
Ahora bien, todos mis códigos o los que se evalúan en este blog tienen la tendencia a ser vendidos o utilizados por terceros, por lo que esta es una de las preguntas más serias, esos terceros ¿tengo que prever que sean unos estúpidos o programadores de verdad?, veamos entonces el panorama, tenemos lenguajes como C++ que realmente no están diseñados para suponer que el que programa no tiene idea de nada, por lo que los programas en C++, unos cuantos tienden a ser bastante inestables, o con problemas, salvo que su programador hubiese tenido bastante bien claro los conceptos básicos de calidad, entre otras cosas y que no se le escaparan muchas cosas, muchos lenguajes de ese tipo son ásperos y realmente pueden generar aplicaciones inestables, que no solo le afecten al funcionamiento del programa sino de la plataforma sobre la que corren.
La respuesta más rápida que uno se pudiera figurar es "pues lo hago para programadores que tengan una idea de lo que hacen, si programan horrible no es mi culpa", pero entonces podemos analizar las distintas posturas que se tomaron en la industria del software.
Todos los lectores de mi blog sabrán que todas las entradas aquí son desde el punto de vista de software para desarrollo de carácter industrial, de modo que se trata de que las mismas sigan como mínimo apoyadas en los criterios de calidad que se explican aquí.
Ahora bien, todos mis códigos o los que se evalúan en este blog tienen la tendencia a ser vendidos o utilizados por terceros, por lo que esta es una de las preguntas más serias, esos terceros ¿tengo que prever que sean unos estúpidos o programadores de verdad?, veamos entonces el panorama, tenemos lenguajes como C++ que realmente no están diseñados para suponer que el que programa no tiene idea de nada, por lo que los programas en C++, unos cuantos tienden a ser bastante inestables, o con problemas, salvo que su programador hubiese tenido bastante bien claro los conceptos básicos de calidad, entre otras cosas y que no se le escaparan muchas cosas, muchos lenguajes de ese tipo son ásperos y realmente pueden generar aplicaciones inestables, que no solo le afecten al funcionamiento del programa sino de la plataforma sobre la que corren.
En una época
y actualmente el sistema de Microsoft (Windows) fue considerado muy poco
estable y con muchos problemas, esto es debido en parte (y solo en parte) a la
cantidad de programas que existen y que son instalados en éste sistema, y entre
tantos siempre hay alguno programado por un inútil sin vida que pasa su tiempo
escribiendo líneas de código sin pensar. Por eso microsoft cuando lanzó su
propio lenguaje que lo representara implementó ciertas medidas preventivas para
no aumentar aún más el caos en su plataforma, creando un lenguaje simple y
fiable, para que sus aplicaciones no pudieran causar estragos, eso es parte de
lo que es visual basic (como vimos en entradas anteriores hay otras
orientaciones de visual basic pero todas apuntan directamente al caso donde
sean programadores de poco conocimiento) aunque vuelvo a reiterar como en
entradas anteriores no quiero que se me mal interprete asumiendo que yo digo
que los programadores de visual basic no tienen conocimiento, solo quiero
expresar que el público para el que fue diseñado cumple con estas características,
pero no necesariamente todos los programadores del lenguaje cumplen dichas
características. Pero esta lenguaje no es el único y por evidencia no todos los
programadores para windows usan visual basic como main lenguaje.
Pero
entonces aquí surge una pregunta que quizá la explicación de arriba pueda
responderla, por qué google (si bien compró android a una empresa de terceros)
mantuvo como lenguaje único del sistema y principal a Java, veamos el historial
de google, analicemos sus propios servicios, sus programas, la gran mayoría y
cuando se puede los hacen en python, una empresa que considera como su lenguaje
principal a python, ¿por qué razón dejaría que uno de sus grandes productos use
java?, aquí es cuando todos los amantes de java dicen a coro "porque java
es lo mejor", si java fuera lo mejor que existe, ¿por que una empresa como
google tendría todos sus servicios más importantes en python? ¿por qué daría
cursos y promovería python? y sobre todo considerando que tienen su propio
lenguaje. No seamos hipócritas, java no es ni de cerca el mejor lenguaje tiene
miles de defectos y no entraré en detalle porque me iré del hilo principal demasiado.
Java es una
de esas grandes decisiones de la industria, java tiene algo que google
necesitaba en su sistema, google no podía correr con el mismo problema que tuvo
microsoft con windows, no podían quedar como estúpidos sacando un sistema
completamente inestable, tenían que asegurarse que todos los programadores que
crearan aplicaciones para android no metieran la pata y le hicieran inestable,
no podía tener esa fama, entonces tomaron la decisión de usar java, ya que java
tiene la máquina virtual, un entorno controlado para que las aplicaciones
corrieran, un entorno controlado por ellos que les permiten que si una
aplicación hace un consumo un poquito fuera de los limites, esa aplicación sea
finalizada, evitando cosas como el exceso de consumo de recursos.
Es una
simple razón que le permite a la gente de google despreocuparse de que aparezca
un programador idiota que consuma recursos de forma totalmente exagerada y
tirara el sistema por los aires, ellos pueden controlar ese entorno y
asegurarse de que las cosas no se salgan de la raya, dejando al sistema en un
entorno aparte libre de sanguijuelas, monstruos y de mases.
Entonces
podemos concluir que java es una decisión de google que no tiene nada que ver
con la calidad del lenguaje, solo les asegura que aquellos que hagan
aplicaciones para su sistema no les pongan las cosas inestables. La calidad son
dos mangos a parte y realmente dudo mucho que pensaran en poner un lenguaje de
calidad a la hora de elegir este lenguaje.
Recordemos
también que las aplicaciones hechas por terceros son algo sumamente importante
para un sistema, ya sea móvil o de escritorio, porque representa las utilidades
extras y agregados que se le pueden prestar al usuario, y ganar puntos contra
la competencia, por lo que permitir que para tu plataforma no solo programen gurús,
sino también programadores medios, y hasta programadores estúpidos, aumenta la
cantidad de desarrolladores, futuras aplicaciones y aumenta los puntos para con
su competencia, dando así una ventaja estratégica muy importante.
Saludos!
0 comentarios:
Publicar un comentario