¿Qué lenguaje de programación puedes aprender solo por diversión?

A2A, gracias.

Mi respuesta a esto es elegir un lenguaje moderno, “multi-paradigma”, “dinámico” (interpretativo) con una “cadena de herramientas corta”, que le permita escribir un código de paradigma “imperativo” directo.

Por “cadena corta de herramientas”, quiero decir que a menudo con lenguajes “no divertidos”, uno tiene que estar familiarizado con varias herramientas y / o entornos además del lenguaje en sí mismo, para producir código de ejecución real de alta calidad. En C, por ejemplo, la cadena de herramientas a menudo consiste en

  1. el preprocesador C,
  2. el propio compilador de lenguaje,
  3. un enlazador,
  4. biblioteca / repositorios que contienen módulos de código de objeto “estándar” precompilados, algunos de los cuales deben formar parte de su imagen de código, a través del vinculador.
  5. un IDE o editor para crear y modificar la parte del código que escribe.
  6. Un depurador.
  7. Un sistema de control de versiones que le permite administrar potencialmente muchas “versiones” de su software, como una que funciona en Windows y una diferente que funciona en Linux, o varias versiones propietarias de UNIX. Cada “versión”, aunque pueden ser lógicamente idénticas con respecto a “lo que hacen” para un usuario, por lo general requiere un código fuente ligeramente diferente y procedimientos de “compilación” bastante diferentes, que también son código de texto (código de script) dirigido al SO línea de comandos, para invocar y animar la “cadena de herramientas” para producir la versión particular que desee. Para mantener todo esto en orden, a menudo se necesita un sistema de “control de versión” o “control de código fuente”.

Obviamente, aprender todas estas herramientas y detalles del entorno, “por diversión”, solo para hacer que una parte del código de los aficionados suba y baje, es difícil de manejar, en el mejor de los casos, insostenible en el peor de los casos. Para divertirse, simplemente desea escribir un programa, decirle a la computadora lo que quiere / necesita que se haga y luego simplemente ejecutarlo.

Algunos intérpretes, especialmente el BASIC que convirtió a Bill Gates en un multimillonario, son “su propia cadena de herramientas” y su propio REPL (google: esta respuesta ya es TL: DR). Escribe BASIC en la línea de comando del SO para ingresar al entorno BASIC; entonces usted puede escribir un código BASIC válido; (o el código de CARGA que escribiste ayer); y simplemente ejecuta el código. Si desea conservar el programa para mañana, simplemente GUARDE el texto del programa que escribió.

Hay otros lenguajes más modernos, en particular Python y Ruby, que tienen algunas o todas estas características de “cadena de herramientas corta”. Python le permite escribir un código de paradigma imperativo simple al principio y luego pasar a un código de paradigma más seguro y mejor orientado a objetos (OO) más adelante. Ruby está completamente orientada a los objetos desde el principio, lo que (para mí) lo hace menos amigable como un lenguaje “solo por diversión” y simple. Smalltalk es otra de esas “cadenas cortas de herramientas”, pero completamente en lenguaje OO, una diseñada para niños, aunque en la práctica no es muy utilizada por los niños. Sostengo que Smalltalk es menos usado como lenguaje de inicio, simplemente divertido, ya que OO es en sí un poco abstruso y no obvio, incluso desagradable, aunque sin duda produce un código de mayor calidad, más sólido y reutilizable en manos de un profesional descifrador.

Hay una buena razón por la que esencialmente todos los idiomas de los primeros treinta a cincuenta años de historia de la computación fueron paradigmas “imperativos” o “declarativos”, y OO solo se inventó más adelante en esa historia.

Explore los lenguajes dinámicos de la “cadena de herramientas corta”, con un modo de paradigma imperativo. Yo diría que empezar con Python. Elija un idioma que “lo llame a usted”, y vaya con él para divertirse.

Personalmente, creo que sería más fácil responder a la pregunta de en qué idiomas no es divertido programar, así que eso es lo que responderé. Porque en mi opinión, es una lista mucho más pequeña y, por lo tanto, con todas las demás con las que puedes divertirte.

