¿Aprender las estructuras de datos y las matemáticas será una “reinvención de la rueda”?

Gran respuesta dada por Mohan S Nayaka
En particular, una línea del artículo sobre Leaky Abstraction a la que se refiere es absolutamente fantástica:
“… las abstracciones nos ahorran tiempo de trabajo, pero no nos ahorran tiempo de aprendizaje”.
Una cosa es usar bibliotecas, marcos y herramientas listas para usar, etc., pero comprenderlas es un juego totalmente diferente.
No tiene que aprender a codificar estructuras de datos, algoritmos y conceptos matemáticos, pero no puede elegir las herramientas adecuadas a menos que comprenda cómo funcionan. Y la elección correcta puede dar lugar a grandes diferencias en la eficiencia.
Solo para agregar un ejemplo más a la Lista de abstracciones con fugas:
Solía ​​haber una “colección” en Visual Basic (alrededor del año 2000) a la que se podían agregar y eliminar objetos sin ningún conocimiento de la implementación. ¡Ahora, un tipo inteligente descubrió que el primer elemento se recuperaba más rápido que el último elemento! Un poco de pensamiento y dices: “¡Ajá! ¡Quizás estén usando una lista vinculada para la colección!” ¡Y tan pronto como aprendí esto, dejé de usar la “colección” incorporada y escribí mi propia clase de “Colección” basada en matrices, que fue más rápida para todos los elementos!

¡Gracias por el A2A y la mejor de las suertes!

Aprender y usar herramientas de alto nivel puede hacerlo más productivo antes, pero puede caer presa de las trampas de la Ley de las abstracciones permeables. ¡Tener cuidado!

Gracias por el A2A!

Gracias por A2A, sin embargo, creo que me pregunto lo mismo de los últimos meses: P. Sabes cuál es la diferencia entre una persona que hace el trabajo o la persona que investiga un poco. ¿Por qué las empresas tienen departamento de I + D? Esto se debe a que quieren inventar algo propio, pero para hacerlo, necesitan aprender los métodos y procedimientos existentes. Del mismo modo, al aprender las cosas existentes, seguramente podemos reinventar la rueda (solo para incluir su gusto: P), siempre que sea nuestro propio original, no duplicado, algo que sea más eficiente que los ya desarrollados. De lo contrario, su rueda no girará. Los ingenieros son muy famosos por hacer lo que llamamos “jugaad”, sin ofender, pero tienden a usar las cosas existentes y manipularlas según la situación. Aquí está el punto donde generalmente se equivocan. No se trata de ganar más dinero que las personas que ya han desarrollado varias cosas asombrosas, se trata de cuánta dedicación muestras estudiando su trabajo, cuánta investigación haces sobre eso y se te ocurre algo nuevo y mejor que su trabajo original. Estoy seguro, ¡estarán felices de ver que obtienes más créditos de los que obtuvieron en su tiempo!

More Interesting

¿Cuáles son algunos algoritmos interesantes que no tienen implementación conocida hasta la fecha?

¿Cuáles son las ventajas de los algoritmos SVM?

El emparejamiento PvP "perfectamente justo" daría como resultado una tasa de ganancia esperada del 50% para todos. Eso puede sentirse muy bajo (sesgo de confirmación, rayas malas). Además de PvP asincrónico, ¿hay alguna manera de aumentar el WR percibido de todos mientras se mantiene justo el MM?

¿Cómo diferenciar entre algoritmos de clasificación internos y externos en términos simples? ¿Cómo se lo explica a los principiantes?

¿Cómo se fragmentan los archivos en el hadoop en 64 MB o 128 MB? ¿Cuál es el algoritmo utilizado para fragmentar los archivos?

¿Cómo se ve el algoritmo del juego Plague?

¿Qué tan efectiva es la tecnología para resolver el problema de la pobreza?

¿Qué es un filtro de floración y para qué se utilizan?

¿Por qué es necesario un relleno de palabra no utilizado al comienzo del espacio de almacenamiento dinámico asignado?

¿Qué algoritmos básicos debe saber un programador promedio?

¿Qué algoritmo de búsqueda usa True caller?

¿Qué tan complejo debe ser un algoritmo criptográfico para estar sujeto a las regulaciones de exportación de criptografía?

¿Por qué deberíamos instanciar una matriz en una línea diferente?

¿Vale la pena tomar el curso en línea de comercio algorítmico en Quantinsti?

¿Cuáles son las mejores visualizaciones de algoritmos de aprendizaje automático?