¿Qué lenguaje de programación debo aprender para comenzar a entender la programación?

La premisa subyacente de esta pregunta parece ser que existe un “mejor” lenguaje de programación de propósito general, pedagógico. Si es así, no estoy de acuerdo.

El mejor lenguaje de programación pedagógica es el que su profesor entiende profundamente y puede explicarle de manera clara, convincente y eficiente, y que puede exponerlo a un conjunto graduado de tareas programadas. Puedes leer todo lo que quieras sobre un lenguaje de programación, pero nunca lo dominarás hasta que hayas escrito miles (quizás decenas de miles) de líneas de código.

Además, debe hacer un esfuerzo por su cuenta, más allá de la enseñanza de una clase, para leer el material de referencia y usar (o al menos comprender cuándo y por qué usaría) todas las funciones del idioma.

Una vez que haya aprendido un idioma, descubrirá que aprender su segundo, tercer y cuarto idioma será mucho más fácil.

No creo que un ingeniero de software realmente entienda la programación y sus herramientas hasta que haya tenido varios años de práctica. Creo que una forma de acelerar su aprendizaje es encontrar, leer y estudiar el código de otras personas. Por ejemplo, si está aprendiendo C, puede encontrar un montón de código realmente hermoso y bien escrito en el conjunto de códigos GNU.

Además, tener un mentor que revise su código puede ser invaluable. Describir el proceso de mentoría tomaría muchas palabras y no es un tema para esta pregunta.

Espero que esto ayude.

Los conceptos de procedimientos básicos de asignación de variables, ejecución condicional, ejecución iterativa, ejecución selectiva y procedimientos / funciones se pueden aprender fácilmente con lenguajes como C, Básico, Pascal, Python, JavaScript, etc., pero los conceptos sobre programación orientada a objetos ( OOP) son bastante más difíciles de entender bien. De hecho, muchos desarrolladores OOP realmente no entienden OOP; sólo piensan que lo hacen.

La mejor manera de aprender acerca de la programación orientada a objetos es aprender Smalltalk. Es por eso que doy esta respuesta a todos los principiantes:

Primero, comienza con un buen lenguaje de enseñanza . Es una locura comenzar con un lenguaje industrial como Java, Python, JavaScript, C, Swift, etc. Los lenguajes industriales llevan una gran cantidad de equipaje que puede distraer a un principiante que debería enfocarse en aprender conceptos básicos de programación, NO en sus peculiaridades en el idioma de partida. y rarezas.

Para ser honesto, no hay muchos buenos idiomas para enseñar. Solo puedo pensar en Basic, Logo, Pascal, Scheme y Smalltalk. De estos, recomiendo altamente Smalltalk.

Por un lado, Smalltalk fue diseñado por Alan Kay y su equipo en Xerox PARC para enseñar programación a niños . Eso es un buen pedigrí.

Por otro lado, el lenguaje es sumamente simple y fácil de aprender. ¡Sólo tiene seis palabras reservadas! La sintaxis completa puede caber en una tarjeta postal.

Y, sin embargo, Smalltalk es increíblemente poderoso. Lea el pequeño secreto sucio de TI.

Una vez que haya aprendido la programación de Smalltalk, es muy fácil seleccionar lenguajes posteriores como Java, Python y JavaScript. Eso es porque ahora tienes una base sólida.

Aquí hay algunos grandes recursos:

  • un tutorial agradable y suave – Aprende Smalltalk con el Profesor Stef
  • el Smalltalk más desarrollado – ¡Bienvenido a Pharo!
  • un libro gratis – Pharo actualizado por ejemplo
  • una guía de introducción para Pharo — Inicio rápido de Pharo
  • un MOOC (curso en línea abierto masivo): programación de objetos en vivo en Pharo
  • Algunos videos geniales – Smalltalk 4 You
  • un libro que me gusta (no basado en Pharo) – Smalltalk by Example
  • otro libro que me gusta (no basado en Pharo) – Programación de computadoras usando GNU Smalltalk
  • Algunos recursos adicionales – Recursos

Yo mismo he publicado un montón de tutoriales de Smalltalk. Los últimos son:

  • Aprende a programar
  • Tetera: la programación web es fácil
  • Cómo utilizar el depurador Pharo

Buena suerte.

Aprender programación no es una tarea fácil. Dejando de lado el nivel de dificultad, elegir un lenguaje de programación adecuado que se adapte a sus necesidades es un trabajo difícil. Pero, si tiene una buena idea de lo que está tratando de aprender, este trabajo se vuelve más fácil. Python está bien establecido como los lenguajes de programación más fáciles para principiantes debido a su sintaxis simple y legible. Le sugiero que aprenda python como primer lenguaje de programación y es el trampolín para aprender muchos otros idiomas. Y es bueno aprender a través de recursos en línea. También puedo sugerirle los mejores cursos en línea de Python.

