¿Qué factores se deben tener en cuenta al seleccionar un lenguaje de programación de fondo para crear un nuevo sitio web?

Casi todos los principales lenguajes de programación son utilizables para el back-end … JavaScript (Nodo), Java, C #, PHP, Python (web2py), C ++, Ruby, Perl, Scala, Go. (Sin embargo, evitaría JavaScript. Es realmente un lenguaje horrible).

Si estás familiarizado con alguno de esos idiomas, entonces quédate con él. No tiene sentido desperdiciar energía aprendiendo un nuevo idioma, a menos que tenga un objetivo específico que no pueda cumplirse con su idioma actual. Por ejemplo, si se requiere un rendimiento escalable en una situación altamente concurrente, sugeriría algo como Go o Erlang.

Si desea evitar JavaScript, entonces Go sería una excelente opción:

  • Es un lenguaje muy simple y minimalista que es extremadamente fácil de aprender. También es muy fácil de dominar.
  • Se compila a velocidades supersónicas que le dan al lenguaje una sensación “dinámica” definitiva. Su rendimiento de ejecución de código nativo es muy bueno.
  • Go está estáticamente tipado con algunas características muy poderosas como “goroutines” e interfaces y mapas y cortes.
  • Goroutines hacen que Go sea excelente para la programación concurrente.
  • Go también es excelente para crear aplicaciones web.
  • Go ha ido aumentando rápidamente en popularidad y, sin duda, irrumpirá en el nivel superior de idiomas en un futuro próximo. ¡El primer idioma en hacer esto en más de 20 años! (No incluyo Objective-C, que está decididamente centrado en Apple).
  • Está bien respaldado por Google, que usa Go para su vasta infraestructura de servidores internos. Go también es utilizado por muchas empresas de todo el mundo.

Si he pasado por alto otros factores, no puedo imaginar cuáles son.

El factor principal como lo dijeron todos los autores anteriores,

Familiaridad: vea el nivel de comodidad de su equipo. Si la mayoría de su equipo está apoyando un lenguaje o marco en particular, hágalo. O están tratando de aprender algo nuevo siempre que el tiempo no sea una limitación aquí o ya estén familiarizados con el idioma y puedan hacer su trabajo de manera eficiente.

Propósito: El propósito de su sitio web realmente decidirá con qué debe ir. Al igual que si solo quieres mostrar, HTML y CSS son mucho mejores. Sin embargo, si está planeando algo con la participación de la base de datos, entonces hay PHP, Javascripts, C #, etc.

Costo y servidores: si va con algo de código abierto como HTML, javascripts (angular / nodo / meteor) o Java, los precios del servidor para alojar su sitio web serán mucho más baratos en comparación con el servidor basado en Windows que se usará para C #, etc. .

Sitio web: si su equipo está sugiriendo algo, sin embargo, usted tiene el conocimiento suficiente y prevé que la tecnología tiene limitaciones, entonces puede optar por algo que pueda cumplir su propósito.

Traté de cubrir los puntos principales para considerar que también hay varios otros factores.

Si su objetivo es un desarrollo rápido, tome cualquier cosa con la que tenga más confianza.

PHP: dado que el rendimiento de PHP7 es realmente bueno y es simple de configurar y puede manejar cualquier cosa. También hay mucho código de muestra.

Nodo: es JS, por lo que 1 idioma para front y back end. Muy rápido para tareas de E / S. ¡Malo para cálculos pesados!

Python: ‘Fuera de la caja’ es mucho más lento que los dos anteriores, pero eso no importa a menos que esté ejecutando un sitio enorme. Y hay formas de optimizarlo enormemente. (Pypy)

Python es un poco la tendencia actual y, si no está seguro, definitivamente es una opción muy sólida. PHP es muy fácil de comenzar, pero los proyectos más grandes pueden ser difíciles de administrar. Nodo, en mi opinión, todavía no está realmente deshabilitado.

He dejado de lado a Ruby porque nunca lo he usado, así que no lo sé.

¿Honestamente? Familiaridad. Realmente no importa si haces tu backend en Java, Python, C ++ (buena suerte) o lo que quieras. Si pasa más tiempo buscando cómo hacer cosas que realmente hacerlo, es posible que desee reconsiderar su elección (a menos que sea un principiante).

Las diferencias entre ellos no son tan grandes hasta que alcanzas un tráfico grande (y estoy hablando de grande) o un caso de uso especial para tu servidor.

Sin embargo, lo que debe tener en cuenta es la disponibilidad de bibliotecas y recursos para lo que elija programar. Php, por ejemplo, ha existido durante mucho tiempo (tal vez demasiado) y, como tal, tiene excelentes bibliotecas y marcos .

Ahora, si eres un principiante total y estás buscando un idioma para comenzar, diría que Python con frasco (un marco)

Por último, por mucho que parezca genial, me mantendría alejado del nodo y de su ecosistema por ahora. Es necesario que sepa mucho para comenzar, y eso puede ser demasiado si solo está tratando de ejecutar un sitio web simple. Además, JavaScript es malo. (Idk sobre es6 tho)

Buena suerte y lea lo que otros tienen que decir sobre este asunto también.

!

¿Estás comenzando desde un marco? En caso afirmativo, ese tipo de decisión toma por usted, especialmente si necesita ampliar ese marco.

Bibliotecas y SDK: ¿Cuál es la naturaleza del sitio web? ¿Está haciendo algo especial? En caso afirmativo, ¿hay bibliotecas y SDK particulares que brinden funciones clave? ¿Qué idioma necesitas para usarlos?

Compatibilidad en tiempo de ejecución: ¿Cuál es el entorno de destino para el sitio web? ¿Cómo se configura?

Mantenimiento y administración: ¿Quién va a mantener el código? ¿Quién va a administrar el sitio? ¿Con qué están familiarizados? ¿Es esto para una empresa que tiene un lenguaje estándar?

  1. ¿Lo sabes?
  2. ¿Lo utilizan más de unos cientos de miles de personas?

Eso es todo.