Yo diría JavaScript / EcmaScript .
Es increíblemente diverso y se ha demostrado que es útil en muchos dominios y plataformas. También es bastante incomprendido, mal implementado y maltratado debido a peligrosas verrugas y trampas que lo permiten. Sin embargo, dada una buena ingeniería y herramientas que protegen de esos problemas, JavaScript también puede ser un lenguaje significativamente poderoso que los desarrolladores pueden resolver rápidamente problemas complejos y desafiantes.
En estos días, encuentro que JavaScript / CoffeeScript puede resolver todas mis necesidades en toda la pila de desarrollo. Por ejemplo, con algo como MeteorJS, puedo crear una aplicación de pila completa, que incluye almacenamiento de datos y enlace de datos completo en todos los clientes, con muy poco código. Con menos de 50 (20?) Líneas de código, incluido el código UI, puedo crear una aplicación que sincronice todos los navegadores con la base de datos. Literalmente puedo actualizar datos usando una consulta en Mongo y ver cada actualización de cliente automáticamente, sin código adicional. ¡Intenta eso en cualquier otro idioma!
- Como contratista de software, ¿cuándo puedo dejar de trabajar en un proyecto? No se firmó papeleo.
- ¿Cuál es el alcance de una prueba unitaria?
- ¿Cuáles son las opciones de back-end (como Parse, FireBase, PubNub, Layer, etc.) para el desarrollo móvil y las ventajas de cada una?
- Si no planeo obtener un BS en CS, ¿qué debo estudiar para obtener una base sólida como programador?
- ¿Las pruebas unitarias de escritura son mejor realizadas por los desarrolladores o el control de calidad?
Del mismo modo, usando Ionic, puedo desarrollar una aplicación muy respetable y de alto rendimiento usando JavaScript, HTML, CSS, con poco esfuerzo, multiplataforma. No es tarea fácil usar otros idiomas.
También agregaré CoffeeScript como un lenguaje bastante incomprendido.
Personalmente, considero que CoffeeScript es una herramienta poderosa para resolver los aspectos peligrosos de JavaScript. (CoffeeScript también es bastante incomprendido en la comunidad, pero no es el “más”).
Además, CoffeeScript elimina los argumentos perpetuos con respecto al estilo de colocación de corchetes, etc. He crecido para preferir lenguajes que usan sangría para definir bloques sobre los idiomas entre corchetes. Cuando se combina con Jade (Pug) y Sass, puedo ser libre de eliminar mucho ruido visual en mi código. Es mucho más agradable escribir Jade que escribir HTML. (La mitad de las líneas de código y sin elementos de cierre que no coincidan, como …