# 1. La Biblia de Python ™ | Todo lo que necesitas para programar en Python

# 2. 30 días de Python | Desbloquea tu potencial de Python

Elige el primer curso. De este curso puedes aprender sobre:

No es ningún secreto que el aprendizaje basado en proyectos ha demostrado ser la forma más efectiva de aprender cualquier habilidad, ¡pero esto es especialmente cierto para la programación!

Si está buscando Aprender el lenguaje de programación Python con un enfoque práctico, entonces ha llegado al lugar correcto.

¡Este curso completo, en profundidad y meticulosamente preparado te enseñará todo lo que necesitas saber para programar en Python! A – Z, todo está aquí!

puedes aprender

  • Construye 11 proyectos de Python 3 fáciles de seguir
  • Automatice las tareas de codificación al crear funciones de Python personalizadas
  • Agregue Python 3 a su currículum vitae al comprender la programación orientada a objetos (OOP)
  • Use variables para rastrear datos en programas de Python
  • Use los números para crear la funcionalidad “Detrás de escena”
  • Use cadenas para crear experiencias de usuario personalizadas y comprometidas
  • Crear programas que puedan pensar utilizando lógica y estructuras de datos.
  • Utilice los bucles para mejorar la eficiencia, ahorrar tiempo, maximizar la productividad

Cursos adicionales:

# 3. Completa Python 3 Masterclass Journey

Quieres aprender programación, genial. Estoy seguro de que realmente disfrutarás el viaje y amarás el fantástico mundo de la codificación.

Hay dos cosas:

  1. Programación competitiva también llamada codificación deportiva.
  2. Desarrollo (Software, aplicación, desarrollo de juegos, etc.)

Sigue estos pasos:

  1. Comience con cualquier lenguaje de codificación (preferiblemente C ++) aprenda los conceptos básicos.
  2. Por eso sugiero C ++ porque es un lenguaje orientado a objetos, que es muy importante para cualquier tipo de desarrollo.
  3. A continuación, comience a explorar lo que más le gusta, la codificación o el desarrollo de los deportes y continúe con eso. Si te gustan los dos, bien, entonces administra tu tiempo en consecuencia.
  4. Para la codificación de deportes, ¿qué lenguaje de programación debería aprender para convertirme en un buscador competitivo?
  5. Para el desarrollo del aprendizaje, la mejor manera es pensar en alguna idea o producto ya creado e intentar desarrollarlo usted mismo (tomando la ayuda de Internet).
  6. Sé regular con tu práctica.

Buena suerte 🙂

Esquema.

No porque sea necesariamente el mejor lenguaje para aprender conceptos de programación muy bien, sino porque el mejor libro de texto sobre el tema que se haya escrito usa Scheme como lenguaje.

Cualquier idioma que aprenda primero le enseñará algunos malos hábitos que tendrá que desaprender cuando aprenda su segundo idioma. Esto es inevitable.

Sin embargo, la mayoría de los idiomas que comúnmente se promocionan como “fáciles de aprender” tienden a enseñarte peores hábitos que los que no transmiten eso. Cualquier programador de cierta edad que comenzó con un BASIC interpretado de 8 bits puede decirle esto a través de una experiencia amarga.

El esquema es fácil de aprender y le enseñará menos malos hábitos que la mayoría de los otros idiomas.

Si desea comenzar a aprender a programar ahora (2018), hágase un gran favor y aprenda un lenguaje funcional.

Si no tiene prisa por ganar dinero o escribir una aplicación, le recomiendo Scheme . Adquirirás una mentalidad única para llevar a otros idiomas más adelante. De lo contrario, vale la pena aprender Haskell .

Si realmente necesitas aprender un lenguaje imperativo, comienza con Go o C. No empieces con C ++, Python o JavaScript. Se están distrayendo.

Python te ayudará a ir muy rápido, pero la escritura dinámica es simplemente horrible, es muy importante saber en qué tipo de usuarios trabajas.

Así que recomiendo Java. Muchas palabras, pero todas tienen un significado, y realmente te mostrarán los conceptos de programación importantes, especialmente OOP.

Pero todavía hay algunas abstracciones. Java te muestra más que Python, pero en C realmente verás la esencia de un lenguaje de programación, pero tal vez esto sea demasiado para eliminar abstracciones.

Snap = Scratch + Scheme. // Lo usan en la Universidad de Berkeley para su BJC Beauty and Joy of Computing, que sería equivalente a la estructura e interpretación de los programas de computadora • procedimientos de primera clase • listas de primera clase • objetos de primera clase • continuaciones de primera clase de Esquema • arrastre y – interfaz de gota • metáforas visuales para bucles, condicionales, etc. • herramientas de animación fáciles desde Scratch

