Tienes un par de opciones aquí, voy a detallar incluso las que no hago personalmente. En la mayoría de estos casos, he superado personalmente las franjas en un entorno de producción al menos una vez. Elije tu arma:
Java: la elección obvia. Verificación y verificación escalables, multiproceso, verificación y verificación.
Scala: Java, pero con ropa diferente. Todavía se ejecuta en la misma VM, usa muchas de las mismas bibliotecas. Voy a juntar a Clojure y Groovy aquí también.
- ¿Qué significa back-end en el sector privado?
- ¿Cuáles son las diferencias entre un rol de PM de front-end y un rol de PM de back-end?
- ¿Puede un desarrollador back-end de Java (con más de 5 años de experiencia) cambiar de pista al desarrollo de pila MEAN?
- ¿Cuál es la mejor herramienta de desarrollo de back-end?
- ¿Cuáles deberían ser las habilidades deseadas de un desarrollador si estoy trabajando como desarrollador iOS con 2.5 años de experiencia? Backend / dominio móvil
Ir: está bien, Google escribió este idioma específicamente para hacer esto. Hace un gran trabajo al hacerlo. Sin embargo, ir a la adopción fuera de Google es un problema.
Python: Multithreading a través de pthreads la última vez que miré, así que verifica siempre que no hagas nada tonto. Escalable … eh. Depende de lo que intente hacer, una solución de estado en clúster, que no ocurre, pero siempre que sea un sistema sin estado, puede escalar horizontalmente para siempre.
PHP: escalable a través del intercambio de sesiones, pero no multihilo. Puede hacer algunas cosas elegantes ejecutando PHP desde una línea de comandos e intentando que comparta información con una instancia de PHP en ejecución. También puedes usar HipHop VM si estás dispuesto a usar Hack, que es lo que usa Facebook. Se escala bien, muuuucho de subprocesos múltiples.
Ruby: Esta respuesta se leerá como python. Múltiples subprocesos a través de la invocación, que está respaldado CREO por proceso de bifurcación La escalabilidad es … algo así. puede hacer soluciones de estado multiproceso, pero debe usar algún otro sistema para compartir sesiones de usuario en instancias o servidores. De nuevo, si necesita un estado de usuario, no es escalable, de lo contrario solo está copiando el sistema según sea necesario.
C #: excelente multiproceso, o eso me han dicho, escalabilidad, ni idea. Nunca he visto a nadie llevar C # a sus límites (abandoné la plataforma MS después de ASP), pero le daré el beneficio de la duda teniendo en cuenta que ayuda a retroceder a la nube azul y decir que probablemente hace todo el rango. Si no fuera una plataforma restringida, le daría una A-.
C ++: algunas personas ni siquiera se dan cuenta de que C ++ es un lenguaje de back-end, pero por supuesto que lo es. Rápido como el infierno, hará todo lo que intente hacer, si está dispuesto a codificarlo todo usted mismo. Una especie de construir su propio enfoque 747.
Perl: Multithreading, y al menos tan escalable, si no un poco más que ruby o python. Sin embargo, esto es una trampa, en serio no lo hagas, y amo a Perl, escribo Perl. Sigue siendo una trampa.
¿Qué me estoy perdiendo … oh cierto? Fineeee
Javascript: Node.js. Sin subprocesos múltiples, sin escalabilidad, ¡pero puede dejar que sus programadores frontales hagan algo que no tienen experiencia significativa en hacer! Gran parte del código ni siquiera es JavaScript real, solo similar a JavaScript. Hay legiones de personas que juran escribiendo código en Node.JS. También hay legiones de viejos programadores veteranos como yo que buscan a este tipo cuando lo haces:
Esa es la puñalada de ojos morados. Y eso resume la mayoría de los sentimientos de los programadores veteranos sobre Node.JS, en mi experiencia y opinión.
¡Su millaje puede variar y buena suerte!