¿Cómo se empieza a aprender programación backend?

Interesante pregunta. Mencionó específicamente el desarrollo de back-end, por lo que la respuesta es no, no debe comenzar con HTML y CSS. Dos razones para esto:

  • HTML y CSS se utilizan principalmente en el desarrollo front-end, no en el desarrollo back-end. Javascript se puede usar en ambos extremos, pero en el lado de back-end, tiene muchas otras opciones. Por lo tanto, saber Javascript no es una necesidad absoluta.
  • HTML y CSS se pueden aprender muy rápidamente, y con cosas como Bootstrap, incluso los ingenieros de back-end pueden aprender y crear una gran interfaz de usuario muy rápidamente.

Ahora, si decides aprender esto antes de un lenguaje de fondo, entonces eso también está bien.

De todos modos, dado que está interesado en el desarrollo de back-end, le proporcionaré algunos hechos y pensamientos que elegí, que deberían ayudarlo con su decisión y ayudarlo a comenzar.

Tiene muchas opciones en términos de lenguaje: PHP, Python, Ruby, Javascript, Java, Scala, Go, Erlang y mucho más. He hablado sobre esto antes, y lo diré nuevamente: no te preocupes demasiado por el idioma. Elegir un idioma es realmente fácil, de hecho, la mayoría de los idiomas se pueden aprender en un mes o dos. Si tienes experiencia previa, puedes aprender los conceptos básicos de un idioma en una semana si trabajas duro.

También debe considerar los marcos web al tomar su decisión. Cada idioma tiene diferentes marcos, cada uno con sus propias fortalezas y debilidades. Entonces, solo elija un idioma y aprenda los conceptos básicos, y elija rápidamente un marco y comience a aprender eso. Como dije, hay muchas opciones:

Pitón

Soy parcial, pero Python es fantástico y es muy fácil comenzar. Sintaxis limpia, y literalmente tiene biblioteca para casi todo. Algunas personas se preocuparán por el rendimiento, la velocidad y la escala, pero, sinceramente, no debe preocuparse por estas cosas en este momento. De hecho, hay algunos sitios web y aplicaciones potentes con Python, por lo que ciertamente puede hacer que funcione si su aplicación crece enormemente. Por ejemplo: Youtube, Instagram, Pinterest, Disqus y muchos más.

Los frameworks web de Python más conocidos son Django, Flask, Tornado, Bottle y algunos otros. Django será la mejor opción el 90% del tiempo. Flask y Bottle son posiblemente más fáciles de comenzar, pero Django generalmente será una mejor opción a largo plazo. Una vez que superas el obstáculo inicial, Django es extremadamente gratificante. Sin embargo, si desea crear una aplicación web asincrónica, entonces vaya con Tornado.

Rubí

Otro gran lenguaje. El soporte de la biblioteca no está cerca de Python, pero en general, también es una buena opción. En términos de marco, prácticamente solo tienes una opción: Rails. En resumen, Rails es un marco web fantástico. Es particularmente bueno para construir e implementar rápidamente MVP. También hay muchas bibliotecas / gemas Rails útiles por ahí. Muy buena elección.

PHP

PHP tiene mucho odio hoy en día, pero puede ser una buena opción. Tiene una curva de aprendizaje muy baja, por lo que puede comenzar a construir cosas rápidamente. En términos de marcos, hay muchas opciones: 13 marcos PHP para ayudar a construir aplicaciones ágiles

Javascript

Javascript solía estar limitado solo en nuestros navegadores, pero ahora, está obteniendo una gran tracción en nuestros servidores con el advenimiento de Node. Es el idioma más utilizado en el mundo y, personalmente, estoy de acuerdo con él. Lo uso en mis clientes, pero no me gusta en mis servidores. El nodo en sí no es un marco, es simplemente un entorno. Sin embargo, en términos de marcos, nuevamente tiene opciones: 10 Mejores marcos de Node.js para desarrolladores

Node.js es muy popular en este momento, y tal vez por una buena razón. Sin embargo, antes de decidirse por esto, intente comprender cuáles son sus puntos fuertes y vea si necesita esos puntos fuertes en su aplicación. El nodo está controlado por eventos, tiene E / S sin bloqueo y es asíncrono. Esto lo hace extremadamente poderoso para construir aplicaciones en tiempo real.