Depende de tu experiencia y conocimientos actuales.
Si eres completamente nuevo en programación, entonces te recomendaría que veas Smalltalk, originalmente creado por Alan Kay en el Centro de Investigación de Xerox Palo Alto (PARC), o una de sus variantes más modernas. Este lenguaje fue creado exactamente para ese propósito, para enseñar los conceptos básicos de CS.

El lenguaje de enseñanza más popular que se usa hoy en día para introducir a los “novatos” en el pensamiento computacional es Scratch , creado por el grupo de Kindergarten para toda la vida en el MIT Media Lab. Puede acceder a Scratch aquí: Scratch – Imagine, Program, Share.

Sin embargo, si tiene algunos fundamentos en CS, entonces personalmente recomendaría Python (3), pero tenga en cuenta que la forma en que comienza su ruta debe tener en cuenta su objetivo final.

Comienza con Arduino y es un lenguaje similar a C / C ++. No tengo ninguna duda de que C / C ++ debe ser el idioma de inicio de todos, pero agregue un Arduino para obtener conceptos del mundo real y diversión. El beneficio es que usted ve cómo su programa interactúa con el mundo exterior, encendiendo luces o emitiendo pitidos, pantallas LCD, sensores de temperatura, etc.
Luego te mueves en dificultad e interactúas con tu Arduino a través de comandos en serie, y tal vez incluso con tecnología inalámbrica como Bluetooth y Wifi.
Luego, dependiendo de sus intereses, puede convertir su Wifi Arduino en un dispositivo IOT, escribir algunos archivos html y javascript que lo acompañan, y hacer que abra el agua de su jardín frontal desde un sitio web.
O, dependiendo de si desea ir en la otra dirección, tire su Arduino, compre un microcontrolador PIC y codifíquelo en el ensamblaje; entonces entenderá realmente cómo interactúan el código y la silicona.

Los programadores más fuertes tienden a ser los que aprendieron a programar en los años 80 (incluyéndome a mí, lol). Muchos comparten la ventaja que aprendieron a programar en sistemas que no tienen demasiada distracción. El lenguaje que más experimenté al principio fue el BÁSICO. Creo que eso sigue siendo, con mucho, la mejor opción sobre cómo aprender a programar. No estoy de acuerdo con el consejo que la mayoría da aquí. Como Python, Javascript, C ++, Smalltalk, etc. ¡No! Todos esos lenguajes tienen demasiadas características y construcciones complejas que distraen. De vuelta a lo fundamental. Comenzaron donde muchos empezaron.
Y hay una gran pequeña implementación de BASIC gratuita que puedes usar: Basic-256. Buscalo en Google. Funciona en Windows, Linux, y apuesto a que también hay un puerto Mac.
imprimir “Mike”
corre (F5) y puf hay tu primer programa.
Ir a, mientras que, las variables, todo es más fácil que cualquiera de los otros idiomas.
Dibuja una línea usando: línea 10,10,100,200
Poof obtienes una línea en la pantalla. No es necesario abrir una ventana. No hay necesidad de preparar cosas. No es necesario crear una pantalla.
Luego, una vez que obtenga los conceptos básicos de cómo se hacen las subrutinas, inicie algunos bucles, cosas así, estará en el punto en el que podrá explorar algo que sea más adecuado para tareas más complejas.
¡BÁSICO primero!

En mi opinión, no es importante el lenguaje que desea aprender para comprender los conceptos de programación.

Los entendí leyendo libros y aprendiendo tutoriales en internet y primero el idioma era pascal, segundo c y finalmente c ++.

Existen varios tipos de programación, como la programación funcional o la programación orientada a objetos.

Hay muchos idiomas para ambos paradigmas. Para el primero, Haskell, Clojure o F # y para el segundo, Java o C ++.

Puedes elegir lo que quieras. Siéntete libre y cómodo haciéndolo.

Buena suerte.

Si realmente desea comprender los conceptos de programación, debe buscar la estructura de datos y el algoritmo para que pueda mejorar su pensamiento lógico y ser más eficiente al usar los próximos lenguajes de programación aprendidos.

C (no C ++)

Básicamente, es lo más parecido al metal que se obtiene sin ir a Assembly (lo cual no recomendaría como lenguaje para principiantes).

en mi opinión, comience con los idiomas front-end, ya que son sencillos y también se puede ver el resultado en la vista. Comenzar con HTML y CSS será fácil.

En la práctica, algo de procedimiento es un buen lugar para comenzar. Entendiendo condiciones, funciones, etc.