¿Respuesta corta? ¡Si!
¿Más descriptivo? ¡Oh sí!
¿Razón? Si no es solo por el hecho de que es probable que tengas problemas masivos para encontrar trabajo, lo cual ya debería ser una razón suficiente … no puedes alejarte de Algo & DS en ningún tipo de programación, bueno, nada excepto cookie-cutter / copy-n-paste .
- ¿Cuánto cálculo se requiere para comprender algoritmos y redes de computadoras?
- Dado un volumen que consiste en un número de ubicaciones dentro de un espacio tridimensional definido, y a cada una de estas ubicaciones se le asigna algún número, ¿hay alguna métrica obvia que se pueda aplicar que mida la complejidad de la distribución de las mediciones?
- ¿Qué es el algoritmo k-Means y cómo funciona?
- Algoritmos: ¿Qué es el árbol utópico?
- ¿Dónde se usa el algoritmo de Dijkstra?
Esto se debe a que la programación (sin importar el dominio y / o lenguaje) ES de hecho algoritmos aplicados a las estructuras de datos. Cada vez, no hay excepciones.
Lo que probablemente veas es algún curso / libro sobre clasificación y números de Fibonacci. O listas enlazadas, árboles y gráficos. Y pensando: “¿Dónde usaría esto? ¿No están todos implementados y solo los voy a usar? ”. En la mayoría de los casos, estaría en lo cierto, o no sirven para nada, o ya están hechos para que no tenga que hacerlo.
Pero te perderías el punto. Esos solo se usan como muestras para que entiendas los principios detrás de ellos. A partir de esos principios, diseñará sus programas, no de las bibliotecas ya hechas. Incluso si usa algún tipo de colección, diseñará cómo establecer la información que recopila en grupos, cómo los dividirá entre colecciones separadas, cuál de las colecciones integradas utilizará como su base, etc. A continuación, me preguntarán cómo voy a calcular este resultado. ¿Necesito un tipo? ¿Acabo de llamar al método incorporado? ¿Qué hago con su resultado? ¿Necesito formatearlo de manera diferente?
Si no conoce los conceptos básicos detrás de las cosas más comunes, ¿cómo va a hacer sus propios programas específicos? ¿Copiando el código de otros? Entonces no eres un “programador”, ni siquiera un “front-end”. Entonces, ¿por qué una empresa debería contratarlo si una secretaria podría haber copiado el mismo código?