¿Cuánto tiempo necesitas para aprender un lenguaje de programación?

Algo a tener en cuenta es que, en un lenguaje lo suficientemente grande, generalmente no se convierte en un experto en todos los ámbitos. Es posible que tenga conocimientos generales, pero la mayoría de los idiomas principales (y sus bibliotecas / marcos esenciales) son demasiado grandes y crecen y cambian demasiado rápido para saberlo todo. En general, se hace muy bueno en lo que realmente hace (que podría ser un grupo de proyectos).

También dudo que la programación en un lenguaje sea algo que se pueda aprender de manera lineal de un principiante. Podría pasar mucho tiempo con un idioma y seguir siendo un intermediario, y alguien con más experiencia en general podría superarle en una fracción del tiempo debido a su conocimiento de la estructura, los idiomas relacionados y las estrategias de aprendizaje más rápidas.

Para mí es básicamente así:

  • 2-5 días para principiantes. En este punto, puedo hacer alrededor del 30-40% de lo que necesito (no muy bien o rápido, pero aún así) para un proyecto típico.
  • 3-6 meses a mediano. La mayor parte del lenguaje y el marco tienen sentido, pueden resolver prácticamente cualquier problema en un mes.
  • En un año, generalmente entiendo las funciones avanzadas con las que trabajé durante los meses anteriores en un nivel profundo, y también entiendo la estructura del lenguaje. En este punto, a menudo vuelvo y realizo mejoras masivas y rápidas o rehago rápidamente características y estructuras completas.

Añadiré a esto que he usado algunos idiomas durante mucho tiempo (un par> 10 años, algunos otros> 5 años). No he notado una diferencia muy significativa entre mi habilidad en 5 años o más y mi habilidad en 1-2. Todo se reduce a lo que usas. Más allá de un cierto punto, la capacidad general dentro de un lenguaje aumenta de manera decreciente.

Esto no solo depende de las capacidades individuales, sino más bien de los antecedentes educativos (matemática, ciencias precisas, lógica y, en la mayoría de los casos, el inglés es un requisito previo para entender lo que significa un programa informático de idiomas de alto nivel sin tener que hacer referencia a cada cadena). Si tomamos a una persona preparada con fuertes capacidades intelectuales, digamos ingeniero / científico o médico, puede tomar un día enseñar los conceptos básicos de C (similar para otros casos) y estimar un curso de 2 semanas para el autoaprendizaje posible nivel de principiante ( en este punto el alumno puede y debe reunir más por sí mismo). Si está interesado, como ejemplo, Empleos de Especialista en tecnología de la información (25B), obtendrá resultados humanos en 10 semanas, solo si busca efectividad y plazos cortos. Por otro lado, para alcanzar algunos resultados demostrables y rentables, debe pasar al menos 2-3 años en cursos universitarios convencionales. La programación no es una tipificación similar a un simio de algún tipo de letras / dígitos, sino que debe ser un punto detrás de estas acciones: hacer algo con información y dar resultados. Copiar y pegar de Helloworld o algunos cursos super-cortos de nivel de marca exxtra no le darán el hábito de mayor importancia: educar por sí mismo toda la vida. Si la mayoría de las personas geniales pasaron años de arduo trabajo para alcanzar ese nivel en la programación, ¿cómo puede alguien esperar ‘venir y conquistarlo’ en un par de días, incluso si se lo enseña el mismo genio? De ningún modo

Gracias por preguntar.

Bueno, no solo depende de las personas, como usted lo adivinó, sino que también depende del idioma y del paradigma (s) que usa.

Si está acostumbrado a lenguajes imperativos / de procedimiento como C, aprender Java puede ser difícil, porque también tiene que aprender conceptos de programación orientados a objetos. Me tomó un tiempo entender estos conceptos, y aún más asimilarlos lo suficiente, se volvieron naturales para mí …
Ahora, estoy explorando el paradigma de la programación funcional, que aporta sus propios conceptos y vocabulario, fuertemente basados ​​en las matemáticas, por lo que a veces es difícil de entender.
Pasar de C o Java a Haskell (que agrega teoría de tipos avanzada a la mezcla) también puede ser bastante difícil.

Si dominas Java, aprender C # puede ser fácil, ya que los lenguajes y conceptos están cerca. Idem para ir de Java a Groovy, Ceilán o Kotlin, que se presentan como “Javas mejores”, por lo que no rompen mucho con el conocimiento actual.

Java a JavaScript puede ser más complicado: la sintaxis parece similar, pero las ideas son bastante diferentes. El segundo tiene tipificación dinámica (no tipografía segura), herencia prototípica (ningún concepto de clase real), un concepto complejo de contexto (el infame esto ), etc.

Con paradigmas similares, aprender la sintaxis puede ser fácil, pero pasar de “Hello World” a una aplicación real puede ser más difícil …

“Un momento para aprender, una vida para dominar”.

Dominar un idioma con el conocimiento para ser un programador efectivo lleva años de práctica, pero es directamente proporcional al esfuerzo realizado.

