¿Cuál es el mejor idioma para aprender para el desarrollo de backend?

Si, depende. Pero…

El nodo no es adecuado para back-end que contienen lógica compleja; Debido a su arquitectura de subproceso único, está diseñado para ser principalmente un proxy, que acepta solicitudes, realiza operaciones asíncronas, como llamadas a bases de datos o llamadas API, y devuelve respuestas.

Java no es adecuado para este tipo de trabajo proxy porque su diseño fuertemente tipado es una molestia cuando se escriben proxies flexibles, y su modelo de subprocesos hace que dicho trabajo sea más complicado de lo que debería ser.

.NET en realidad se encuentra en un punto óptimo donde puede realizar ambas tareas porque los lenguajes subyacentes admiten tipos dinámicos. Sin embargo, el vínculo con Microsoft a menudo es un bloqueador para las personas.

Python es un entorno altamente productivo para cargas de trabajo similares al nodo. Lo he visto desplegado en muchos lugares con mucho éxito, pero como lenguaje no es tan escalable (en base a código) o de rendimiento.

Go es ideal para servidores proxy de muy alta velocidad y tareas del sistema.

Scala y Akka se sientan en un lugar interesante para aquellos de nosotros que construimos sistemas distribuidos masivos utilizando patrones funcionales.

PHP es tecnología heredada que nadie debería usar voluntariamente.

Casi todos los sistemas grandes del mundo real usan una combinación de plataformas, cada una de ellas en el lugar que les corresponde. Mi compañía usa Java, Scala y Node estratégicamente. No hay “mejor”, y hacer esa pregunta es un juego para principiantes.

No hay ninguno. Todos los lenguajes se han creado para un propósito específico y muchos admiten otros propósitos además del desarrollo de backend.

En general, cuando trabajas en el desarrollo de backend, a menudo tendrás que lidiar con bases de datos y la base de datos detrás de tu proyecto limitará los idiomas que puedes usar. Los requisitos de la base de datos lo obligarán a elegir un idioma específico. Especialmente cuando necesita desarrollarse muy rápido mientras se conecta a una gran base de datos con muchas tablas y muchos registros.

El entorno .NET con Entity Framework en SQL Server tiene muchas ventajas. Desde .NET 4.0 puede usar LINQ con Entity Framework como si los datos ya estuvieran en la memoria. Le permite crear consultas dinámicamente sin saber nada sobre SQL. Y si utiliza la técnica de la manera adecuada, el rendimiento puede ser bastante alto. Stack Overflow, que está completamente escrito en .NET, demuestra lo bien que funciona.

PHP y Python son mucho más débiles en esto, ya que estos lenguajes de secuencias de comandos te obligan a ser más consciente de las partes SQL con bases de datos. Eso hace que sea más difícil trabajar con bases de datos más grandes, aunque WordPress está demostrando cuán poderoso puede ser PHP.

Java también puede ser una buena alternativa, pero nuevamente usar bases de datos se vuelve un poco desafiante. Pero Java tiene Hibernate, que resulta bueno para envolver bases de datos en clases lógicas. E Hibernate resultó ser tan poderoso que se creó una variante para .NET llamada NHibernate para brindar la misma funcionalidad a .NET.

Debido a que tanto Java como .NET tienen herramientas simples para mapear bases de datos relacionales a clases y objetos, esos dos entornos serían los mejores para fines de backend si necesita un desarrollo rápido. Esto funciona bien para proyectos con estructuras de datos grandes y complejas. También funciona bien para proyectos más pequeños.

De estos dos entornos, el entorno .NET es generalmente más fácil de usar para desarrolladores inexpertos mientras se desempeña tan bien como Java. El entorno .NET también se está volviendo más grande y más popular, y Microsoft tiene algunos grandes planes para el futuro.

Entonces, diría que C # con .NET sería lo mejor para el futuro, aunque todavía no es definitivo. Java también está muy activo y activo y ya se están desarrollando marcos similares a Hibernate para otros lenguajes. Es decir, si depende en gran medida de las bases de datos y puede permitirse limitar su elección de base de datos básicamente a SQL Server y algunos otros …

De lo contrario, no hay “mejor”. Y muchos desarrolladores tienden a combinar varios idiomas para obtener lo mejor de todo. No es raro que algunos proyectos sean una combinación entre varios idiomas, simplemente para usar las mejores características de cada idioma. Por ejemplo, puede estar trabajando en un backend PHP que usa módulos adicionales escritos en C ++ mientras se conecta a un servicio REST escrito en C # y usa recursos que son administrados por código Java en un dispositivo especial de servicio de archivos.

En otras palabras: no se concentre en un solo idioma.

Probablemente obtendrá muchas respuestas a esta pregunta donde la gente tratará de venderlo en su lenguaje de programación favorito. En mi experiencia, tiene sentido ir con lo que sabes. Cada lenguaje de programación tiene sus pros y sus contras. Para mí, soy muy fluido con PHP, así que tiendo a usar PHP como backends ya que puedo crear muy rápidamente. También he experimentado personalmente con Swift, Go y Python.

Mi consejo sería mirar los lenguajes de programación disponibles para la web y ver cuál tiene más sentido para usted y ofrece las características que necesita para su aplicación en particular.

Si necesita algunos puntos de partida, algunas buenas opciones son (sin ningún orden en particular): PHP, Go, Python, NodeJS, Ruby (en Rails), C # y Swift.

Como muchas respuestas en la vida, la respuesta es: depende.

¿Tiene experiencia o experiencia con JavaScript, entonces NodeJS puede ser el mejor lenguaje .

¿Necesita poner en marcha un proyecto rápidamente? Entonces PHP puede ser el mejor lenguaje .

Es la plataforma que desarrollará exclusivamente en Windows, entonces C # / ASP .NET puede ser el mejor lenguaje .

¿Desea una vida frustrante y miserable tratando de descubrir dónde las pestañas y los espacios afectan su lógica y estructura, entonces Python puede ser el mejor lenguaje .

More Interesting

Si ya tiene algo de experiencia en programación en desarrollo web y móvil frontend, ¿cómo se convierte en un desarrollador de back-end en 6 meses?

¿Necesito aprender el ajuste de la base de datos, el fragmentación y la configuración de la infraestructura para convertirme en un desarrollador de back-end?

¿Por qué tiene sentido separar el front-end del back-end?

¿Qué conocimiento debo tener para ser llamado desarrollador senior de back-end?

Al hacer una aplicación, ¿debe hacer que el front-end sea el primero o el back-end?

¿Cuál es la arquitectura de Grabhouse? ¿Qué tecnología usan en el frente y el back-end?

¿Se deben manejar las solicitudes HTTP fusionadas en el front-end o el back-end?

¿Es mejor comenzar con el código front-end o el código back-end al desarrollar un sitio web?

¿Qué idioma de backend usa AirBNB?

¿Cuál es el mejor backend de GraphQL para usar cuando quiero crear aplicaciones rápidamente para mi empresa?

¿Cómo colaboran el desarrollador front-end y los desarrolladores back-end?

Quiero contratar a dos desarrolladores web para mi inicio como cofundadores. Un desarrollador web front-end experimentado y un desarrollador web back-end experimentado. ¿Es una mala idea?

¿Hay un back-end recomendado de Vue.js?

¿Qué más debe tener en cuenta al crear un sitio web aparte del front-end, el back-end y las bases de datos?

Mi amigo dijo que las habilidades de front-end están cambiando demasiado rápido y pierden tiempo para aprender, él me sugiere que me concentre en el backend, ¿qué te parece?