Programación para Newbies V: Lenguajes, Java y palabras finales

Y continuamos con la tercera y última parte sobre lenguajes de programación.

Java

Duke ThinkingEste lenguaje también de alto nivel desarrollado por James Gosling en Sun Microsystems, apareció paralelamente con Python, a principios de los años 90. Basado en gran parte en la sintaxis de C/C++. Este lenguaje tiene una particularidad que considero interesante. Este debe ser compilado en bytecode (aunque también puede compilarse a código máquina), ¿qué ventaja tiene esto?. Si bien, en teoría, un programa escrito en C podría compilarse (traducirse) con un compilador ya sea de GNU/Linux o Windows, en la práctica vemos que ésto no es así, lamentablemente el código debe ser modificado de manera importante (me gustaría explicarles por qué, pero está fuera de mi conocimiento). La gracia de Java es que el lenguaje es completamente estándar. Bueno, hasta ahora tenemos el mismo problema que con C, lo que pasa es que el bytecode, vendría siendo algo así como una “traducción a medias”, es decir, que no es código máquina, pero está mucho más cerca de serlo. Pero como este es el único lenguaje que el equipo entiende, de alguna forma igual tenemos que arreglarnos de alguna forma para que la traducción/interpretación lo haga. Para logra este fin, el código debe ser interpretado en su ejecución y se utiliza una aplicación especial conocida como Máquina Virtual Java (JVM). Duke PlugDe esta forma, para ejecutar el mismo código de Java, sólo necesito la máquina virtual del sistema operativo correspondiente y voilà. Claramente esto presenta un inconveniente (lo suficientemente grande para que rechace siempre que pueda utilizar Java), el rendimiento, para ejecutar una aplicación necesitamos estar ejecutando la JVM cosa que no consume pocos recursos (aunque diría que con la tecnología actual no debería ser tan importante la diferencia). Por otro lado, presenta una ventaja sumamente importante, la portabilidad, es decir, la posibilidad de desarrollar el programa para distintos sistemas operativos/plataformas.

Aún más lenguajes…

Como si no fuera suficiente, existen muchos más lenguajes de los que yo puedo comentar y sería un despropósito hacerlo. Sin embargo, es importante saber que esta gran cantidad de lenguajes tiene una base muy lógica y que la he estado repitiendo todo el tiempo, las necesidades. Para programación web tenemos HTML, CSS, Php, JavaScript, para bases de datos tenemos SQL, hay otros lenguajes de uso más general como C, LISP para inteligencia artificial, etc. En fin, son una infinidad.

Nota final sobre los lenguajes

Real Programmers | xkcd.com
Real Programmers | xkcd.com

Automáticamente nace la pregunta: “¿Cuál es el mejor lenguaje?” y bueno te respondo… hacer esa pregunta es tan absurda como preguntar: “¿Cuál es el mejor color?”. Entrar en discusiones de ese tipo es una gran pérdida de tiempo, aunque no es raro que muchos crean que su lenguaje es el mejor y se enfrenten en eternas guerras santas. La verdad es que el mejor va a depender de las circunstancias, el propósito y la experiencia. C puede ser un muy buen lenguaje de propósito general, pero ¿de que me sirve si somos newbies y no podemos sacarle el jugo?. Obviamente sería mucho mejor utilizar BASIC, pero ser capaces de resolver el problema. Si quiero realizar una aplicación web, sin duda voy a escoger Php o JavaScript y no C y no creo que eso los haga “mejores” o “peores” lenguajes. Al igual que el color, puede ser que para un funeral el negro sea mucho más adecuado que el rojo, ¿pero lo hace eso “mejor”?. Lo dudo. Probablemente en otro momento el rojo sea más adecuado (como en una marcha). Como en todo, hay cosas de gustos y es perfectamente lógico esperar que prefieras un lenguaje sobre otro.

Programa en el lenguaje que más te guste y acomode utilizando las herramientas que a ti te sirvan más, si es con notepad, vim, Emacs o eclipse, no importa mientras seas capaz de hacer bien tu trabajo y disfrutarlo. Y si en algún momento te ves envuelto en ese tipo de discusiones estúpidas, mi consejo: retírate y haz algo mejor con tu tiempo, como estudiar tu lenguaje favorito o incluso mirar como crece el pasto.

Ya en la próxima parte comenzamos de lleno en el tema que nos convoca.

Anuncios

13 respuestas a “Programación para Newbies V: Lenguajes, Java y palabras finales

  1. Muy Bueno El Blog!!! Me encanta!!

    Estaria buenisimo si indexaran en algun lado los post que son consecutivos. Como este y el de “Mi Ubuntu” porque sino se tarda mucho en encontrarlos!

    Gracias y Sigan asi!

    Me gusta

  2. Q bien q la proxima entrega se viene con lo mas esperado, ya he bajado python incluso con un IDE, esta bueno. Recuerdo q antes usaba un editor(no recuerdo bien, edit plus??) q incorporaba la sintaxis del lenguaje en cuestion resaltando las palabras claves, si alguien conoce uno bueno u otro se agradece.
    estimado Pablo, you’re right!!!!, Pablo N, habia escrito antes acerca de “RecordMydesktop permite grabar en un video lo que haces en tu escritorio de manera senciila” para darle vida a la idea del canal en youtube con tutoriales, bueno, gracias totales por lo q hacen.

    Me gusta

  3. Leo: Sí, pero es respecto a que herramienta utilizan los programadores… además, esas discusiones son de ese nivel.

    Joaera: Sí están :P. Tienes que buscar la categoría “Mi Ubuntu” y la de “Programación para Newbies”.

    Sergio: Yo te recomiendo Geany :).

    Me gusta

  4. Eh!. Que bueno estos articulos. Soy de argentina, la verdad que es lo mejor que encontre para iniciarse en la programacion, de hecho me estoy iniciando a traves de esto, por eso te queria hacer una consulta, paralelamente a estos increibles articulos que estas escribiendo, ¿Que libro me recomendarias para iniciarme en el mundo de la programacion?, voy a seguir estos articulos a medida que los vayas actualizando. Felicitaciones.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.