Teniendo en cuenta que sabes cómo escribir un programa, puedes aprender cualquier nuevo lenguaje de programación en menos de un mes. Pero entender los matices requiere mucho tiempo.

Por otro lado, si es su primer lenguaje de programación, le tomará algo de tiempo entenderlo, ya que no tendrá ningún conocimiento previo para acelerar el proceso de aprendizaje.

Dicho esto, incluso los programadores experimentados pueden decirle que a veces se encuentran con nuevas ideas y métodos. El objetivo debe ser dominar la comprensión conceptual del lenguaje, la capacidad de adoptar nuevas funciones modificadas, mejorar la calidad de su código y mejorar la eficacia de su habilidad. Esto es lo que hace un maestro. No hay sustituto para la experiencia.

En primer lugar, una cosa que debes aprender es que necesitas tener interés en ello. De lo contrario, incluso el programa más fácil en el idioma se vuelve difícil.

Al principio, la programación de c puede llevar mucho tiempo, pero a medida que se acostumbra puede terminar las versiones mejoradas un poco más rápido

Recuerde siempre b fuerte en su base, por ejemplo, si n solo si su sótano es fuerte, el edificio permanecerá fuerte y permanecerá intacto.

Así que siento que el interés es una parte importante que necesita, junto con un poco de trabajo duro y dedicación que puede alcanzar una buena altura. Así que nunca dejes de programar y codificando

CÓDIGO FELIZ …

Solo puedo hablar por R, como usuario intermedio. R no tarda mucho en aprender si tiene una base matemática sólida. Diría que de 1 a 4 semanas para llegar a un nivel de principiante decente (depende de qué tan “pirata” seas) y estás listo para “saber cómo investigar” la mayoría de los proyectos dentro de tu comprensión matemática. “Saber exactamente cómo hacerlo” toma algo de tiempo, y es muy específico del proyecto.

Convertirme en un experto, por supuesto, toma mucho más tiempo, y no puedo comentarlo porque todavía no soy un experto.

No compararía R con lenguajes como C o Java. Esos lenguajes requieren un mayor conocimiento específico de la programación de bajo nivel, y me imagino que pueden tardar más para alguien que no esté familiarizado con la programación en general.

Suponiendo que no haya experiencia previa en programación;

Principiante: 2 años.
Intermedio: 4 años adicionales.
Avanzado: 3 años adicionales.

Estas son estimaciones y están sujetas a tantas variables e interpretaciones que no tienen sentido en la práctica, pero ya está.

No hay un momento específico en el que una persona pueda aprender un lenguaje de programación. Difería de persona a persona su capacidad para comprender y entender conceptos y sintaxis, y como todo proceso de aprendizaje, la programación también es un proceso continuo.
Pero si desea una aproximación, supongo que para alcanzar un nivel en el que entienda todos los conceptos y la sintaxis teóricamente sería de 10 a 13 horas.

1 día o 1 mes o 1 año. Realmente depende de su capacidad. Y recuerda que una persona nunca puede aprender todo en un lenguaje de programación. Cada vez que necesitan algo, se refieren a la documentación. Y cuando sepa un lenguaje de programación y trate de aprender otro, tomará mucho menos tiempo. Todo depende de varios factores.

¿Depende de lo que llames / defines dominio?

En general, 3 horas por día durante 3 años de esfuerzo enfocado puede hacerte bastante bueno para dominar un lenguaje de programación e implementar cosas complejas al usarlo.

Míralo de esta manera: 365 * 3 * 3 = 3285 horas de esfuerzo enfocado.

Entonces si sigues haciéndolo, no hay parada.

Cuando estás familiarizado con un paradigma dado (imperativo, funcional, etc.), entonces aprender la sintaxis es cuestión de un día. El tiempo de aprendizaje de la semántica de lenguajes más complejos es difícil de estimar (es decir, puede aprender semántica de C en unas pocas horas, pero la semántica de C ++ probablemente llevará semanas).
Pero aprender pragmática probablemente le llevará muchas semanas, dependiendo de la cantidad de código de calidad que lea.

Si tienes uno o dos en tu haber, puedes llegar a la etapa de principiante en un par de semanas (si el lenguaje es fácil como PHP) pero el dominio puede llevar años. Agregue la naturaleza rápidamente cambiante de la industria con respecto a los marcos y las nuevas formas de administrar el código (como el compositor) y nunca habrá terminado de aprender.

No hay límite de tiempo para dominar el lenguaje de programación. Las actualizaciones y la nueva idea siempre siguen llegando en los idiomas.

para la experiencia de la vida real, estoy 2 veces certificada en dot net framework 4.0 y 4.5 y tengo 3 años de experiencia en desarrollo, pero aún cuando veo a los desarrolladores de nivel superior y de nivel administrativo, siento que soy algo menos en la habilidad que tienen. En este punto.

así que no hay un momento en el que puedas dominar el lenguaje de programación, siempre hay un espacio para aprender algo nuevo, ya que la tecnología cambia cada día.