Otros lenguajes, como Java, son bastante difíciles de comenzar. Sin embargo, son muy estables y, por lo tanto, extremadamente populares entre las empresas. No sugeriría un principiante para comenzar.

Conclusión

Quería darle una idea de las muchas opciones que tiene a su disposición para el desarrollo de back-end. Con suerte, con toda esta información, podrá elegir un idioma (y un marco) que se adapte a sus necesidades y crear algo.

Recomendación personal:

  • Si desea crear una aplicación en tiempo real, con muchas solicitudes asíncronas, vaya con Node. Sin embargo, Tornado también puede funcionar.
  • Si desea crear aplicaciones CRUD, por ejemplo: la mayoría de las aplicaciones disponibles, vaya con Django / Rails.

Buena suerte.

Bueno, en primer lugar, considere el tamaño de la cosa que desea aprender. Para que quede claro en las imágenes, esto sería un front-end:

Y este sería el back-end:

¡Y lo que se aplica a los elefantes también se aplica a la programación! Un front-end es generalmente una pequeña parte de un sistema mucho más grande y está destinado a comunicarse con otras cosas. El back-end está lleno de varios procesos y la mayoría de ellos se ejecutan continuamente en segundo plano.

Como resultado, generalmente tendría un sistema simple para desarrollar front-end (HTML / CSS / JavaScript para desarrollo web) mientras tiene docenas de opciones diferentes para usar con el back-end, con PHP, Python, C #, Java y C siendo las opciones más populares. Pero ASP clásico, Visual Basic, ColdFusion, Delphi y muchos otros idiomas también se pueden utilizar para el back-end. Y si profundiza en los procesos de back-end, es probable que termine con SQL o incluso sistemas mainframe si el back-end es parte de una empresa internacional. En esos casos, también podría estar tratando con Fortran, Cobol o cualquiera de los muchos otros idiomas populares. Y aún no he mencionado cosas como Ruby, GoLang y Julia.

Por lo tanto, aprender las cosas del front-end es razonablemente fácil en comparación con todas las diversas opciones que tiene para el back-end. ¡No puedes aprenderlo todo antes de cumplir 65 años! Solo tiene que investigar los distintos idiomas disponibles y elegir los que le resulten más cómodos.

Si aún no tiene experiencia, le aconsejaría comenzar a aprender el Estándar C de este libro: El lenguaje de programación C (8601410794231). Como el Estándar C no usa una interfaz GUI, te haría concentrarte más en la programación en sí misma, que es básicamente el back-end. Es un buen comienzo antes de comenzar a explorar otros idiomas.

La cuestión es que, con el desarrollo front-end, generalmente tendrá que considerar diseños y colores para la parte visual y usar eventos para responder a la interacción del usuario. Con el desarrollo de back-end, estará más enfocado en estructuras de datos u objetos (registros o clases), almacenamiento y recuperación de datos, reglas comerciales, comunicaciones entre procesos y mucho más.

Como estoy tratando de decirte, el final de la programación es como el culo de un elefante. ¡Es enorme!

La mejor manera de aprender es hacerlo.

Normalmente sucede que comienzas a aprender algo y luego lo dejas en el medio porque se vuelve aburrido.

Es por eso que digo iniciar un proyecto personal como un sitio web personal que puede alojar u otra cosa que lo motive a completarlo.

En cuanto a la pregunta, necesitará aprender un poco de front-end: HTML, CSS para el diseño de su sitio web. Necesita una interfaz de usuario. Una vez que lo hagas bien, puedes pasar al backend.

Para respaldado, puede elegir cualquier idioma como Python, Ruby o Node.js (js). La decisión depende completamente de ti. Considere los marcos de búsqueda de Google para cada idioma disponible, como Django para Python. Exprese para node.js y rails para ruby.

Compárelos y tome una decisión basada en su gusto y criterio. Por cierto, cualquier marco es un buen punto de partida.

¡Buena suerte con eso!

Comience con el desarrollo front-end. De lo contrario, el back-end es inútil.

Por ejemplo, creó un código de fondo increíble con funciones interesantes, pero no puede mostrar esas funciones en un sitio web; simplemente inútil

Después del front-end, puede pasar a Node.js: JavaScript para el back-end.

