¿Qué es más importante, aprender múltiples lenguajes de programación o practicar algoritmos?

Ambos son importantes si quieres ser un buen desarrollador de software.

Los algoritmos y las teorías relacionadas relacionadas con la informática son fundamentales que realmente debes conocer bien. Piénselo como cuando aprende a conducir un vehículo; primero aprende las técnicas de conducción relacionadas con los controles de velocidad y seguridad. Del mismo modo, el conocimiento relacionado con los algoritmos lo ayuda a comprender y comprender cuáles son las mejores formas de procesar una entrada en determinadas condiciones y restricciones utilizando las estructuras de datos correctas. Le ayuda a uno a comprender los bloques centrales que se utilizarían en muchas aplicaciones de software. Esto le ayudará a razonar por qué su código o una aplicación se comporta de la manera en que lo hace.

Conocer varios idiomas lo ayuda a elegir el mejor idioma para implementar un algoritmo particular, ya que no todos los idiomas son iguales. Diferentes lenguajes tienen diferentes facilidades que ayudan a resolver un caso de uso de manera más efectiva y eficiente. Por ejemplo, una lógica de transcodificación de video basada en flujo se implementaría principalmente en C con llamadas al código de ensamblaje. ¿Puedes hacer lo mismo con Java? Posiblemente si; pero entonces el rendimiento puede no ser lo que querías.

En la misma línea, si está implementando una aplicación web, entonces usaría Java o Python; pero definitivamente no C.

En realidad, el software tiene muchas partes móviles, cada una de las cuales tiene la responsabilidad de ejecutar una tarea en particular. Entonces es mejor escribir esta parte usando un algoritmo eficiente en un lenguaje que sea más adecuado para el entorno de ejecución y las restricciones dadas. Esto es específicamente cierto en el software actual basado en la nube, donde la funcionalidad se define e implementa en términos de micro servicios: pequeños componentes de software que se ejecutan de forma independiente pero luego se comunican utilizando un mecanismo común como una cola distribuida o memoria compartida. Este es un gran cambio desde los viejos tiempos donde todos los componentes de software se escribieron en un solo lenguaje de programación tanto como sea posible, con la única excepción de aquellos componentes que tuvieron que escribirse en otro idioma donde el lenguaje de programación original no podía funcionar. trabajo. Entonces habría un punto de integración entre estos componentes utilizando algún tipo de puente (recuerde JNI, COM, CORBA y lo que no).

Saber varios idiomas también ayuda a que su currículum se destaque entre los reclutadores y aumenta la posibilidad de que le ofrezcan una entrevista de trabajo.

Por lo tanto para resumir; Ambos aspectos son igualmente importantes. Lo que importa es el orden en que los abordas. Yo diría que primero hornee a fondo los fundamentos usando un idioma. Luego, a medida que resuelves más problemas del mundo real, explora diferentes idiomas.

Aprender varios idiomas definitivamente no es la decisión correcta. Primero, debe decidir con qué idioma comenzar. A continuación le doy algunos ejemplos sobre cómo puede elegir un lenguaje de programación para usted.

  • Si desea ser un programador del sistema o desea ingresar a Dev Ops, elija C / C ++ .

  • Si desea automatizar ampliamente sus tareas, puede ir con Python .

  • Si desea crear aplicaciones de escritorio, puede usar Java / C # .

  • Si quieres entrar en el desarrollo web, entonces PHP o Javascript es para ti.

Fuente de la imagen: Google

Después de elegir su lenguaje de programación, ahora viene la mayor parte. Practica tantos problemas como puedas resolver. Luego practique cómo puede implementar varias estructuras de datos (árboles, gráficos, pila, colas) utilizando su idioma.

Además, si desea optar por dos o más campos (por ejemplo, desarrollo web y creación de aplicaciones de escritorio), también puede buscar cómo se puede hacer esto. Si no se siente cómodo con él, puede aprender dos o tres idiomas según sus necesidades.

Espero que esto ayude 🙂

¡Buena suerte!

A2A.

Ninguno de ellos está bien.

No aprende lenguajes de programación, y practicar algoritmos no es una inversión de tiempo inteligente.

