Los que mencionan que esto sucede todo el tiempo están más en el camino correcto.
Otros mencionan los fracasos comerciales que conducen al abandono. El lenguaje no es el decisivo completo de esto.
Tenga en cuenta que la mayoría de las traducciones son movimientos de secuencias de comandos a compilación. O bien, puede optar por la simulación de software para la realización de hardware.
- ¿Cómo es el proceso de desarrollo de su producto?
- ¿Cómo puedo encontrar / contratar desarrolladores web / diseñadores de aplicaciones profesionales en todo el mundo?
- ¿Dónde puedo encontrar buenos cursos de diseño de experiencia de usuario (UX) en línea?
- ¿Hay algo que ganar al hacer un software intencionalmente complejo y técnico?
- ¿Cuáles son algunos problemas en astronomía que podrían resolverse (pueden ser resueltos fácilmente por los astrónomos) mediante el uso del software adecuado, pero no hay ningún software que los ayude?
Entonces, de hecho, es una práctica probar algo usando lenguajes con frases rápidas sin tener en cuenta la eficiencia. Luego, pasa a algo más industrial.
Hay muchos idiomas que se supone que evitan que los proyectos fallen. Pero no lo hacen. Si una persona escribe código totalmente codificado en el idioma más genial del mundo, probablemente no será descifrado en algo mejor. He visto esto con Python. Había una compañía en la que trabajaba que tenía gente demente (una de varias). Amaban a su pitón. Tenían esta pila escrita por este abandono de la escuela secundaria hippie. Se suponía que la pila era un gran clasificador de correo electrónico. La cosa era un desorden revuelto sin una teoría real detrás, solo un loco ensayo y error. Básicamente me despidieron por tratar de librarlos de su desorden. Eso dejó a la gente allí no más educada que antes, solo más decidida en su decisión de que este fracaso de un proyecto era su tecnología joya. Pero, de hecho, los estaba derribando. Python a menudo se promociona como un lenguaje que evita la programación trastornada. Pero, no, en manos de una persona trastornada, el código sale alterado.
Hay momentos en que un idioma es tan ineficiente que no puede cumplir con los requisitos de una aplicación. Entonces, el idioma tendría que ser cambiado. Pero, es más que el lenguaje en muchos sentidos.
Una vez tuve un proyecto que se suponía que debía hacerse en Director. Pero, el tamaño de compilación de la aplicación era demasiado grande para las máquinas de destino en el mercado. Entonces, cambié a otra pila, que hizo el mismo trabajo (incluso mejor en algún sentido) y se ejecutó en la memoria requerida. Pero, incluso el segundo producto (que era un entorno completo más allá del lenguaje) no se ejecutó lo suficientemente rápido como para rastrear el mouse. Entonces, creé otro idioma dentro del segundo producto (un intérprete de código de bytes) que podría rastrear el mouse. Al final, el producto se entregó en todo el país y funcionó bien.
Las personas que dicen que deberíamos abandonar node.js a favor de Go, podrían decir que la pereza impide que los programadores hagan dos lenguajes, uno para el cliente y el otro para el servidor. Pero, esto es una arrogancia tonta. Puede ser bueno aprender Go. Pero, es una mejor idea permitir que los programadores trabajen sus muchos procesos en un idioma. Tenga en cuenta que Go es más un lenguaje compilado y JavaScript es un lenguaje interpretado. Go todavía tiene que enredarse con el rendimiento sobre C, y sería impresionante si pudiera llegar allí. Pero, se supone que node.js es una puerta de entrada a un lenguaje compilado, por ejemplo, C ++, que aún puede proporcionar la eficiencia necesaria. Aparte de eso, todavía pienso en cuál podría ser el próximo jugador.
Creo que hay esperanzas de que para la web y muchos procesos en muchas máquinas (por ejemplo, IoT) se pueda programar en un idioma, que sea eficiente, que se pueda compilar o interpretar, y que sea extremadamente fácil empacar. Por lo tanto, puede ayudar que haya una transición sin problemas del estado actual de las cosas con los idiomas, que han sido parte de la evolución, a nuevas formas de expresar programas dirigidos a entornos de componentes múltiples y que el trabajo será más fácil. Cuantos más programadores se puedan llevar en la evolución, mejor.
Docker es una muy buena disciplina de empaque. Está escrito en JavaScript y Go. De hecho, las imágenes que admite pueden ser más grandes de lo que uno podría querer transmitir para una gran cantidad de computación futura. Pero este es un buen comienzo. Y tiene sentido que desee entregar un entorno completo desde su espacio de trabajo hasta su producción. Esto resuelve muchos problemas a la hora de instalar aplicaciones.
Algunas de las mejoras que vienen con cosas como Docker y node.js han resuelto problemas con producciones, uso de equipos, instalación, pruebas, etc. Uno no quiere crear nuevos lenguajes y entornos que reviertan la situación, o que resuelvan problemas.
Por lo tanto, parece que los idiomas por sí mismos no crean ni rompen un proyecto, siempre y cuando calculen el espectro de los requisitos del proyecto (por ejemplo, el idioma no admite números reales de ninguna manera, pero su proyecto es un cálculo numérico). La mayor parte tiene que ver con la entrega, los objetivos de hardware y los recursos. Algunos idiomas existen solo en sus entornos de entrega, lo que podría funcionar o no en términos de tener que verificar y volver a verificar la consonancia con las instancias de instalación. Otros idiomas representan sus instancias de instalación más que otros. A menudo, esto es mediante la creación de soporte básico para cada sistema operativo posible. Pero, algunos tienen marcos básicos que se portan más fácilmente, y no sacrifican la eficiencia para construir el marco.
Entonces, ahora estoy pensando que PayPal se ha mudado de Java a node.js. Entonces, han creado una nueva pila. Y, su elección les ha ayudado a cambiar su proceso de negocio para mejor. Pero, pienso en esto más como una evolución que como un abandono.