¿Qué es un buen lenguaje de programación para aprender como su primer lenguaje de programación?

El mejor lenguaje para aprender es con el que serás más productivo y más rápido.

Una con la que comenzarás a divertirte de inmediato!

¡La programación no tiene que ser una tarea difícil!

Todo el aprendizaje se acelera por el ciclo de recompensa. Un montón de pequeñas victorias.

Cada éxito aumenta tu deseo de continuar. Mientras más pequeñas victorias experimente, más se recompensa químicamente su cerebro y, por lo tanto, más quiere tener éxito.

Crear una adicción positiva.

Puede poner a un lado asuntos como la sintaxis, la moda, el purismo, la popularidad, etc. No tienen relevancia real a largo plazo … y también son completamente aburridos.

Lo que necesitas es una retroalimentación positiva.

La forma más rápida de obtener esto es adoptar un enfoque dinámico y de múltiples paradigmas.

Usted quiere:

  • Un lenguaje de scripting . Un lenguaje para hacer grandes cosas rápidamente.
  • Un lenguaje dinámico . Mantener la estática, la placa de calderas y la otra mierda al mínimo.
  • Un lenguaje multi-paradigma . Procesal, funcional, OO. Quieres poder usarlos todos.
  • Un lenguaje fácil de instalar / implementar . Sin compilación, sin servidores de compilación … ninguno de esos disparates.
  • Un lenguaje que se ejecutará en cualquier cosa , por modesto que sea su hardware.
  • Un lenguaje donde las cosas fáciles es realmente fácil … y las cosas difíciles es, todavía bastante fácil.
  • Y libertad para experimentar . Aprender no es divertido si no estás experimentando.

Por lo tanto, sugiero la siguiente trinidad de herramientas para ayudarlo a comenzar de la manera correcta.

Tcl / Tk – Construye literalmente lo que quieras.

Fossil – La forma más fácil de administrar su código fuente.

Atom – El editor más cool y hackeable de todos.

Algunos enlaces útiles (los pondré en los comentarios … Quora sigue cortando mis respuestas)

Incluso un principiante puede comenzar a armar sitios web, aplicaciones de escritorio, herramientas de línea de comandos y mucho más en poco tiempo.

Es interesante observar que Tcl es una opción popular entre las personas cuyo rol principal no es el desarrollo de software. ¡Eso debería darte una pista de lo accesible que es!

¡Y ve!

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.

En segundo lugar, para el idioma de enseñanza elegido, siga uno o dos tutoriales de idioma para calentarse. También puede echar un vistazo a la referencia del idioma para familiarizarse con el idioma, a vista de pájaro.

Tercero, realice una serie de ejercicios de programación, cosas como rutinas de clasificación, algoritmos de búsqueda, cálculo de números de Fibonacci, etc.

Cuarto, comienza a escribir pequeños programas para hacer tareas simples. Trabaja en tu camino hacia proyectos de software más grandes. Recuerda, la clave para aprender a programar es la práctica . Mucha y mucha práctica de escribir software.

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 por qué Pharo podría ser el futuro del desarrollo de software.

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

Este libro (no gratuito) es mi favorito para aprender a usar Smalltalk para la programación orientada a objetos: Smalltalk, Objects, and Design, de Chamond Liu.

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.

La mayoría de los lenguajes de programación relevantes se distribuyen de forma gratuita, por lo que generalmente esto no es una preocupación. Los principales contendientes son:

Javascript, Python, Java, C ++ / C #.

Los dos primeros idiomas están “escritos de manera flexible”. El resto de la lista no lo están. Para mí esta es la diferencia más importante para aprender el idioma. Escribir de forma holgada significa que una variable no necesita ser clasificada en un tipo (entero, cadena, etc.). Esto hace que sea más fácil ser descuidado. Un lenguaje fuertemente tipado como Java, aunque un poco más difícil de aprender, es más fácil de usar porque te obliga a pensar tu código más a fondo.

Además, los patrones de diseño funcionan mejor con un lenguaje fuertemente tipado.

Dicho esto, lo mejor que puedes hacer para aprender a diseñar programas de computadora es aprender a diseñar software antes de escribirlo en un lenguaje específico.