O muévase a PHP, Ruby on Rails, Python o cualquier otro lenguaje. Ve por ejemplo. Es rápido y está diseñado para servicios web.

Espero que haya ayudado
Daniel

(¿Necesita un sitio web? Contácteme en thedcdesigns.com)

Cuando comiences, probablemente querrás hacer un desarrollo web completo. Debe comprender los conceptos básicos del desarrollo web front-end tanto para cooperar como para finalizar un sitio web cuando no está trabajando con otra persona.

En otras palabras, recomendaría aprender los conceptos básicos de HTML, CSS y Javascript y construir algunos sitios web simples y estáticos (es decir, sitios web que no tienen un back-end). No es necesario ser un gurú del diseño, pero una comprensión básica de la interfaz es indispensable. Esto realmente no debería tomar mucho tiempo, desde una semana (si estudias a tiempo completo) hasta un par de semanas.

Después de eso, puede aprender los conceptos básicos de un lenguaje de backend típico como Python o Ruby y comenzar desde allí. Aún necesitará el conocimiento de frontend que adquirió, ya que seguirá representando plantillas que contienen HTML, CSS y Javascript. La “única” diferencia es que ahora, las páginas ya no serán estáticas, sino que serán representadas por el backend.

La mejor manera absoluta de aprender es hacerlo. Obtiene mucho más de unas pocas semanas de proyectos reales que meses de tutoriales en casa. Si puede tomar un trabajo menos que excelente primero, hágalo y use el conocimiento para obtener uno bueno.

Si tuviera que elegir un idioma, elegiría Java, debido a su amplia adopción. Otras buenas opciones serían C #, node.js o Ruby (específicamente Ruby on Rails). Hay otras opciones, pero son relativamente raras (Scala, Go y cada vez más Python) o, en mi humilde opinión, solo están mal diseñados (* tos * PHP). Aprenda todo lo que pueda sobre bases de datos relacionales, REST, pruebas unitarias y patrones de diseño.

Personalmente, solo aprendería JavaScript, ya que puedes usarlo en todas partes.

Dependiendo de lo que desee hacer, el conocimiento básico de HTML + CSS probablemente sea útil. Por lo tanto, si desea hacer algo que muestre una página web, comience por hacer HTML estáticos y darle estilo con CSS. Luego, instale node.js y aprenda express.js y comience a crear un servidor simple que genere su HTML.

Si solo quieres hacer backends puros, quédate con node.js + express.js

Hay varios idiomas que puede usar como backend. Soy desarrollador de C #, puedo trabajar en aplicaciones de escritorio, aplicaciones web, aplicaciones de teléfono Nokia al mismo tiempo usando C #.

Por lo tanto, elija ese idioma que lo ayude a escribir código para cualquier plataforma y para cualquier dispositivo. Java, Python también está ahí fuera.

