Introducción
Este es un breve ensayo sobre mi opinión sobre algunos de los lenguajes de programación modernos.
Bueno, ‘ve no ha terminado, pero decidido publicarlo tal cual y editar más tarde
Con la gran cantidad de lenguajes de programación que hay muchos de nosotros estamos confundidos sobre cuál usar para su proyecto o como idioma predeterminado de cumplir. Aquellos de nosotros que sólo comienzan su viaje por el fascinante mundo de la programación se encuentran a menudo se enfrentan a la cuestión de las eligiendo su primer idioma y yo a veces me preguntan para dar consejo.
- Cada algoritmo o un problema puede ser resuelto en cualquier idioma.
- Algunos lenguajes permiten que usted pueda resolver algunos problemas en una forma más fácil
- Algunos idiomas traer más diversión (una positiva frente a la miseria de bug-caza) en el proceso de escribir código
- Por lo general es posible reutilizar el código escrito en otros idiomas, pero la dificultad del proceso puede variar
Popularidad . Un lenguaje popular tiene una comunidad donde usted puede hacer preguntas.
- dinámico (como el rubí, que permite hacer un montón de cosas en tiempo de ejecución a través de la introspección / reflexión [obtener información de tipo como las funciones disponibles y argumentos dinámicamente] al precio de tener un enorme accidente si usted comete un error tipográfico)
- estática (haskell – donde se comprueban todos los tipos durante la compilación y hay incluso existe la opinión de que si un programa escrito en un tipo estático idioma compila, es correcto)
- débil (conversión de tipos implícita como en JavaScript y Perl que significa que puede sumar enteros y cadenas y obtener números enteros … raro)
- estricto (ni siquiera conversión de tipo explícita es posible – como en Haskell / ML, que permite evitar el abuso de la comprobación de tipos)
- explícita (como C, C + +, Java) – usted tiene que definir los tipos de variables todo el tiempo (como , «int x = 1» o «float sqrt (int x) …»)
- implícitas lenguajes de programación más funcionales (como Haskell, F # y, recientemente, C # y C + +0 x) – tipo de variable es deducida a partir del contexto [ TypeInference ]. Esto es, el compilador intenta encontrar al menos algunas de las variables para las que se puede decir del tipo de seguro. Al igual que, enteros o constantes float. Entonces se remonta sustituyendo cada vez que aparece de la variable sin tipo con el tipo de la constante que se puede utilizar allí. Algo así como funciona Hindley-Milner inferencia de tipos [ HindleyMilner ]
dos reglas de oro en la optimización de software :
- Siempre perfil el software (es decir, analizar qué parte de la computación, que lleva más tiempo de rutina ) antes de tratar de optimizar. Recuerde que la cita Knuth, «la optimización prematura es la raíz de todo mal». Eso significa que usted debe ser consciente del peligro de perder mucho tiempo optimizando la parte equivocada de la realidad el programa que tiene una influencia significativa en el rendimiento.
- Si alguna optimización le da un aumento lineal en el rendimiento, olvidar al respecto. Usted puede obtener la misma optimización por no hacer nada y simplemente esperando una próxima generación de CPUs a salir en medio año. Si realmente, realmente necesita rendimiento, empezar por tratar de disminuir la complejidad algorítmica