¿Está bien que me guste escribir back-end en JavaScript en lugar de Java o C # porque el nivel de abstracción es más bajo?

Estoy un poco confundido con la pregunta. ¿De quién es el nivel de abstracción más bajo? Javascript o Java / C #?

De cualquier manera, la respuesta es: está bien, siempre que pueda manejar “el nivel de abstracción” de manera efectiva.

Mire, he visto back-end (es decir, servidor HTTP) escrito en todo, desde C hasta SQL. ¡Espera, puedes configurar uno con Apache! En otras palabras, puede tener “back-end” en las configuraciones. Estoy seguro de que alguien está tratando de hacerlo en la Asamblea. Entonces definitivamente es factible.

Aquí está la cuestión: el nivel de abstracción solo afecta el aspecto del código. Por * definición *, el nivel de abstracción no le impide hacer algo ni permite nada nuevo. Simplemente se ajusta a cómo hacer (algunas) cosas.

Ahora, estos ajustes pueden hacer que sea más fácil hacer una cosa u otra. Por ejemplo, si su back-end trata con muchos JSON, bueno, Javascript es más conveniente, independientemente de cualquier otra cosa. Si su back-end trata con MSSQL, .NET es mejor, ya que Microsoft garantiza que todo funcione. Sin embargo, un programador competente en cierto nivel de estilo / lenguaje / abstracción puede escribir casi todo en prosa clara y hermosa estructura.

Como tal, si te gusta el estilo de hacer las cosas, bueno, úsalo. Buena suerte y diviertete.

No esta prohibido. En ese sentido, está totalmente bien.

Sin embargo, JavaScript es un lenguaje lamentablemente inadecuado para cualquier cosa grave. A los principiantes les gusta porque te permite hacer las cosas rápida y fácilmente. Además de esto, cualquiera que haga diseño / desarrollo web necesita conocer JavaScript hasta cierto punto, ya que es más o menos la única opción.

Luego, iniciativas como Node.js pusieron Javascript disponible en el back-end. A muchos programadores les encantó poder llevar su lenguaje “confiable y querido” al backend. Sin embargo, significa que ahora está utilizando este lenguaje lamentablemente inadecuado en un lugar donde hay muchas alternativas disponibles. Muchos principiantes hacen esto de todos modos porque es el idioma que conocen o porque les permite usar el mismo idioma tanto en la parte delantera como en la parte trasera. Esto a su vez se basa en la falsa idea de que la dificultad para aprender a programar radica en aprender el idioma.

De hecho, no creo que el nivel de abstracción sea significativamente diferente. En realidad, no estoy completamente seguro de lo que quieres decir con eso. Creo que se trata principalmente de apegarse a lo que sabes. Te animo a que le des una oportunidad seria a Java y / o C #, y veas si realmente prefieres JavaScript cuando tienes la opción.

Está bien hasta unos meses más tarde, cuando tiene que hacer un par de cambios menores y descubre que todo su código está estrechamente acoplado entre el cuarto y el cuarto, lo que conduce a un GRAN cambio en todas y cada una de las capas de su aplicación.

El acoplamiento apretado suele ser un mal diseño y, por lo tanto, debe evitarse tanto como sea posible. La abstracción es algo así como una cura para el acoplamiento apretado y te aconsejo que te ensucies las manos y comiences a profundizar en él.

Aclamaciones

La abstracción se puede abusar o usar en exceso en todos esos idiomas, pero estoy de acuerdo en que Node te permite ser más directo.

Está más que bien.

Solo asegúrate de diseñar correctamente. Te aconsejaría que uses mecanografiado.

Eso está perfectamente bien, si te refieres a usar Node.js.