Programar en COBOL, RPG definitivamente no es divertido. Y hasta cierto punto, muchos de los idiomas clásicos, como FORTRAN, no son divertidos.

Pero, ¿por qué no son “divertidas”? Creo que la respuesta está en las posibilidades, el control de E / S y la concisión.

Posibilidades, ¿el lenguaje te limita? ¿Cuáles son las capacidades?

Control de E / S, ¿qué tan difícil es hablarle al mundo?

Concisión, este aspecto es una espada de doble filo. Un lenguaje con palabras clave largas y una sintaxis que ordena verbosidad (como COBOL) es simplemente molesto para trabajar. Se tarda una eternidad en hacer lo más simple. Por otro lado, el código también puede ser extraordinariamente denso. Y cuando se vuelve denso, se vuelve difícil de entender. La mayoría de los procesos de negocios son proyectos en curso en los que se están mejorando o adaptándose continuamente a los aspectos cambiantes. Regresa y revisa un código denso que escribiste hace más de 6 meses, y te estarás rascando la cabeza durante una hora, ¿qué diablos estaba pensando? (Es por eso que los buenos comentarios son cruciales).

Por lo tanto, la concisión requiere un equilibrio. Y un buen lenguaje conciso necesita tener un buen mecanismo para comentar el código.

La diversión de la programación está en resolver un problema. Y en el uso de lo que creaste. Ya sea un juego o una herramienta de red, usar tu propio programa y verlo funcionar es una alegría.

Me divierto mucho cuando trabajo en un proyecto en el que pensé. Y cuando construyo ese proyecto, no quiero un lenguaje que lo haga más difícil.

Smalltalk . Es un lenguaje sumamente sencillo y elegante. ¡Toda su sintaxis puede caber en una tarjeta postal!

Smalltalk tiene la implementación más pura y limpia de los conceptos de POO de todos los tiempos. Es la mejor manera de aprender OOP.

Smalltalk tiene un IDE gráfico integrado que admite codificación en vivo y depuración . El IDE también es sumamente simple y elegante, por lo que Smalltalk es tan divertido de usar. Explica por qué Smalltalk es el lenguaje de programación más productivo del mundo.

Y con Pharo, Smalltalk es increíblemente versátil.

Cualquier lenguaje de programación se puede aprender por diversión, puede elegir como Python o Rubi, o cualquier cosa que desee.

Aprende esto desde aquí, y luego juega mientras escribes el código aquí.

Depende: “¿Qué te gusta?” Si hace esta pregunta a muchas personas, obtendrá respuestas muy diferentes.

Soy un amante de las motos super deportivas. Pero no soy un jinete profesional. Pero sé que si le preguntas a un ciclista profesional: “¡Oye, chico! ¿Vamos a divertirnos? ¿Vamos a ir conmigo?”. ¡No te espere ver una cara feliz! Debido a que VIVEN en motos súper deportivas, hacen esto todo el tiempo. No montan para divertirse.

Por otro lado: si vas con un vehículo súper deportivo en calles lentas, no es divertido. Si haces eso, entenderás lo que dije. Por lo tanto, si no necesita velocidad, no elija un idioma para hacer que las aplicaciones se ejecuten más rápido. Elige uno cómodo.

No soy un desarrollador profesional, así que:

Si te gusta la velocidad, aprende C / C ++. ¡Es aplicaciones que se ejecutan muy rápido! Pero C es incómodo de usar. C / C ++ es incómodo, es para velocidad!

¿Qué pasa si te gusta la sintonización de coches? ¡Hay algunos tipos que tienen un Volkswagen Gol whit 1000 + hp en Río de Janeiro!

¿Qué pasa con Python 2 + PyPy + CFFI? (otra vez: aprender C). Ruby es lento, pero existe Mruby, puedes construir módulos C ++ para Node.js y así sucesivamente …

Si te encanta codificar y la velocidad no es tan importante? ¿Qué pasa con Javascript o Python puro 3?

En mi opinión, los lenguajes SQL, HTML y CSS no son una opción. DEBES aprender eso.

