¿Las estructuras de datos y los algoritmos son tan importantes para convertirse en un buen programador?

¿Un buen programador ? Un programador es aquel que usa varias tecnologías para realizar una tarea. ¿Dominar las estructuras de datos y los algoritmos le ayuda a resolver un problema? Seguro. ¿Todos los maestros de DSA son buenos programadores? Ciertamente no.

Debería pensar en DSA (Data Structures / Algorithms) como otro kit de herramientas dentro de su caja de herramientas . Si desea ver su caja como una caja de herramientas ordinaria, tiene diferentes secciones de su caja asignadas para diferentes cosas. Sus tuercas / tornillos / destornilladores (idiomas y sus bibliotecas), etc. En este ejemplo, el DSA probablemente se incluiría en sus manuales o sus ecuaciones físicas .

DSA proporciona mucho contexto matemático a las diversas herramientas familiares que usan los programadores: asignación de memoria, listas, pilas, colas, etc. Al igual que un constructor promedio no necesita saber sobre dinámicas complejas, un programador promedio no necesita saber sobre el comportamiento de pilas o listas desde una perspectiva matemática.

Sin embargo, comprender ese contexto le permitirá pensar sobre su problema desde una perspectiva diferente. ¿Conoces el argumento del pollo antes del huevo? ¿Qué viene primero: el plano de una casa o la casa? ¿Qué viene primero: los conceptos matemáticos necesarios para visualizar la casa, o el plano que explica todo eso? Si aprende a descomponer programas y problemas en varias estructuras matemáticas, no solo lo ayudará a resolver su problema más fácilmente, sino que su solución también persistirá en el tiempo y probablemente no necesite tanta mejora.

Aprender DSA se trata de convertirse en un “ingeniero” en lugar de ser simplemente un programador. Le enseña la “física” de la programación y le brinda conceptos matemáticos técnicos para garantizar que su solución no solo sea correcta, sino también eficiente y robusta.

Espero que esto ayude.

Sería útil, sí. La programación realmente se trata de estructuras de datos y algoritmos, si es de manera informal. Tener una comprensión más profunda de estas cosas te hace más capaz. Debo confesar, mi propio entendimiento no es tan bueno y me ha ido bien en mi carrera. Pero cuanto más sepas, mejor.

Vale la pena leer un libro o dos sobre el tema, pero no pasaría el tiempo tratando de memorizar cosas. La programación se trata de hacer, aprende mucho más tratando de construir nuevos proyectos que amplíen su capacidad que memorizar un libro de estructuras de datos.

No, no invierta tiempo en estudiar específicamente algoritmos o estructuras de datos. Estas son herramientas para hacer el trabajo, al igual que los idiomas, los marcos y las API. Si bien estos a veces pueden ayudarlo a conseguir un trabajo específico, en sí mismos, no lo convertirán en un mejor programador. Para pasar al siguiente nivel, tendrá que practicar la programación.

La programación se trata de crear programas: cosas que realizan tareas, proporcionan entretenimiento, etc. Debe ser capaz de comprender el problema u oportunidad, diseñar una solución, implementar esa solución, depurar y probar esa solución, y entregar a los usuarios Esas son las cosas que deberías practicar.

Puede ser que necesite almacenar datos y necesite encontrar una buena manera de hacerlo. Esa puede ser una razón para entender algo acerca de las estructuras de datos, pero no necesita saber todo, solo la adecuada para sus datos. Es posible que deba manipular esos datos de alguna manera, lo que puede ser una razón para comprender los algoritmos para hacerlo. Una vez más, solo necesita saber algo sobre un número limitado de algoritmos, los que le permiten hacer que el programa funcione.

Convertirse en un mejor programador es principalmente una cuestión de experiencia. Eso viene con tiempo y práctica. No hay un atajo que pueda tomar que de repente lo mejore. Si no sabe cuándo usar esas estructuras de datos o algoritmos, o si nunca encuentra una razón para usarlos, no valen mucho para usted. Esto se aplica independientemente del tipo de programación que realice.

Depende de para qué programes.

En general, haga lo que haga, al menos vale la pena conocerlos, tener una comprensión básica de la complejidad y los beneficios de una estructura de datos sobre la otra.

También vale la pena señalar que conocer algoritmos y estructuras de datos por sí solo nunca lo convertirá en un buen programador.

Las estructuras de datos y los algoritmos no solo son importantes, sino que también son esenciales junto con los servicios de sistemas operativos, incluida la multitarea.

No conocer esas materias hace que el programador sea un aficionado.

Las estructuras de datos y los algoritmos son más importantes que los lenguajes de programación, son lo más importante en la programación.