¿Debo comenzar a aprender estructuras de datos y algoritmos en lugar de nuevos lenguajes de programación?

Cuando quieres aprender algoritmos y estructuras de datos, lo dices en serio. Pero si su lenguaje es “poderoso” (tiene muchas características como C ++, C #, Java, Python, …) perderá mucho tiempo aprendiendo lenguaje, no algoritmos y estructuras de datos. Puede pensar en los árboles como elementos de sintaxis (y cualquier otra característica) y en el bosque como un concepto importante (cualquier algoritmo, estructura de datos, puede ser POO, lo que sea). Cuantas más características (árboles) tenga en su idioma, más complicada será la tarea de retroceder y comprender los conceptos (ver el bosque).

Pero si el lenguaje es realmente poderoso (tiene un conjunto pequeño de características bien probadas), el lenguaje en sí mismo pasa al segundo lugar. No hay tantos árboles para que puedas retroceder un par de pasos y … Bueno, creo que son suficientes analogías. =)

También muchos libros sobre algoritmos y estructuras de datos usan un pseudocódigo similar a Algol / Pascal y será fácil convertir ejemplos en estos idiomas. Y puede usar directamente ejemplos del libro “Algorithms and Data Structures” de Wirth. Edición Oberon (2004), PDF (1.2 MB).

Si, si y si!

Si ya conoce pocos lenguajes de programación que utilizan diferentes paradigmas, entonces aprender uno nuevo no lo beneficiará en absoluto. Todo lo que aprenderá es una nueva sintaxis. De todos modos, los lenguajes de programación son solo herramientas que utilizamos para expresar nuestra mente al código.

Por otro lado, aprender nuevas estructuras de datos y algoritmos mejorará sus habilidades para resolver problemas, lo cual es esencial si desea convertirse en un buen desarrollador / SE.

Incluso si conoce 100 lenguajes de programación diferentes sin un árbol de prefijos simple o un mapa hash (índice invertido), sería imposible hacer un motor de búsqueda más simple.

Mi profesor siempre dice:

Dale el mejor IDE posible a algún tonto y dale un bloc de notas a un buen desarrollador, entonces verás la diferencia entre los dos.

Gracias Suraj por A2A …

Sí, deberías aprender DS, porque casi todos los idiomas tienen DS.

Es lo mismo que si conoce el lenguaje C, la comprensión de otro idioma no es difícil igual que si conoce el DS en un idioma, no es difícil comprender el DS en otro idioma.

Además de que DS es muy importante, muchos conceptos se basan en DS en Linux. Me gusta Mensaje en cola. DS es un requisito básico para el desarrollo del kernel de Linux.

Una vez que tenga una idea básica de DS, puede comenzar a aprender un nuevo idioma. Te sugiero que aprendas DS porque es muy útil en lenguaje C y C ++.

Espero que haya despejado tu duda. Mantener codificación

Karan

Sí, es mejor aprender estructuras de datos y algoritmos y dominar al menos un idioma, que conocer muchos idiomas pero no usarlos bien. Las estructuras de datos y los algoritmos son muy importantes si desea convertirse en programador.

Si. Precisamente.

Una vez que haya aprendido un lenguaje de programación, puede aprender otros idiomas fácilmente. Lógica y sintaxis: debe ser claro.

Pero las estructuras de datos y los algoritmos son fundamentales para la programación de raíz profunda. Para ser un buen programador, ¡saber que la programación no es suficiente! Debe seleccionar el mejor algoritmo y la mejor estructura de datos según su dominio / aplicación. Eso solo es posible si conoce estructuras de datos y algoritmos en detalle.

Espero eso ayude. 🙂

Las estructuras de datos, los algoritmos y la apreciación de un lenguaje de programación van de la mano para un programador. Puede sentirse fascinado por un lenguaje de programación genial y sentir la necesidad instantánea de aprenderlo. (Cuando vi Scala, tuve la urgencia de dominarlo, pero no puede suceder a menos que esté programando en ese idioma a diario) Me sentiría satisfecho si conociera C ++ (para comprender los detalles minuciosos de un idioma), OOPS (Java o C # o PHP), Python (Scripting), JavaScript y Scala (programación funcional) y as mis habilidades de Estructura de datos y Algoritmo a diario.

La estructura de datos era un tema interesante y divertido cuando lo estudié. Hicimos el laboratorio en c ++. Sin embargo, al pensarlo ahora, no estoy seguro de si me está ayudando mucho actualmente, ya que estoy usando .Net c # y uso la cola de pila y las listas, pero realmente no me importa cómo se implementa dentro.

El aprendizaje de algoritmos es bueno, pero una vez más, la posibilidad de necesitar conocimientos avanzados es muy rara y depende de su campo de programación. Por ejemplo, si está haciendo un motor de búsqueda o procesamiento de imágenes, sí, por supuesto, será genial, pero en muchos otros campos solo necesita conocer algunos conceptos básicos. Para mí, olvidé la mayor parte de lo que aprendí en la Universidad sobre algoritmos, ya que en mi trabajo en desarrollo web en los últimos 12 años esto no era algo que necesitaba.

Aprendiendo otros idiomas? bueno, a menos que haya una razón, no veo por qué. Si ya conoce un idioma en el que es bueno, aprenda más sobre él, revise algunos marcos y paquetes relacionados con él y mejore su personalidad. Para mí, por lo general, me tomo el tiempo libre para aprender más sobre .Net framework, como el subproceso avanzado, por ejemplo, o cualquier tema que necesite en mi trabajo, también trato de verificar qué hay de nuevo y qué se está actualizando.

Su enfoque es correcto pero necesitaría practicar en algún lenguaje de programación. Primero, comprenda bien las estructuras de datos y los algoritmos. Luego, practique en el camino con un lenguaje de programación.

Aprenda bien 2 o 3 idiomas y asegúrese de comprender las estructuras de datos, los algoritmos y algunos detalles del sistema operativo para una buena medida (todos estos son bloques de construcción básicos). Después de eso, aprenda un par de idiomas fuera del enfoque de programación imperativo estándar. Solo obtenga algo de exposición, no necesita dominio allí a menos que esté buscando seguir una carrera específicamente en haskell, prolog o lo que sea. Luego, concéntrese en lo que sea relevante para el trabajo y en lo que captura su curiosidad intelectual.

Respuesta corta: sí.

Respuesta larga: DS, Algo y otros conceptos básicos de ciencias de la computación lo llevarán a trabajos bien remunerados, altas promociones y longevidad en su carrera. Ser bueno en una tecnología es atractivo, pero le proporcionará trabajos mal pagados y tendrá una vida corta, a menos que siga aprendiendo tecnologías. Sin embargo, DS-Algo necesitará algo de tecnología (lenguaje de programación) para implementar. Así que sé bueno en 1–2 idiomas.

Si. No se puede hacer mucho con un lenguaje de programación sin conocer los algoritmos.

La mejor opción para ello. Hay muchas oportunidades en la industria.

También puede aprender estructuras de datos y algoritmos en un nuevo idioma.