¿Puedes ser bueno en la programación pero malo en los algoritmos?

La programación también es un término amplio. Algoritmo es Uno debe entender que los algoritmos son más genéricos, ya que se utilizan en diferentes temas de la informática

  1. Algoritmos de detección y evitación de punto muerto en el caso de sistemas operativos.
  2. Algoritmos de reemplazo de página en caso de paginación y segmentación.
  3. Algoritmos de Cyk en caso de informática teórica.
  4. Lógica de predicción de ramificación utilizada por el procesador Intel para detectar ramificaciones y bucles.

La lista continúa, pero estos son algunos de ellos. El uso general del algoritmo es resolver un problema utilizando la forma más eficiente. Es un enfoque paso a paso, para ser bueno en algoritmos necesita comprender una parte de las matemáticas discretas y algunas propiedades de números y matrices que se explotan en el caso de los algoritmos.

La programación es una herramienta que se utiliza para implementar estos algoritmos. La brecha de implementación puede ser superada por programadores más inteligentes que tienen un buen conocimiento de los lenguajes de programación, es decir, pueden usar construcciones y estructuras de datos incorporadas.

Con los próximos lenguajes de programación, estas brechas de implementación se reducen, por ejemplo, para implementar algoritmos de pila en C, tenemos que codificarlo desde cero, pero en C ++ simplemente podemos usar estructuras de datos incorporadas.

Entonces, según yo, uno puede ser bueno en Programación, pero al mismo tiempo existe la posibilidad de que no sea tan bueno como los algoritmos, ya que los algoritmos requieren más conocimiento, conocimiento e intuición.

Profesionalmente hablando, no lo creo. (A menos que con buena programación se refiera a escribir cosas de hello world o mantener algún código heredado).

El programador profesional trabaja día a día para resolver problemas que afectan a los usuarios del mundo real. Para resolverlos, los programadores deben pensar en formas sistemáticas, robustas y extensibles: Algoritmos.

Incluso en el término de un laico, desea escribir código para imprimir la secuencia de Fibonacci o verificar si un número es palíndromo o buscar una matriz; debe usar algoritmos lineales, recursivos o de división y conquista. Si puede codificar estos y otros problemas similares con bastante facilidad, no lo especificaré como malo en algoritmos.

Usted mencionó que olvidó “los rigores del diseño de algoritmos”. Realmente no entiendo lo que quiere decir con eso. Quizás si puede dar ejemplos específicos que le hagan pensar que es un buen programador pero malo en algoritmos, estaría en una mejor posición para aclarar sus dudas.

Sí, por supuesto, una persona podría ser buena en programación y no en algoritmos.

Pero, ¿qué sentido tiene si necesita que otra persona diseñe los algoritmos y le indique que lo escriba en algún lenguaje de programación?

PD: Esto podría tener sentido solo si eres bueno en metodologías de varios idiomas.