Si te gusta el Linux Bash puede ser divertido. Perla tambien

Para web Ruby tiene un nicho.

Si eres un fanático de MAC, prueba Swift.

Para los matemáticos: el lenguaje R puede ser agradable.

Hay muchos otros idiomas, pero: ¡Cuídate! Algunos de estos han nacido muertos (estoy hablando de los modernos). Otros idiomas se están volviendo obsoletos, o ya lo son. Pero ¿y si te gustan los museos, o quieres saber algo que nadie sabe? Oh! esta pregunta es tan dificil hombre! Cómodo para mí, puede ser incómodo para ti.

Mi abuela dijo que pediste su respuesta. No soy ella. Soy su nieto Ella me molesta para responder preguntas de la computadora. Ella casi tuvo un ataque cuando recibió su solicitud, estaba tan emocionada.

¿Qué lenguaje de codificación deberías aprender para divertirte? La pregunta es algo atrasada. No aprendes un idioma por diversión. Quiero decir, es divertido aprender, pero esa no es la fuerza impulsora detrás de aprender un idioma.

Le doy la vuelta a la pregunta y le señalo: si supiera un idioma en este momento, ¿qué haría con eso? ¿Qué tipo de aplicación escribirías? Mac o PC? ¿Juego o algo serio? En otras palabras, ¿qué tipo de diversión quieres tener?

Cuando tenga las respuestas a esas preguntas, regrese y pregunte qué idioma debe aprender para crear esta aplicación que haya imaginado. Que te diviertas.

Ahora volvemos al canal de la anciana dulce, regularmente programado.

Cualquier idioma puede ser divertido. Depende de las fortalezas del lenguaje que sean más estimulantes para sus aplicaciones de entretenimiento.

Esto es como preguntar qué alimento contiene azúcar, es el más dulce.

Visual Basic y Perl. Son bastante fáciles. En cuanto a cómo aprender, comience con la idea de una pieza de software que desee crear, por ejemplo, algo que siempre quiso que su computadora hiciera, pero que pudiera encontrar la manera de hacerlo fácilmente. Entonces ve un paso a la vez. Haga muchas preguntas, incluso en Quora, pero obviamente hay otros foros que son mejores para la programación, como PerlMonks ( http://www.perlmonks.org/ ) para Perl y demás. También hacer un montón de googlear.

Follar

Solo tiene un pequeño puñado de caracteres que puedes usar:

  • + Para agregar uno a la “celda” actual
  • – Quitar uno de la “celda” actual.
  • . Para generar el carácter (por código ASCII) del valor de la “celda” actual
  • , Para esperar la entrada del teclado, coloque el código ASCII en la “celda” actual
  • [&] Para crear un bucle, que al principio de cada iteración, solo se ejecuta si la “celda” actual es más de 0
  • <&> Para cambiar la “celda” actual a una a la izquierda o la derecha, respectivamente

Brainfuck trabaja en la idea de un grupo de “celdas” (variables en una lista, en realidad), que puedes manipular. Es muy divertido descubrirlo, pero también es irritante. ¡Diviértete y feliz programando!

Hay un video en brainfuck aquí:

Cómo funciona Brainfuck

Si tienes una Mac, elegiría Swift.

Tiene “Parques infantiles”, donde puede obtener una buena idea sobre el idioma.

Y puede crear programas y aplicaciones completos para dispositivos Mac e iOS.

Además de eso, Xcode es gratis (incluido Swift), y también tiene gráficos para hacer juegos.

Como una alternativa ligeramente peculiar, Prolog!
https://bernardopires.com/2013/1

Literalmente cualquiera de ellos. Empezaría con la raqueta ya que tiene un material de enseñanza tan bueno.

Necesito programar algún producto interesante, como un juego, una aplicación, etc.

Siempre me divierto con Python, obtengo resultados rápidamente y es muy fácil de extender con un poco de funcionalidad.

Todavía quiero hacer algo con Erlang, creo que eso también sería divertido.

Elige 10 idiomas, haz Hello World en todos ellos.

¿Cuál fue la más divertida?

Elige esa.

CSS y jQuery …