Aprende a codificar de forma independiente del lenguaje. Una vez que haces eso, todos los lenguajes de programación se convierten en sintaxis simple, semántica y demás. La ventaja es que la mayoría de los idiomas tienen implementaciones para los algoritmos más comunes, por lo que ni siquiera necesita saber mucho sobre ellos.

Puedo elegir cualquier lenguaje bien diseñado y comenzar a usarlo después de compilar Hello World. Hello World se usa simplemente para verificar si mi entorno está configurado correctamente.

Otra cosa es que las tecnologías se superponen mucho y se encontrará utilizando Markup con JS, PHP, C # y SQL en un proyecto.

Practicar el algoritmo es importante porque ayuda a alguien a mejorar sus habilidades de resolución de problemas, pensamiento crítico o puede desbloquear el misterio que la ciencia de la computación no pudo tocar hasta ahora, el domingo.

Si bien el lenguaje de programación es voluble, tal vez hoy un idioma esté en la cima después de unos años, se derrumba debido a la nueva tecnología.

Suponga que una situación como la que pasó de 5 a 10 años para aprender cada idioma en particular y el día que completó que nadie quiere usar ese idioma debido a algunos problemas en el idioma o existe un idioma mejor.

Ahora puedes decidir cuál es más importante.

Practicando algos. Porque lo que importa es el concepto. Una vez que conozca la lógica, puede codificarla en cualquier idioma adecuado.

Por lo tanto, incluso si conoce un solo idioma, asegúrese de conocerlo muy bien. La calidad de su aprendizaje va a importar, no la cantidad.

Encontré estos videos realmente increíbles. La mayoría de los algos importantes también se enseñan de manera excelente. ¡Buena suerte, amigo!

Aprenda solo uno o dos lenguajes de programación que sean populares con algoritmos o lo que le interese. Esto lo ayuda a encontrar gran cantidad de comunidad en línea y material para lo que está haciendo. Luego ensuciarse las manos con tantos algoritmos como sea posible.

Practicar algoritmos es más importante después de aprender un idioma en particular, ya que los algoritmos de escritura hacen que un programador sea perfecto en ese idioma en particular. Pero nunca se adhiera a un idioma, incluso después de estar lo suficientemente seguro de que conoce bien el idioma. Espero que mi respuesta dé una imagen clara.

Aprenda cualquier idioma (java recomendado) y concéntrese en el algoritmo

More Interesting

¿Cuál es el mejor algoritmo de detección de colisión de vehículos?

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

¿Cuáles son las posibles amenazas para un algoritmo RSA y cuáles son sus contramedidas?

Dadas las coordenadas cartesianas de una gran colección (finita) de puntos en 3 espacios, ¿qué combinación de algoritmos y aplicaciones proporcionan la mejor visualización en 3D de la configuración geométrica de estos puntos?

¿Cómo podrías escribir un programa que ingrese un número entero positivo N y genere el número de Fibonacci F2N?

¿Crees que la programación no es para mí?

¿Existe un algoritmo existente para la siguiente pregunta? Si no, ¿cuál es la respuesta?

Creamos un algoritmo de software único para medir / cuantificar las diferencias de las imágenes a escala nano-planetaria. ¿Cómo monetizamos esto?

¿Cuáles son algunos lenguajes de programación que me permiten visualizar algoritmos?

¿Qué tipo de algoritmos usa Android para mezclar tu música?

¿Te gusta la categoría de algoritmos de 'programación dinámica'?

¿HackerRank es un buen entrenamiento para el IOI?

¿Qué causa que la implementación viable de Quicksort sea muy lenta?

Preguntado por un no experto en tecnología, ¿qué tan impactante sería si una tecnología pudiera mitigar el ruido impulsivo en tiempo real usando un algoritmo no lineal simple que usa la mediana (en lugar de la media)? Por ejemplo, podría usarse para reemplazar filtros lineales analógicos en teléfonos móviles, esencialmente actuando como un filtro lineal a menos que detecte ruido impulsivo y actúe para condicionarlo.

Cómo verificar si un número es un primo retorcido o no usa bucle