¿Qué debe aprender primero, algoritmos y DS o un lenguaje de programación?

Te sugiero que primero decidas en qué estás interesado.

¿Te gusta el desarrollo front-end? Esto requiere buenas habilidades en HTML, CSS y Javscript principalmente. Hay muchos marcos de desarrollo que puede usar más adelante cuando se vuelva competente.

¿Te gusta el desarrollo de back-end? Esto significa que codificará principalmente la lógica de la aplicación. Por ejemplo, si está utilizando ASP.NET MVC como plataforma, escribirá principalmente código C # que se ejecuta en el lado del servidor. Si está trabajando con Node.js, escribirá el código JS que implementa la lógica en el lado del servidor.

¿Quieres ser un desarrollador full-stack? Esta es una combinación de los dos caminos anteriores. Se ocupará del front-end y el back-end (incluida la base de datos).

Según lo que le guste, querrá centrarse en qué aprender y en qué tipo de proyectos desea trabajar. Si le gusta el desarrollo de backend, por ejemplo, debe tener una buena comprensión de su lenguaje preferido y el marco de desarrollo. La mejor manera de hacer esto es elegir un proyecto después de haber aprendido suficientes conceptos básicos y trabajar desde allí.

Recomendaría construir un proyecto en el que codifique todos sus aspectos (es decir, UI o front-end, backend, base de datos). De esta manera, sabrá automáticamente en qué camino está más interesado y se sumergirá profundamente en eso.

Es principalmente después de esta etapa que podrá comprender dónde encajan las estructuras de datos y los algoritmos. Aprenda ellos DSA. Si no está en un programa CS, tome cursos MOOC (de Coursera, por ejemplo). Implemente cada uno que aprenda. No solo eso, aprenda sobre dónde cada DS y Algo que aprende es más adecuado para ser utilizado.

Después de haber creado algunos proyectos, definitivamente necesitará saber cómo escribir un buen código. Necesitará más que if-else y declaraciones de cambio. No importa qué camino elija, aprenda sobre patrones de diseño y paradigmas de desarrollo que le permiten escribir código limpio y fácil de mantener.

En este momento, debería ser lo suficientemente bueno como para distinguirse como un desarrollador de software y, por lo tanto, un solucionador de problemas.

Buena suerte.

Necesitas aprender ambos. Y en realidad deberías aprender más. Mucho más.

En resumen, necesitas aprender programación . Y la programación es difícil (probablemente tan difícil como tocar el violonchelo, hacer matemáticas o química, escultura de wook). Lea Teach Yourself Programming in Diez años para obtener una visión útil. Luego lea la respuesta de Basile Starynkevitch a Si quiero codificar para vivir, ¿cuáles son los idiomas que debo aprender y las cosas que debo hacer?

Desea convertirse en un desarrollador o ingeniero de software increíble. Intenta primero convertirte en uno bueno . Tal vez no pueda (y yo tampoco) ser un desarrollador de software increíble o genial . Prepárate para esa triste posibilidad. Lea la respuesta de Basile Starynkevitch a ¿Cómo puedo ser un gran programador y realmente contribuir y agregar algo nuevo al campo?

Tienes que comenzar con los fundamentos de la programación y el DS, y finalmente los algoritmos.

Después de eso, elija cualquier lenguaje C, Java, C ++ o los últimos lenguajes y solicite construir / crear utilizando su aprendizaje

Puede aprender el lenguaje de programación que no incluye el algoritmo onley, pero cuando aprenda el algoritmo, debe practicarlo con un lenguaje de programación