La calidad del código desarrollado en cada uno de estos lenguajes se basa en estas filosofías fundamentales y menos en los desarrolladores individuales.
Cada idioma tiene una cultura a su alrededor, porque cada idioma fue desarrollado por una razón por alguien con una agenda y una filosofía subyacente de por qué su idioma iba a ser mejor en algo de lo que existía en ese momento.
Al igual que las religiones, los lenguajes de programación tienden a atraer a personas que ya tienen la misma predisposición a los principios y filosofías centrales del creador del lenguaje.
Ejemplo sobre calidad percibida de soluciones
En un campamento de Microsoft tienes:
La filosofía de C # es que está más orientado a objetos, promueve modismos más modernos y requiere más conocimiento para hacerlo correctamente y, por lo tanto, debe proporcionar soluciones de mayor calidad. Esto es lo que atrae a la gente sobre VB.
En el otro campamento de Microsoft:
La filosofía de VB es que puedo rápidamente y con poco conocimiento o esfuerzo construir algo que le permita a alguien hacer clic en un botón y hacer algo útil y de valor comercial, cómo hacerlo no es tan importante. Esto es lo que atrae a la gente sobre C #.
Aquí hay algunas tomas de lengua y mejilla sobre los idiomas y sus filosofías:
Las personas de Perl tienden a preocuparse por exactamente lo opuesto a las personas de Python.
La gente de Java se preocupa por ganar dinero.
Los lenguajes JVM (Groovy, Scala) se preocupan por el JMV y no por el lenguaje Java.
Todos los lenguajes específicos de Microsoft (VB, C #, F #, C ++ administrado) tienden a preocuparse por ganar dinero en Windows.
A la gente de Erlang le importan las cosas que a otras personas no les ha importado, y no aprecian lo que no saben.
A la gente de Lisp no le importa lo que los demás piensen que les importa.
Lo que les importa a estos grupos da forma al lenguaje, su desarrollo y su comunidad.
Las filosofías cambian con la experiencia y la necesidad.
Adopté ASM y BASIC porque en 1983 eso fue todo lo que tenía. Quería escribir juegos y demos, esas fueron las herramientas para hacerlo. Principalmente ASM para demos.
Adopté C y luego C ++ cuando era la única forma de escribir cosas como el renderizado 3D y prácticamente cualquier otra cosa que fuera crítica en cuanto al espacio y el tiempo. No era ASM, así que lo aprendí.
Adopté VB para ganar dinero, era lo más parecido a los entornos de desarrollo Scala, Director y CanDo a los que estaba acostumbrado en Amiga. Estoy de acuerdo con la filosofía de desarrollo rápido
Adopté Java desde el principio para ganar más dinero. Gané dinero con VB hasta 1999 y lo dejé atrás cuando Java 1.2 se estabilizó y maduró y la web ya se había puesto en marcha por completo, tenía 4 años de experiencia en Java cuando la gente realmente comenzó a tomarlo en serio. Estuve de acuerdo con la escritura una vez, ejecutar en cualquier lugar en que cuanto más lugares se ejecutó mi código, más fácil sería poder venderlo. filosofía.
Adopté Python tarde en su línea de tiempo, 2005 porque rascó una picazón que Java no hizo. Necesitaba escribir código rápidamente para usar algunas bibliotecas que solo estaban disponibles en C y también necesitaba hacer prototipos rápidos de servicios web. Python fue más rápido y menos código para hacer lo mismo en Java. Algunas cosas se pusieron en producción cuando Java se quedó Python, muchas cosas nunca llegaron a la naturaleza. Estuve de acuerdo con sus baterías incluidas, las filosofías de un solo idioma, así como las demás.
Adopté Lua cuando necesitaba poner un motor de secuencias de comandos ligero en mis programas C ++ y Java. Esto fue mucho antes del soporte JSR233 en Java. Estuve de acuerdo con la incorporación de un lenguaje de secuencias de comandos con todas las funciones que sea fácil de usar, debería ser una simple filosofía Lua.
Adopté Erlang en 2006 cuando comencé a necesitar una escalabilidad masiva y una ejecución multinúcleo relativamente indolora en problemas altamente paralelos y tengo una ejecución multiplataforma. ** Estoy de acuerdo con su estado de no compartir, pasar mensajes, filosofía de estado inmutable. * 8
Adopté Objective-C cuando comencé a necesitar construir aplicaciones OSX e iOS. Estoy de acuerdo con que agrega la orientación correcta de objetos a C para mejorar su filosofía. También para ganar mejor dinero.
Adopté JavaScript oficialmente en 2009 porque estaba de acuerdo con la filosofía CouchDB y usa JavaScript. Todavía no me gusta JavaScript cuando tengo que lidiar con el DOM.
Todavía no he adoptado oficialmente a Lisp, ¡pero eventualmente lo haré! Estoy de acuerdo con los que no saben lisp están condenados a reinventar su filosofía.