Algunos lenguajes de programación.
1) C/C++:
El C es lengua franca en el mundo de la computación. Todo lo que se hace en algún momento empezó en el C. Es un lenguaje muy potente multipropósito. Con él puedes construir desde un sistema operativo hasta un sistema de ventanas. Es importante conocerlo también ya que aparte de entrar al mundo científico y ser de ejecución muy rápida, su sintaxis es base para otros lenguajes, como java o perl. C++ es la extensión que hiciera Stroustrup en los 90s para adaptar C al nuevo paradigma de programación de entonces: los objetos.
2) Java:
Java últimamente se ha vuelto un lenguaje muy popular y versátil. Tiene muchas ventajas con respecto a C por ejemplo implementa los objetos de una forma muy limpia (lo cual obliga al programador a evitar errores de programación bastante gruesos y costosos de depurar). Además es un lenguaje con muchas extensiones (por ejemplo, J2EE con sus servlets permite crear páginas dinámicas, Java embedeed es el motor que ejecutan las aplicaciones y juegos de gran parte de los celulares de hoy). Además de la gran ventaja del código de java, lo cual es muy atractivo para muchos programadores: Compila una vez, ejecuta en cualquier parte, lo hacen sumamente atractivos a los nuevos proyectos de desarrollo. En el mundo científico es usado en entornos académicos para una gran cantidad de proyectos. Algunos contras es que la programación a objetos requiere mucha abstracción y un gran dominio del programador. Algo que no siempre sucede.
3) Python:
Este lenguaje poco a poco va ganando terreno. Python nació del trabajo del Dr. Guido Van Rosum (colaborador del mítico Andrew Tanenbaum, en la universidad de Vrije) como un nuevo lenguaje para el sistema operativo Amoeba. Ahora python está licenciado como software libre, lo que le otorga una gran ventaja con respecto a lenguajes propietarios de diseño cerrado (¿qué pasa si al dueño de .NET se le ocurre cambiar alguna parte crucial del sistema que lo hiciera incompatible con otras versiones como pasó con Visual Basic 6?) pues eso nunca pasará con Python. Ademés de ser sofware libre tiene la ventaja de estar pensado para programar fácilmente. Nunca he visto un lenguaje para programar tan bien pensado, codigo conciso y fiable. No es raro entonces que Google use una gran cantidad de librerias de su motor de búsqueda en Python. Este lenguaje es interpretado (no se compila, lo que reduce tiempo de desarrollo) y es orientado a objetos.
4) Perl:
Esta es una elección personal. Para mí perl es una buen lenguaje/herramienta, creado a mediados de los 80s por Larry Wall. Perl no es como C, en el cual vas a programar cosas muy de bajo nivel. Mas bien es un reemplazo de herramientas arcanas como awk, sed y grep y las integra en un lenguaje muy fácil de desarrollar. El uso de perl se ve gratamente aplicado sobre todo en un trabajo en el cual los demás lenguaje como C o java fallan. Me refiero al procesamiento automatizado de grandes cantidades de datos tipo texto. Perl con su poderoso operador expresión regular puede barrer cientos de megabytes con un sencillo programa hecho en éste lenguaje. Un caso de esto sería por ejemplo procesar el archivo de registro de una máquina automatizada o buscar expresiones regulares en cientos de páginas de datos científicos. Un ejemplo de esto fue que perl (y no C, java o .NET) fueron usados para procesar los datos del genoma humano.
5) Ensamblador:
El conocimiento de assembler es algo que da sustento al científico en computación en la forma de cómo la máquina lleva el proceso de computación, mas que ser una útil herramienta en sí (aunque esto puede depender del entorno de trabajo en la cual querramos desenvolvernos). El ensamblador es el lenguaje mas cercano al lenguaje de máquina en la que no tenemos que programar con ceros y unos, por eso al estar tan cerca de la forma de cómo el hardware trabaja (lo que le da velocidad, de hecho no hay ningun programa mas rápido posible que uno hecho en assembler). El problema está en ¿qué assembler aprender? porque son varios. Ya dije que cada assembler está asociado al hardware. Entonces hay un assembler por cada tipo de procesador (y de hecho, las especificaciones del lenguaje cambian mucho entre uno y otro fabricante) y eso lo hace completamente dificil de portar a otro tipo de arquitectura (algo que java es sumamente fácil, gracias a su máquina virtual).
Aún así, conviene conocer un poco de assembler, para que a la hora de programar entendamos conceptos como tamaños de palabra y la real necesidad de optimizar espacio de memoria. Un buen comienzo es el assembler del 8086 (IBM PC XT, 1981). Aunque a los mas noveles yo le recomendaría el mítico assembler del Dr Knuth, MIX, un assembler académico muy simple que corre en una computadora "de papel". Con toda la potencia del un assembler, pero sin tener que lidiar con los problemas de hardware, ya que dicha computadora es solo ideal.
6) Prolog:
Prolog es un lenguaje con una forma de programación distinta: el paradigma declarativo. Prolog es un lenguaje muy usado en inteligencia artificial. La IA es un campo de las ciencias de la computación que promete mucho, algunos problemas de programación se pueden resolver fácilmente con prolog mientras que con lenguajes como C o java serían muy complicados. Obligatorio que todo cientifico en computación conozca prolog.
7) Fortran:
Este lenguaje ya es algo anacrónico. Es uno de los primeros lenguajes que se crearon (1956) y desde entonces ha sido muy usado en la investigación y en la industria. Es uno de los mas optimizados para lo que es cálculo numérico (que fue aplicación inicial de las computadoras cuando fueron inventadas). Fortran tiene a su favor su gran legado: miles de programas que aún funcionan que corren en fortran, además de cientos de lineas de código de librerias y otras utilidades. Un buen compilador bastante optimizado para cálculo numérico es el Intel Fortran (de pago). Uno libre es OpenWatcom Fortran. Lamentablemente este lenguaje está en declive, así que no creo que sea muy extendido su uso en el futuro.
RSS Feed
Twitter
0 Response to "Algunos lenguajes de programación."
Publicar un comentario