Estaba teniendo una pequeña charla entre compañeros de equipo sobre cómo elegir un lenguaje de programación para usar en un proyecto, lo que me lleva a pensar que hay muchos criterios para elegir uno al comienzo de un proyecto, pero no hay un estándar real.
¿Elegiste un lenguaje de programación para la sintaxis y la semántica? ¿O eliges uno porque tiene el mejor apoyo para hacer ciertas cosas? ¿O porque tienes mejores bibliotecas? ¿O lo eliges para el paradigma?
¿Qué criterio utiliza para elegir un idioma cuando va a hacer un proyecto?
const Haskell :: [Constraint] -> ProgrammingLanguage
.Respuestas:
Mis criterios, en orden:
¿Es la herramienta adecuada para el trabajo? Por ejemplo, si está compilando un cliente de escritorio gráfico y en red, desearía usar un lenguaje que admitiera ese tipo de cosas fuera de la caja como Java o C #. OTOH, si está trabajando en un sistema en tiempo real, querría algo que le diera más previsibilidad y control de bajo nivel (como C).
¿Es apropiado para el medio ambiente? ¿Los compiladores / intérpretes están disponibles para la plataforma de destino?
¿Es algo con lo que ya estoy familiarizado o es un idioma que puedo aprender rápidamente? Por ejemplo, dado que la mayor parte de mi experiencia es con C y C ++, puedo elegir rápidamente lenguajes con una sintaxis similar (de nuevo, Java o C #) fácilmente. Algo que pertenece a una familia completamente diferente (como Haskell) me tomaría más tiempo para sentirme cómodo.
¿Es algo bien respaldado, con muchas referencias tanto en línea como en papel?
fuente
Supongo que entrarían muchos factores
¿El lenguaje se presta bien al tipo de aplicación que va a codificar?
¿Qué tan versado estás en el lenguaje de programación? (Se vuelve más importante a medida que se reducen los plazos)
Funciones de biblioteca y lenguaje para un área determinada en su aplicación.
¿Es un idioma nuevo? ¿Ha sido probado y probado en el dominio actual?
¿Cuántas personas realmente codifican en él? Importante si necesita ayuda y hay una comunidad activa y grande
fuente
Los criterios importantes para mí son:
Yo diría que la sintaxis y el paradigma no son tan importantes.
No elegiría un nuevo idioma porque me gustaba la sintaxis o el paradigma pero tenía herramientas que funcionaban mal y una biblioteca mínima que no podía hacer la mayor parte de lo que necesitaba.
fuente
Los idiomas son herramientas. Como con cualquier herramienta, debe tener en cuenta varias cosas:
1) ¿Tiene acceso a la herramienta?
2) ¿Sabes cómo usar la herramienta?
3) De las herramientas que cumplen con los criterios 1 y 2, ¿cuál es la mejor para su trabajo?
Si solo tiene una herramienta, la respuesta es simple. Si tiene una docena de herramientas, debe considerar el alojamiento, los costos de mantenimiento y otros problemas periféricos.
fuente
Esto probablemente me va a desestimar, pero lo más importante para mí es la sintaxis. Con los programas dedicando mucho más tiempo y esfuerzo en mantenimiento que en la escritura original en estos días, la capacidad de recoger un fragmento de código desconocido (el de otra persona o el mío si lo escribí hace más de 6 meses) y determinar rápidamente el La intención de esto es estadísticamente una de las habilidades más importantes que puede tener un programador moderno. Un lenguaje limpio y fácil de leer ayuda enormemente con esto.
Después de eso, sin ningún orden en particular,
fuente
Solo uso los idiomas que conozco mejor:
No intento aprender un nuevo idioma cuando comienzo un nuevo proyecto serio. Yo uso lo que sé.
fuente
El costo para construir una aplicación es casi proporcional al tamaño del código, por lo que para minimizar el costo elijo el lenguaje más poderoso que se ha utilizado para resolver problemas similares. No me preocupa la cantidad de programadores que conocen el idioma, ya que no necesitaré muchos. También trato de evitar el bloqueo de proveedores, por lo que prefiero soluciones abiertas.
fuente