Soy un programador de PHP, y hasta ahora no he necesitado aprender algoritmos ...
Ahora estoy empezando a aprender Python (un lenguaje de programación real), porque necesito usar matplotlib. ¿Tiene sentido comenzar leyendo un libro de algoritmos de Python y luego aprender matplotlib y numpy o debería saltar a matplotlib y numpy?
Atentamente,
learning
python
algorithms
André
fuente
fuente
Respuestas:
Absolutamente. Sin conocer los algoritmos, ¿de qué otra manera vas a entender cómo un programa hace lo que hace?
Es esencial comprender el desarrollo de algoritmos para que pueda programar de manera más eficiente y escribir mejores programas. Al comenzar, al menos debe conocer los conceptos básicos de conceptos como el flujo de control (tal vez a través del autómata de estado, pero eso no siempre es necesario) y la notación Big O y cómo puede afectar el rendimiento.
fuente
La respuesta es ambas, si y no. No necesita conocer los detalles de cómo funcionan los diferentes algoritmos o la teoría detrás de ellos, ese es el trabajo de los informáticos, pero sí necesita conocer los conceptos básicos, como qué algoritmos están disponibles para resolver una tarea en particular y cuál es el mejor para una situación dada.
En su caso, simplemente puede comenzar a usar las bibliotecas que mencionó: fueron creadas por alguien solo para facilitar la vida de los demás. Ciertamente, no necesita conocer los algoritmos que se utilizaron para construirlo solo para usarlo.
fuente
Sí, para que comprenda cómo aplicar un enfoque sobre otro. Tampoco desea "reinventar la rueda", ya que hay muchos algoritmos existentes que ya funcionan. Si no sabe que están ahí fuera, perderá tiempo inventando una solución potencialmente más débil y ni siquiera comprenderá por qué es más débil.
fuente
Algoritmos para un programador es un martillo para un herrero. Claro que puede pasar sin usar y usar alternativas para hacer el trabajo, pero si desea hacerlo bien y hacerlo bien, es esencial.
Lo bueno de los algoritmos es que es independiente del lenguaje de programación, así que aprende la teoría una vez y podrás implementarla en cualquier lenguaje. Aquí hay un buen sitio web que he estado construyendo para comenzar a aprender: www.ambesty.com Usan Java pero viene con un código de muestra para aprender. Ofrecen algoritmos simples de ADT y clasificación a los más complejos, como los algoritmos de compresión de datos. Muy interesante lectura. Buena suerte
fuente
Dependiendo de su experiencia PHP, si está en la etapa en la que puede adaptar los conceptos básicos de programación de un lenguaje a otro, hágalo . Esta sería la forma más eficiente de pasar su tiempo.
Lea lo que necesita hacer para integrar Matplotlib , numpy y Python. Y luego, si te quedas atascado, sigue buceando más profundo. Recomiendo este pedido porque
fuente
Si está desarrollando aplicaciones comerciales (solo), aprenda los conceptos básicos solamente, como listas, colas, clasificación, búsqueda de cadenas, etc. para que aprenda la terminología, cómo se afecta y mide el rendimiento, etc. Un mejor uso de su tiempo sería enfocarse en nuevas tecnologías, patrones de OO, diseño efectivo de bases de datos, aplicación. metodologías de desarrollo, y tal!
fuente
Ok, sé que esto no es exactamente lo que querías decir, pero ya sabes (cómo hacerlo) algoritmos. Dependiendo de su definición, puede tomar cada programa como ejemplo para un algoritmo.
Entonces no temas. Es útil conocer los algoritmos básicos, es más útil conocer las estructuras de datos básicas, pero es aún mejor conocer los "patrones" de diseño. Después de todo, los algoritmos básicos y las estructuras de datos se implementarán en el marco de su elección, pero los patrones probablemente no ...
fuente
Aprenda Python primero y luego, si lo desea, puede estudiar algoritmos; Debido a que los algoritmos no son específicos de Python, son generales todos los idiomas.
fuente
Antes de comenzar en la Universidad, creía que era un programador bastante decente, y tenía un par de años de experiencia laboral. Pero después de haber aprendido sobre algoritmos y estructuras de datos en la Universidad, ¡siento que es un conocimiento que debes tener! Es esencial para todo lo que haces. Aunque es posible que no use ese conocimiento directamente todos los días, seguirá estando en la cima de su cabeza y lo convertirá en un mejor programador.
Aprendes mucho sobre el rendimiento, y aunque el rendimiento generalmente no es el número uno, conocer los algoritmos te impedirá hacer cosas estúpidas, con un rendimiento realmente malo. Aunque el rendimiento no es el número uno, no hay ninguna razón para no usar ese conocimiento para tomar las decisiones correctas.
fuente