En lo personal, diría cualquier idioma. Cualquier idioma en circulación hoy. Puedes comenzar con Python, ya que la sintaxis de Pythons es más fácil. A medida que avanza, puede consultar cualquier otro idioma en función de lo que desee hacer. Como principiante, cualquier idioma creo que lo pondrá en el camino correcto y, a medida que avanza, se adapta según sus necesidades. Por ejemplo, he estado aprendiendo C # por un tiempo muy corto y he notado que declarar una variable, usar bucles, usar una instrucción switch o cualquier otra cosa es casi lo mismo que otros lenguajes como Java, Javascript, C ++ etc. El objetivo de todo esto no es aprender la sintaxis, es aprender cómo dar instrucciones a una computadora, una vez que aprendes a entenderlo, la sintaxis en cualquier idioma es simple, y en la mayoría de los casos no lo recordarás. Sintaxis (como principiante) Google sabe. No te vuelvas demasiado loco por los detalles, solo ve por ello. Esta es mi opinión como principiante, no puedo estar tan seguro como un programador experimentado, es la forma en que veo las cosas en este momento.

Basado en la situación actual, Python es el mejor. Python es un lenguaje de uso general, lo que significa que se puede usar para compilar casi cualquier cosa, lo que se facilitará con las herramientas / bibliotecas adecuadas.

Profesionalmente, Python es ideal para el desarrollo web de back-end, el análisis de datos, la inteligencia artificial y la computación científica. Muchos desarrolladores también han usado Python para crear herramientas de productividad, juegos y aplicaciones de escritorio, por lo que hay muchos recursos para ayudarlo a aprender cómo hacer eso también.

Los mejores cursos en línea de Python:

  • Completa el campo de entrenamiento de Python: pasa de cero a héroe en Python
  • The Complete Python Masterclass: Aprende Python desde cero
  • Completa Python Masterclass

Elija el tercer curso, ya que se utiliza ampliamente

De este curso puedes aprender sobre:

Este curso no asume ninguna experiencia previa en programación o Python. Si nunca has programado una computadora antes, o si conoces otro lenguaje de programación y quieres aprender Python, este curso te enseñará cómo hacerlo.

Para reforzar lo que ha aprendido, existen numerosos desafíos durante el curso diseñado para ayudarlo a comprender cada concepto que se enseña. También se le muestra la solución al desafío para que sepa que siempre está en el camino correcto.

El curso se actualiza y mejora continuamente, y es totalmente compatible con Python 3. Esto garantiza que lo que está aprendiendo es relevante para usted hoy y nunca será obsoleto.

¡Tome este curso con confianza hoy sabiendo que acaba de encontrar el MEJOR curso de Python en Internet! No se demore Cada minuto que no estás aprendiendo Python es otra oportunidad potencial desperdiciada.

Y también..

  • Te enseñan paso a paso cómo programar en Python
  • Con cada paso se explica el POR QUÉ lo estás haciendo.
  • ENTENDER las estructuras de datos y cómo acceder a la web con Python
  • El curso se actualiza continuamente, por lo que aprenderá lo último
  • Tendrás la experiencia para CREAR tus propios programas de Python
  • Las habilidades para obtener un TRABAJO con Python en tu haber, tal como lo enseña el mejor.
  • ¡Aprenda a usar Python profesionalmente, aprendiendo tanto Python 2 como Python 3!
  • ¡Crea juegos con Python, como Tic Tac Toe y Blackjack!
  • ¡Aprenda las funciones avanzadas de Python, como el módulo de colecciones y cómo trabajar con marcas de tiempo!
  • ¡Aprende a usar la programación orientada a objetos con clases!
  • Comprender temas complejos, como los decoradores.
  • Comprenda cómo usar el cuaderno de Jupyter y crear archivos .py
  • ¡Comprenda cómo crear GUI en el sistema de portátiles Jupyter!
  • ¡Construye una comprensión completa de Python desde cero!

Todo lo mejor .

Nunca te rindas.

A fines de los años 80 en la universidad, el idioma que nos enseñaron fue Pascal, que fue diseñado para ser un idioma de enseñanza, no profesional o industrial. Una vez que superó el plan de estudios principal, se descartó a Pascal para lenguajes específicos de la asignatura (C, Lisp o algún lenguaje DBMS).

Después de todo eso, diría que el mejor “primer idioma” para aprender sería C.

También diría, porque soy un viejo gruñón para EVITAR JAVA. (Nota: Java y JavaScript para dos bestias completamente diferentes).

Debido a que existe toda una familia de lenguajes similares a C: C, C ++ y Objective-C en macOS, iOS, etc., C ++ y C # para Windows, C ++ para computación y juegos de alto rendimiento, JavaScript para Android y la web (en todas las plataformas). Todos estos son como C Así que comenzar con C sería una buena introducción general. Con C, aprenderá una sintaxis simple y los conceptos básicos de funciones, variables, matrices, estructuras de control e incluso punteros.

