¿Cuál sería mejor aprender? ¿Desarrollo de software o desarrollo web?

Si bien todas las respuestas aquí que describen el Desarrollo Web y el Desarrollo de Software como una y la misma son correctas, creo que es justo decir que, en cierta medida, son diferentes dominios de conocimiento.

Es seguro asumir que cuando plantea las dos opciones de Desarrollo Web o Desarrollo de Software, en realidad quiere decir Desarrollo Web versus Desarrollo de Software Nativo.

En ese contexto, hay muchas diferencias. El desarrollo nativo, como el que le permite crear aplicaciones para Windows, Mac o sistemas operativos móviles como iOS, Android o Windows Phone, es muy poderoso.

El desarrollo web, por otro lado, tiene sus limitaciones, se está volviendo más poderoso cada día, pero es indudablemente limitante en este momento.

Permítanme decir esto de otra manera, nunca he conocido a un solo Desarrollador de Software [Nativo] que no haya aprendido Desarrollo Web primero. Es una manera fácil y excelente de aprender los conceptos básicos del desarrollo de software. Puede ver los resultados de su trabajo de inmediato y puede compartir el fruto de su trabajo de forma rápida y fácil.

Si después de haber aprendido eso, desea especializarse, puede optar por aprender otros lenguajes de programación más completos como C ++, Objective-C o Java que le darán el poder de construir prácticamente cualquier pieza de software que desee.

Por cierto. como una respuesta completamente sesgada, recomendaría Node.js si desea aprender Desarrollo web. Es un buen arranque rápido y es extremadamente potente. Dicho esto, Python / Django, Ruby / Rails o incluso, jadeo, PHP también son buenas opciones.

¿Es mejor aprender inglés americano, inglés británico o inglés australiano? Hay muchas diferencias entre estos idiomas, pero también tienen mucho en común.

Lo mismo ocurre con el desarrollo web y el desarrollo de software. La única diferencia entre ambos es la capa de presentación, pero ambos también tienen una capa empresarial y una capa de datos. Esas dos últimas capas son generalmente muy similares entre ambos estilos de desarrollo, a menos que el desarrollador esté haciendo un desastre.

El desarrollo web se trata solo de cómo presentar datos al usuario y cómo recibir comentarios del mismo usuario. En realidad, es la parte menos compleja para los desarrolladores, pero la parte más importante para los usuarios, ya que la usarán. Para este propósito, tendemos a tener desarrolladores especializados para trabajar en estas capas GUI. Para aplicaciones web, esos serían desarrolladores web. Para aplicaciones de escritorio, generalmente tendrá un especialista en GUI. ¡Pero el mayor desafío con el desarrollo web es que puede tener codificación dentro de la capa GUI! Javascript agregará código adicional que se ejecutaría en el cliente, por lo que técnicamente no formaría parte de la capa empresarial o de datos.

Pero aún así, JavaScript solo debe usarse para hacer que la presentación sea más dinámica y para comunicarse con la capa empresarial a través de un servicio web. Aquí es donde los desarrolladores web tienden a estropear las cosas porque ponen demasiada lógica en el JavaScript para optimizar el rendimiento, lo que podría generar problemas con la capa empresarial. (Especialmente para cálculos complejos).

En realidad, debe decidir qué capa le gustaría desarrollar. En la capa de datos, trabajará con bases de datos, almacenando y recuperando datos en una base de datos o en otros sistemas basados ​​en archivos. En la capa Business, trabajará con algoritmos y fórmulas para transformar los datos de entrada a valores adecuados y volver a la salida. Enviaría y recibiría datos de la capa de datos y obtendría entrada y enviaría salida a la capa de presentación. Y la capa de presentación es cualquier cosa que interactúa con los usuarios, que podría ser una aplicación web.

Los desarrolladores de software trabajan más con la capa empresarial, mientras que los desarrolladores web trabajan en la capa de presentación, con la web como especialización. ¿Qué prefieres?

¿Qué es mejor comer? ¿Frutas o plátanos? El desarrollo web es una especialización del desarrollo de software. Una especialización muy atractiva, donde puede ver los resultados de su trabajo desde el principio, donde encuentra un amplio espectro de trabajo desde el diseño web (= arte) en uno y para el desarrollo de backend (= solo codificación, sin elementos visuales) en el otro extremo, y todas las mezclas entre …

Recomiendo absolutamente el desarrollo web como punto de partida para el desarrollo de software.

ps ofrecemos una especialización en desarrollo web en nuestro programa de grado.

Deje de separar los dos: el desarrollo web es un subconjunto de la ingeniería de software, como una especialización. Y no hay nada de malo en tener especializaciones.
¿Utiliza buenas prácticas de ingeniería de software como el control de versiones, escribir especificaciones, refactorizar códigos, escribir pruebas unitarias cuando sea necesario, tener una fase de prueba formal con probadores adecuados, etc.? Si es así, felicidades, ya eres ingeniero de software. Si no, estas son las cosas que puede aplicar incluso en el desarrollo web y ser mucho más productivo / profesional como desarrollador

Gracias por A2A

El desarrollo web es desarrollo de software. La diferencia es solo cómo visualiza sus datos y cómo se transfieren a la interfaz de usuario. El resto es silencioso similar si no es lo mismo. Así que solo aprende programación y al final puedes hacer lo que quieras.

Solo tengo que reírme ante la sugerencia de que están separados

Un desarrollador web es siempre un desarrollador de software.

Ambos son totalmente diferentes. Necesitas aprender el que te fascina.

¿Es como cuál es mejor comer? un plátano o una manzana?
Todo depende de tu gusto y situación. Lo mismo vale para el desarrollo. 🙂