¿Cuáles son los pasos para aprender un lenguaje de programación efectivamente desde cero?

Hay muchos puntos en común entre los idiomas que deberían hacer que sea más fácil sentirse cómodo con uno nuevo. Por ejemplo, el estilo de muchos idiomas toma principalmente dos formas, el estilo C y el estilo ADA.

Estilo C:

int fibonacci (índice int) {
int anterior = 1;
int actual = 0;
int temp = 0;
para (int i = 0; i <= index; i ++) {
temp = anterior;
anterior = actual;
corriente = temp + corriente;
}
vuelta corriente
}

Estilo ADA:

función fibonacci (índice)
local anterior = 1
corriente local = 0
temperatura local = 0
para i = 0, índice do
temp = anterior
anterior = actual
current = temp + current
fin
volver corriente
fin

Para tener una idea del idioma, mira lo siguiente:

  • Palabras reservadas . Las características de nivel de idioma se expondrán mediante palabras clave reservadas. Por ejemplo, si se está preguntando cómo definir un procedimiento en Javascript, reconocerá que la palabra clave de la función está reservada y establecerá la conexión.
  • Tipos de datos a nivel de idioma. La mayoría de los idiomas tienen el concepto de un número natural, un número real, una cadena, una lista de cosas y una asignación de cosas.
  • Cálculo del valor y asignación. La mayoría de los idiomas tienen el concepto de asignación (=,: =, <-, etc.) y operadores matemáticos (+, -, /, *, etc.).
  • Condicionales. La mayoría de los lenguajes tienen algún tipo de construcción if-then-else-elseif.
  • Funciones La mayoría de los idiomas permiten agrupar unidades de cálculo y asignación. ¿Cómo se configura / declara esta agrupación (función, definición, definición, procedimiento, función, etc.), cómo se pasan los parámetros, cómo se extraen los resultados?
  • Agrupación de funciones. Muchos idiomas permiten agrupar funciones en unidades conceptuales (clases, módulos, componentes, etc.).
  • Bibliotecas a nivel de idioma. Muchos idiomas proporcionan funcionalidad preescrita para mayor comodidad y para acelerar el desarrollo.
  • Gotchas. ¿Hay algo no intuitivo, “defectuoso” o notablemente diferente sobre el idioma que necesita conocer?

A medida que estudia la sintaxis del idioma, o después de hacerlo, puede encontrar la solución a los desafíos de codificación (que inventó o que encontró en línea). A medida que trabaja en la solución, debe practicar la codificación en el idioma que está tratando de aprender, y si el desafío está bien hecho, debería exponerse a una amplia variedad de características del idioma.

Idealmente, el mejor entorno para aprender un nuevo idioma es aprenderlo mientras se trabaja con él. Es decir, tener un proyecto o tarea en mente, y tratar de ejecutarlo. Sin embargo, si se trata de un proyecto para el trabajo o la universidad, es posible que no desee arriesgar su rendimiento o eficiencia por aprender un nuevo idioma.

Por lo tanto, siempre es bueno tener algunos juegos de creación propia, herramientas de utilidad o cualquier otro programa simple que sea muy bueno para escribir en idiomas que conozca. Luego, replique esos programas con el nuevo idioma y vea si comprende o no la sintaxis y la funcionalidad del idioma. Esto debería llevar mucho menos tiempo que intentar un nuevo proyecto mientras se aprende algo nuevo.

El inconveniente de este enfoque es que si está aprendiendo un idioma con propósitos de diseño muy diferentes, simplemente perdería las partes que son más importantes para aprender. Es decir, no tiene sentido saber cómo escribir un juego de tic tac toe en SQL, cuando es claramente para bases de datos. Aunque algunas personas empujan los límites de lo que está hecho para algunos códigos, con fines novedosos o para mostrar el verdadero dominio del idioma. Al igual que los juegos en 3D con Haskell.

Cuando avance para convertirse en un programador experimentado, verá estos matices en los propósitos de diseño y los vínculos entre lenguajes similares se harán más evidentes, lo que acelerará la velocidad a la que aprende nuevos idiomas. En general, los nuevos idiomas que están estrechamente relacionados con los que ya conoces toman alrededor de 3-5 días hábiles para aprender, y otros tardarán aproximadamente 2-3 semanas.

Supongo que ya sabes cómo programar, pero solo estás aprendiendo un idioma. Mi preferencia es obtener un libro y leerlo de principio a fin, comenzando con la tabla de contenido para que pueda ver lo que está por venir. Si vas por esta ruta y el libro tiene ejercicios, no los saltes. Si no es así, inventa algunos de tus propios ejercicios.

La otra ruta es saltar y comenzar a escribir una aplicación más grande. La razón por la que no prefiero esto es que si el idioma es lo suficientemente diferente de lo que estás acostumbrado, escribirás el código completamente incorrecto. Si solo ha programado en C directa e intenta seleccionar Java, puede escribir código que funcione donde no haya objetos. En ese momento, diría que estás escribiendo código C en Java en lugar de escribir Java. Si esperas en escribir la aplicación hasta que aprendas las partes OO, estarás mejor, pero si el idioma es nuevo para ti, es posible que no sepas qué partes del idioma son las más importantes que debes saber.

Obviamente, esto es menos cierto si se pasa de un lenguaje estrechamente relacionado a otro.

Confía en ti mismo y no pierdas la esperanza mientras te encuentras con numerosos errores. Intenta hacer pequeños programas y conocer el idioma. Lea libros o mire videos tutoriales si está atascado. Mejore su mente y piense en la lógica de cualquier programa que esté utilizando, ya sea un software o un sitio web. Lo más importante es que no lea el libro completo de ningún lenguaje de programación. Intente leer una parte de él y aplique lo que lea en la práctica.

Aprender los conceptos conceptuales entre idiomas.

Aprende las formas en que los humanos han resuelto problemas lógicos antes de que existieran las computadoras.

Aprende las metáforas que los desarrolladores del lenguaje usaron para crear el lenguaje.

Aprenda el enfoque y el propósito principal de los idiomas y sus entornos apropiados.

Aprende las fortalezas y debilidades de los idiomas.

Aprende a trabajar en equipo y éticamente dentro de todas las comunidades.

La mejor manera es escribir programas no triviales en el lenguaje. Cómo lograrlo puede ser de manera guiada o no guiada. Una manera guiada usualmente involucra un libro de estilo tutorial que usted compra. Hoy en día, también hay muchos excelentes cursos de programación disponibles en línea, como los de udacity (Avance su carrera a través de clases en línea basadas en proyectos). ¡Los mejores deseos!