Tenga en cuenta que una vez que llega más allá de C, se encuentra en el “terreno de objetos”, donde las estructuras de datos y los métodos se agrupan en un concepto “clase”. En realidad, es solo una extensión de datos y funciones que operan específicamente en esos datos.

A partir de ahí, puede ingresar al lenguaje de objetos que pueda necesitar, ya sea uno de los lenguajes tipo C o Ruby, Python, Swift o cualquier otra cosa que se presente. (A menos que esté haciendo estrictamente la programación del lado del servidor, Java es un callejón sin salida; IMNSHO tomaron el camino equivocado).

Cualquier idioma es un buen comienzo, aunque personalmente siempre recomiendo “C”.
Las reglas de sintaxis son lo suficientemente simples como para escribirlas en una servilleta y la biblioteca estándar es pequeña y está bien documentada.
Además, tendrá la oportunidad de aprender lo que realmente está sucediendo detrás de escena sin sumergirse en la locura que es el ensamblaje.

Dicho esto, aprender un lenguaje de programación no lo hace un programador. Podría conocer cada lenguaje de programación existente y no existente por sí mismo y aún no tener idea de qué hacer con él. Este es el verdadero desafío y la mejor experiencia de aprendizaje, creo que realmente es prueba y error. Establece tareas sencillas para ti mismo, como por ejemplo descubrir el mejor método para invertir y ordenar o ordenar la lista, y por supuesto hacerlo sin simplemente obtener la respuesta de Google.

La programación es una forma de pensar y el lenguaje es una herramienta, recuérdalo siempre.

Aunque estoy de acuerdo con Richard Eng, Smalltalk es un gran lenguaje y es fácil de aprender. Pero Smalltalk tiene un nicho muy pequeño en el mercado y ya no está tan activo. Así que recomendaría Ruby en su lugar. Ruby se inspiró en Smalltalk y heredó muchas de las grandes cualidades de Smalltalk: mantener el lenguaje simple, coherente y fácil de leer. Ruby tiene muchas ventajas más allá de Smalltalk, ya que es más como una encarnación posterior de Smalltalk. Ruby no depende de un estado de imagen, es más interoperable con diferentes editores y herramientas de administración de código fuente, como GitHub. Hay muchos recursos actuales en línea para Ruby para todos los niveles (mucho más que Smalltalk). Ruby todavía está activamente desarrollado y todavía hay muchos trabajos para los programadores de Ruby.

Otra buena alternativa es Python. Sin embargo, prefiero a Ruby para principiantes porque muchos programadores de Ruby valoran el “código limpio” y lo ponen en práctica. “Código limpio” es asegurarse de que el código sea altamente legible y se explique por sí mismo mediante el uso de buenas convenciones de nomenclatura, una buena organización del código, no unir elementos que deban ser independientes, etc. Creo que muchas bibliotecas de Ruby son ejemplos de código limpio y es muy útil aprender con el ejemplo y aprender las mejores prácticas de código limpio y refactorización al principio porque los malos hábitos son difíciles de romper. Una vez que aprendes Ruby, es muy fácil aprender Python.

Otra buena lengua para aprender es el olmo. Elm para mí representa el mejor de todos los idiomas que he usado. Evan Czaplicki, el creador de Elm, diseñó intencionalmente a Elm para que fuera fácil de aprender en el nivel de entrada, pero también fácil de usar para resolver problemas complejos. Es un lenguaje compilado, estáticamente tipado, pero Evan pensó mucho en hacer que el compilador sea un colaborador amigable y útil en lugar de un antagonista de la perdición para el programador. El compilador es muy bueno para inferir el tipo, por lo que declarar tipos es opcional. El compilador también es muy instructivo a la hora de sugerir qué es lo que está mal con su programa: una gran ayuda para principiantes y programadores experimentados.

