| « Foros, blogs y comentarios | Cómo NO hacer las cosas » |
A lo largo de bastantes años he tenido la oportunidad de tropezarme con bastantes lenguajes diferentes, así que podría ser un buen momento para dejar mi opinión sobre unos cuantos de ellos...
Follow up:
Ensamblador
El lenguaje básico, originalmente una representación directa de las órdenes básicas ejecutadas por el procesador
Pros: máxima velocidad, funciones específicas de cada procesador
Contras: una auténtica paliza para hacer cualquier cosa algo avanzada
C
El paso siguiente tras el ensamblador, con algunas construcciones lógicas para facilitar la programación.
Pros: alta velocidad, mucho más fácil de utilizar que el ensamblador, ofrece una visión exacta de los datos almacenados
Contras: no se puede uno librar de esa visión exacta de los datos
C++
Creciendo sobre C, introduce el concepto de clases sin perder toda la compatibilidad.
Pros: permite una visión tanto exacta como abstracta de los datos, máxima flexibilidad estructural
Contras: este exceso de flexibilidad puede conducir a fallos del programa que de otra forma el compilador habría detectado
Java
Las clases y la independencia del hardware llevadas al extremo. Se ejecuta sobre una "máquina virtual" que enmascara el hardware real del sistema.
Pros: todo es una clase, completa flexibilidad léxica, muy completo y explícito. integrable con distintos entornos, por ejemplo navegadores web.
Contras: no hay forma de librarse de las clases, la cantidad de estas y el exceso de información redundante obligatoria hacen bastante pesado el desarrollo sin un IDE decente y una buena planificación del proyecto
C#
Una versión de Java un poco más relajada y un algo ampliada
Pros: añade estructuras y conceptos de C, permite manejar punteros, añade más conceptos de clases
Contras: mala portabilidad, no garantiza la compatibilidad entre entornos de ejecución, reintroduce los problemas causados por los punteros, peor integración con clases remotas
BASIC
Uno de los primeros lenguajes en aparecer en los hogares
Pros: muy simple, fácil de aprender
Contras: muy simple, no se puede hacer nada más que proyectos simples
QBASIC
Un BASIC ampliado y mejorado
Pros: igual de simple que el BASIC, pero con muchas más funciones. permite definir subrutinas y funciones propias
Contras: es posible algún proyecto más complejo, pero se queda corto rápidamente
Visual Basic
BASIC llevado al mundo de los objetos
Pros: permite desarrollar fácilmente aplicaciones sin demasiados conocimientos, o integrar rápidamente distintos módulos
Contras: permite a alguien sin conocimientos, y de la peor manera posible, desarrollar aplicaciones críticas aparentemente funcionales
LOGO
El lenguaje de la tortuguita, especial para niños
Pros: muy simple, órdenes fáciles asociables con los movimientos de una tortuga con un lápiz
Contras: las órdenes están traducidas en cada idioma, no vale más allá del ámbito educativo
LOGOS-B
Una evolución del LOGO
Pros: múltiples tortugas simultáneas, sintaxis más completa
Contras: sigue estando muy limitado
Pascal
Lenguaje educativo parecido al C
Pros: estructura clara, bastante potente, tipos lógicos de datos además de las representaciones directas de la máquina
Contras: poca base de desarrollos, se he hecho viejo
Object Pascal
La evolución de Pascal al mundo de la orientación a objetos
Pros: estructura clara con soporte de objetos
Contras: sus distintos tipos de datos tienen poca razón de ser pudiendo usar objetos
SH/BASH
No es un lenguaje en sí, sino una línea de comando del mundo U*IX
Pros: perfecto para automatizar la administración del sistema
Contras: se basa más en ejecutar programas completos que en procesar órdenes
PERL
Lenguaje pensado para extraer y manipular datos textuales
Pros: altísima integración con las REGEXPs, permite economizar el código al máximo, dispone de una amplia base de código, fácilmente extensible en C/C++, puede generar código en C/C++
Contras: las REGEXPs se cuelan por todos lados, la legibilidad del código "economizado" deja mucho que desear
PHP
Lenguaje para plantillas de páginas web que ha evolucionado hasta incorporar funciones que permiten crear aplicaciones completas
Pros: completa integración con plantillas web del lado del servidor, muy buen manejo de texto, sintaxis fácil pero completa, excelente referencia on-line
Contras: al estar destinado a ejecutarse en servidores su evolución está centrada en adaptarlo a este ámbito, no tiene ni tanta capacidad para manipular datos como C/C++ ni tanta flexibilidad léxica como Java
Python
Una mezcla rara entre PHP, Java, Pascal y LOGO
Pros: fácil de aprender, limpio y bastante flexibile, fácil de integrar con otros proyectos, permite usar funciones lambda y parámetros con nombre
Contras: impone unas normas de estilo desde el lenguaje restando libertad al desarrollador
...y alguno más que se me olvida ahora mismo.
Hm, a lo mejor debería poner esto en wiki en vez de un post :D
| Lun | Mar | Mié | Jue | Vie | Sáb | Dom |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
powered by
+
photos powered by

Nikon Coolpix 7600
+

Nokia 3650
Por cortesía de NokiaGame 2002

Esta obra está bajo una licencia Creative Commons salvo donde se especifique explícitamente otra licencia.