El front-end no es necesario, pero debe aprender los conceptos básicos porque cuando escriba el código del lado del servidor, el código del lado del servidor también interactuará con los controles del front-end, como tomar una entrada del cuadro de texto que está escrito en html, después de Al dar valores en el texto de entrada cuando el usuario presiona el botón Enviar, el evento de clic de botón se encontrará en el idioma del lado del servidor / back-end, o puede estar usando una llamada ajax, que será manejado por el idioma del lado del servidor, en resumen, de alguna manera es preferible aprender al menos html para el desarrollo de backend y es fácil como aprender solo algunas etiquetas como

  • para la creación de listas, para palabras en cursiva, etc.

    No tienen relación alguna. El conjunto de habilidades para el desarrollador front-end es completamente diferente al desarrollador backend (a menos que use angular / react / ember). Aprender HTML / CSS / JS lo ayudará a crear un sitio web frontal. El desarrollo del backend requeriría que comprendas:

    • modelado de bases de datos
    • gestión del servidor
    • almacenamiento en caché
    • sesiones / autenticación
    • seguridad
    • enrutamiento

    Mi sugerencia es elegir una y dominarla y luego hacer la otra.

    Vea la respuesta de Richard Kenneth Eng a ¿Qué debo aprender si quiero crear un sitio web?

    En serio, aprenda suficiente JavaScript para que pueda interactuar con jQuery, pero de lo contrario no pierda demasiado tiempo en este horrible idioma. Para el back-end, desea centrarse en uno o más de los siguientes idiomas:

    • Java
    • Pitón
    • Rubí
    • Ir
    • Scala
    • C #: centrado en gran medida en Windows

    Gracias por el A2A.

    Comience con un lenguaje bastante simple para que pueda entender los conceptos o mejor aún, comience a aprender el lenguaje de fondo que un amigo conoce mejor, para que pueda pedirle ayuda. Aquí hay una lista de lenguajes / frameworks comunes para la programación de backend: Ruby on Rails, Node.js, Python, PHP, etc.

    Intenta encontrar el recurso que más te convenga, desde leer libros hasta encontrar tutoriales en línea. Una vez que encuentre el idioma que desea, hay muchos hilos de Quora para encontrar el mejor recurso para aprender, como:

    • ¿Dónde puedo encontrar tutoriales de Flask además de los documentos de Flask?
    • ¿Cuáles son los mejores libros para aprender Ruby / Rails?
    • Como desarrollador web de rails, ¿debería aprender Node.js? Soy un gran defensor del futuro de las aplicaciones elegantes del lado del cliente. ¿Debo hacer el cambio de Rails a Node.js?

    Bader

    Concentre sus esfuerzos en un solo proyecto, pequeño proyecto.

    Le recomendaría que desarrolle una pequeña aplicación que haga uso de Internet, pero no de la Web.

    Una aplicación de correo electrónico, por ejemplo. Protocolo SMTP.

    Intente realizar este ejercicio con las pocas líneas de código posibles.

    No utilice bibliotecas o scripts existentes.

    Programación de fondo es el término que implica la programación de la aplicación que se ejecuta detrás de la interfaz de usuario real.

    Toda la lógica de negocios, el control de sesión y la gestión de datos es parte de la programación de back-end. Puede ser un desarrollador de back-end para cualquier idioma, por lo que puede aprender estos idiomas e implementarlos para fines de back-end donde los usuarios no tienen que interactuar directamente.

    En primer lugar, pasar por tutoriales o libros o algún curso en línea. Una vez que haya terminado con eso haciendo uno o pocos sitios web. Cuando seas bueno, intenta tomar algunos proyectos de código abierto. Recomiendo esto porque aquí lo máximo que aprenderás es de la experiencia y la experiencia es el mejor maestro.

    More Interesting

    Parece que DCE solo es bueno para CS / IT / SOFTWARE y, a veces, MECH también, ¿por qué es eso? ¿No hay trabajos en las sucursales principales, cuál es el paquete de pago más alto en el núcleo?

    ¿Es necesario un título universitario para convertirse en un ingeniero de software exitoso?

    ¿Cuáles son las especificaciones que debe buscar un programador al comprar una nueva computadora portátil?

    Corremos un software financiero en línea. ¿Cómo protegemos la aplicación para que ni nosotros / los creadores podamos ver los datos del cliente?

    ¿Cómo es la cultura corporativa de Microsoft a partir de 2014?

    ¿Debería llamarme desarrollador desde que lo comencé hace 1 año?

    ¿Qué lenguaje de programación con software debería aprender en 2017 para desarrollar aplicaciones para teléfonos inteligentes que casi no tienen experiencia en programación?

    ¿Cuál es la opinión de Edsger Dijkstra sobre Internet?

    ¿Qué preguntas deben hacer los fundadores no técnicos al entrevistar a los desarrolladores de contratos?

    Si encargué a una empresa de software que construyera un procesador de Word similar a Word 2003 de OpenOffice o LibreOffice, pero con funciones de diseño mucho mejores, ¿cuál es el presupuesto que necesitaría?

    Soy del departamento de CSE y me colocaron en una compañía llamada Gowyn Technology. El papel que se nos asigna es ingeniero de soporte técnico e ingeniero técnico de ventas. ¿Es bueno para mi carrera? ¿Puedo elegir este dominio?

    ¿Agile, en desarrollo de software, soporte o innovación de cortina?

    ¿Se utiliza el término API de forma ambigua y cómo?

    ¿Puede el software de reconocimiento de fotos identificar un estilo (p. Ej., Urbano, preppy, chic, etc.)?

    ¿Es cierto que cada ingeniero de software gana más de un lakh en India?