Te animo a que aprendas tanto a Elm como a Ruby, uno a la vez para evitar la confusión. Estos dos lenguajes representan dos paradigmas de programación diferentes y ambos paradigmas son muy importantes. Ruby está orientado a objetos. Los objetos contienen tanto estado (o datos de atributos) como funciones. Las funciones en un objeto pueden cambiar el estado del objeto o usar el estado del objeto para producir el resultado. Las funciones que utilizan el estado del objeto no son funciones puras porque llamar a la función con el mismo parámetro o argumento puede no devolver el mismo resultado si el valor del estado es diferente. Las funciones que cambian el estado del objeto no son funciones puras porque tienen el efecto secundario de cambiar el estado. Elm es un lenguaje de programación funcional. Los datos siempre están desacoplados de las funciones. La mayoría de las funciones en Elm son puras, lo que significa que siempre obtienes el mismo resultado sin efectos secundarios cuando pasas los mismos argumentos a la misma función. Elm aísla funciones no puras a sus límites. Lo que he encontrado en la práctica es que puede usar conceptos funcionales en un lenguaje orientado a objetos y puede organizar funciones para reutilizarlas fácilmente (como lo haría en lenguajes orientados a objetos) en lenguaje funcional. Cuando estás aprendiendo un lenguaje orientado a objetos puro, es más fácil ver los pros y los contras de los objetos. Cuando está aprendiendo un lenguaje funcional, puede ver cómo puede aplicar técnicas funcionales a un lenguaje orientado a objetos. Algunas lecciones, como el código limpio, el rendimiento, se aplican a todos los paradigmas y obtienen claridad al verlo en diferentes paradigmas.

Tanto Ruby como Elm se diseñaron con la alegría del programador en mente, de modo que el programador disfrutara usando el lenguaje y se divirtiera mientras resolvía problemas muy complejos. ¡Entonces Diviertete!

Gran pregunta

¿Qué quieres hacer?

¿Estás haciendo esto por un hobby? ¿Esto es para un trabajo? ¿Quieres trabajar back-end o front-end?

¿Qué vas a hacer con el idioma?

  • Python es popular por AI
  • R es popular para la ciencia de datos.
  • Ruby es popular para aquellos que automatizan las implementaciones de servidores.
  • Node.js es popular para microservicios.
  • Ir es nuevo y próximo.
  • Java es para el desarrollo de Android y back-end.
  • El objetivo C es para iPhone.
  • C ++ es para personas que necesitan que las cosas funcionen de manera muy eficiente.

Entonces, realmente, la pregunta es qué te gusta hacer y luego trabajar desde allí.

Aún así, por más que odie Javascript, es posible que desee comenzar allí. Se usa en sitios web, programación de juegos, back-ends, aplicaciones móviles y es, en general, algo bueno en su cinturón de herramientas. Pero no ignores a los demás.

JavaScript! ¡Especialmente en el contexto de una página web!

