¿Debería un aspirante a desarrollador de software centrarse solo en el lenguaje de programación?

No, un programador de software debe conocer los siguientes conceptos sobre varias formas de resolver cualquier problema.

Vea la imagen de arriba, ¿por qué han hecho tantos métodos diferentes para hacer lo mismo? Porque todos ellos son eficientes en sus propias situaciones.

Considere cualquier problema en la programación que pueden resolverse utilizando cualquiera de los métodos a continuación. Elija el que sea muy eficiente para su situación.

  1. Fuerza bruta (enfoque directo de resolución. La eficiencia no se considera, el trabajo debe hacerse) Ejemplo (Programa para cambiar a enteros)
  2. Método codicioso (Encuentre el número de soluciones para un problema, elija la que sea la más eficiente) Ejemplo (Encontrar HCF y LCM usando varias fórmulas como método de escuela secundaria, método de división, método de subtracción, etc., eligiendo la que tenga menos espacio y un tiempo de ejecución más rápido )
  3. Divide y vencerás (Divide el problema en la mitad y encuentra la solución para la mitad, luego implementa lo mismo para resolver la mitad restante) Exampe (¿Recuerdas la búsqueda binaria? Coincide perfectamente para este método)
  4. Disminuya y conquiste (Disminuya el tamaño del problema, es decir, considere una instancia repetida en el gran problema general. Encuentre la solución para la parte más pequeña y luego impleméntelo en el problema general)
  5. Programación dinámica (no sé para ser honesto)
  6. Programación recursiva (escritura de una función o código que se puede usar repetidamente para resolver el programa general) Ejemplo (factorial de búsqueda de un número)
  7. Algoritmos ramificados y enlazados (no sé para ser honesto)

Hay varios amigos más. Solo sé cinco en lo anterior.

Si conoce los diversos métodos para resolver un problema en la industria. Te convertirás en un empleado buscado en toda la industria. No se preocupe por los lenguajes de programación, son solo un medio para comunicarse con la máquina. es decir, tendrá que pasar un tiempo para aprender la sintaxis y está bien.

Aprende nuevos conceptos en lugar de nuevos idiomas.

Buena suerte aprendiendo la esencia de la programación.

No, nunca … centrarse solo en la programación puede convertirte en un prodigio de la programación, pero últimamente puede convertirte en un novato completo en otros campos, relaciones de hardware, redes y otros factores que pueden requerir conocimientos básicos en otros sistemas informáticos … un aspirante a desarrollador de software debe centrarse en varios otros campos de la ingeniería y tecnología informática y no solo en el lenguaje de programación. BUENA SUERTE ^ _ ^

More Interesting

¿Es válida la compresión si los datos después de la compresión no son útiles? Podemos recuperar los datos originales por descompresión.

¿Qué tan común es para un diseñador de interacción convertirse en desarrollador web o ingeniero de software?

¿Cuáles son algunas de las dificultades que un candidato experimentado (10-15) debe tener en cuenta en una entrevista de diseño de sistemas de software?

¿Cuáles son algunos recursos excelentes para aquellos interesados ​​en crear software paralelo?

¿Cuál es su mejor sugerencia para un chico de 24 años sin conocimientos de software y que ha hecho su maestría y quiere ser ingeniero de software?

¿Por qué los estudiantes de electrónica y comunicación van a trabajos de software?

¿Cuál es la mejor opción para una aplicación concurrente: Scala + Akka o Erlang?

¿Cuánto tiempo y recursos se necesitan para desarrollar una aplicación promedio de Apple Watch?

Cómo comenzar a desarrollar aplicaciones y programar software

¿Hay algún sitio web donde pueda obtener entrevistas de software reales con empresas tecnológicas mediante la resolución de problemas de codificación?

¿Es cierto que los buenos programadores no depuran?

Cómo arreglar una PC atascada en el menú de arranque

Cómo desarrollar aplicaciones webgl con Visual Studio

¿Por qué los estudiantes de informática se llaman ingenieros?

Mi aplicación es una aplicación basada en Windows, en la que proporcionamos una interfaz que contiene todo el software portátil y el usuario puede usar este software sin instalarlo. ¿Cómo puedo implementar esto en Internet?