¿Por qué?

  1. no necesita instalar nada, ya tiene todos los medios en un sistema operativo (solo guarde un html con algunos js con el bloc de notas y el archivo: ///path/to/file.html con un navegador)
  2. se ocupará de los tipos para usted y le presentará la programación funcional y OO
  3. le presentará el concepto de bibliotecas una vez que los medios de JavaScript de vainilla se vuelvan engorrosos
  4. le permitirá graduarse a TypeScript una vez que los tipos se conviertan en una ventaja aparente
  5. le permitirá pasar de TypeScript a ELM una vez que los patrones OO sean demasiado inconvenientes

Una que NUNCA usarás de nuevo. Uno que es accesible para su uso.

Lo digo en serio. El proceso de aprender a programar puede dejarlo con malos hábitos en el lenguaje de programación en el que primero aprende a programar. Es mejor abandonar esos hábitos y reevaluar con un segundo, tercer u octavo idioma.

C fue mi 15 o 20 idioma. He perdido la cuenta de todos los idiomas que ya no utilizo, muchos de ellos idiomas comunes.

Pascal estaba destinado a fines de enseñanza, y el idioma original muestra que en espadas (falta de tipos de cadenas reales, falta de bibliotecas externas y modularidad, modelo de E / S extremadamente limitado). Como tal, satisface mis requisitos. Desafortunadamente, no puede encontrar un entorno de programación estricto de Pascal; demasiadas personas agregan funciones al lenguaje para hacerlo útil.

Bueno, depende del interés de la persona.

Ya sea que esté buscando comenzar a codificar como un pasatiempo, una carrera, o simplemente para mejorar su rol actual.

La elección de un primer idioma depende de en qué tipo de proyecto quiere trabajar una persona y con qué se siente cómodo.

Pero si está buscando un lenguaje de programación fácil y divertido para aprender primero, entonces puede optar por Python. Python se lee como en inglés y es fácil de entender para alguien que es nuevo en programación. Python también es ideal para el desarrollo web, interfaces gráficas de usuario (GUI) y más.

C # Si bien C es uno de los lenguajes más difíciles de aprender, sigue siendo una excelente opción para aprender el primer idioma porque casi todos los lenguajes de programación están implementados en él. Pero una vez que aprendes C, es fácil aprender C ++ y C #

Otros lenguajes pueden ser Java, JavaScript.

Todos estos idiomas son fáciles de aprender si tiene Internet y puede ayudarlo a desarrollar su carrera en el campo del software.

Hay muchos lenguajes de programación como C, Java, python, etc.

Si desea comenzar, aprenda el video tutorial gratuito para lenguajes de programación, así que visite este sitio. Hay muchos tutoriales de idiomas disponibles en LearnVern. Es definir conceptos básicos y con ejemplos para que pueda entender fácilmente.

Aprender lenguajes de programación

Yo le aconsejaría a Haskell.

La mayoría de los programadores que lean estas líneas estarán aterrorizados. Sin embargo, en mi opinión, si empieza desde lo más fácil, tendrá una curva de aprendizaje de programación interminable y, básicamente, estará enjaulado dentro de algunas abstracciones que se convertirán en sus obstáculos para comprender la realidad.

Si no sabes nada sobre programación, debes comenzar con Haskell. Su mente sin formato comprenderá fácilmente la forma funcional de la programación. Tómate tu tiempo sé paciente. Una vez que tienes un buen control del idioma entonces; Solo después de eso, solo echa un vistazo a los demás y te parecerán Abakus.

Depende de tu (s) meta (s).

¿Quieres ser un Web Dev? (inicie html, css, JavaScript y luego decida a dónde quiere ir)

¿Desea programar teléfonos inteligentes (dependiendo de la aplicación, puede terminar aprendiendo todos esos lenguajes de desarrollo web y algo específico para teléfonos inteligentes? (Por cierto, depende de qué sistema operativo para el teléfono [iOS / Android / lo que sea)?

No puede hacer daño comenzar con Python.

Estoy dudoso de comenzar con Java como su primer idioma, pero es potente y se usa en plataformas cruzadas. Puede ejecutar Java en cualquier plataforma de hardware con una máquina Java de alta calidad. Podría terminar aprendiéndolo como su próximo lenguaje de procedimiento después de aprender Python.

Que yo sepa, puedes instalar todo lo que he mencionado de forma gratuita. Y usted puede obtener una gran cantidad de capacitación sobre ellos de forma gratuita o en línea a un costo muy bajo.

HTH,

Tom

Pascal. Pascal fue diseñado como un lenguaje de enseñanza, y es una excelente manera de aprender sobre variables y constantes, tipos, procedimientos y funciones, y tanto en programación estructurada como en orientación a objetos.

Depende de tu nivel de educación. Si eres bastante avanzado en Matemáticas, toma Haskell, estarás en el paraíso de inmediato.

Si no, sugeriría JavaScript; es un gran lenguaje, y puedes encontrar fácilmente miles de trabajos relacionados con JavaScript. Y de nuevo, es un lenguaje hermoso.

Otra solución sería elegir Python, si planea entrar en el llamado “aprendizaje automático”; Parece que todos están usando Python. No es un mal lenguaje para hacer prototipos; Sin embargo, desde el punto de vista de un programador profesional, es un lenguaje bastante malo.

Python es muy fácil y tiene más aplicaciones que otros idiomas.

Si va a comenzar con Python, comprenderá el enfoque orientado a objetos y los procedimientos.

Y Python es más escalable y puede ser un lenguaje futuro y también compatible con otros idiomas.

Python tiene ricos conjuntos de bibliotecas y también de código abierto.

Feliz codificacion

Te sugeriré que aprendas Python o C Language. Ambos idiomas tienen buenos conceptos en profundidad, que te ayudarán a adquirir conocimientos.

Para ver tutoriales simples y comprensibles, echa un vistazo al mejor lugar para aprender lenguajes de programación en línea.

¡ALGUNA! Todos son muy divertidos. Solo profundiza. Creo que JavaScript es el más popular. Cuanto más popular sea algo, mayor será su documentación.

Intenta tantas cosas como tengas tiempo para. Realmente me encantó aprender C ++. Javascript ha sido una explosión también. Jugué con Lua. Pensé que era genial, pero no me interesé por lo que es más viable.

HTML es probablemente el más fácil, aunque no requiere ningún nivel de lógica, no lo diría. Hay tan poco que tienes que aprender a hacer cosas que es bueno. Por supuesto que tienes que aprender mucho CSS en tándem.

El código c y el código de la máquina son difíciles y tardan mucho tiempo en aprender. largo tiempo. Muy verboso. Pero te dan una buena idea de lo que realmente está sucediendo bajo el capó.

PENSAMIENTOS FINALES: Averigüe qué proyectos le interesan, vea qué lenguaje domina esos tipos de proyectos y aprenda ese.