2009-03-13 6 views
8

Muchos lenguajes de programación se presentan con un simple programa "Hello World".¿Qué es una vista previa de introducción de idiomas mejor que "Hello World"?

Como programador, debo admitir que esto no da una idea muy buena de las fortalezas y capacidades del lenguaje.

¿Qué tipo de problema sugeriría utilizar al proporcionar una demostración de un lenguaje de programación?

+1

Una excelente pregunta. Dichos ejemplos también podrían funcionar como un tutorial para el idioma. Frecuentemente me siento frustrado tratando de aprender nuevos idiomas, cuando los tutoriales tienden a suponer que el lector no tiene conocimientos previos de programación. Prefiero simplemente tener una colección de soluciones idiomáticas. – TrayMan

Respuesta

14

Creo que el programa "Hello World" tiene sus aplicaciones. Se dice mucho si se puede ejecutar ese programa:

  • Usted tiene su IDE/Herramientas de configuración correctamente
  • Usted puede escribir una clase y o método principal en ese idioma
  • Puede llamar a una función en ese idioma para imprimir
  • Puede editar un archivo y formatearlo correctamente para ese idioma
  • Su compilador funciona y usted sabe cómo usarlo.

Así que, por esas razones, no encuentro una mejor alternativa que "Hello World".

Sin embargo, en términos de una buena introducción a los idiomas en general, soy un gran fanático de la codificación de desafíos como Python Challenge. Te dan una serie de desafíos/rompecabezas que tienes que completar con el idioma. Comienzan extremadamente básicos (el primero es más fácil que escribir un mundo de hola).

Pasan rápidamente a tareas más difíciles y avanzadas, y generalmente son tareas que tienen la intención de mostrar un aspecto particular del idioma.

Ojalá todos los idiomas tuvieran un desafío de programación tan divertido. Creo que un desafío LISP, Haskell, C++, C, Java, etc. sería una introducción divertida a los idiomas para las personas. Se pueden adaptar a los idiomas.

El reto de C++ podría comenzar rápidamente a tener desafíos que involucren punteros y otros aspectos comúnmente incomprendidos para ayudar a llevar a casa esas partes difíciles, mientras que los desafíos de LISP/Haskell podrían comenzar a plantear preguntas más adaptadas a los lenguajes funcionales.

+0

Siempre puede adaptar el desafío a cualquier otro idioma. Solo significa que tendrá menos mano y algunos de los consejos no funcionarán tan bien: P –

+0

@ X-Istence, muchos de los desafíos están destinados a mostrar una característica de Python.Entonces sí, puedes completar todos los desafíos 5 y 23 con otro idioma. Sin embargo, no tendría el mismo efecto. – mmcdole

+0

¡Gracias por ese enlace al Python Challenge! – onnodb

3

En mi humilde opinión, el propósito del programa hello world es mostrar un programa muy simple en ese idioma, no para mostrar las fortalezas y capacidades.

Sería difícil ya que cada idioma tiene sus propias fortalezas. Comparando un conjunto estándar de funciones para cada idioma podría pedir problemas, especialmente para un libro de introducción.

0

Depende de qué función principal del idioma lo distingue de otros idiomas. El Haskell quicksort comes to mind.

Con eso dicho, hola mundo hace muestra cómo producir inmediatamente algún tipo de salida.

0

Personalmente, cuando empiezo con un nuevo lenguaje de programación, intento reescribir un fragmento de código que ya he escrito en otro idioma para que pueda conocer el idioma y ver cómo se relaciona con lo que ya aprendí en mis experiencias previas de programación.

La gente sugiere programar cosas simples como árboles de búsqueda binarios, y otras estructuras de datos junto con una manera simple de probar que funciona. La otra cosa es no darse por vencido en el lenguaje de programación cuando las cosas empiezan a complicarse o no encajan con su experiencia previa.

¿Cómo buscar las fortalezas en los lenguajes de programación? Bueno, comience escribiendo una pequeña aplicación y luego, una vez que tenga una idea del lenguaje, vea los proyectos de código abierto escritos en este idioma. Vea lo que hace muy bien, mire las listas de correo que encontraron las partes difíciles para ese proyecto, donde tuvieron que trabajar en torno a cierta idiosincrasia en el lenguaje que les causaba problemas.

Ciertos idiomas que usted sabe de inmediato que estaban destinados a una determinada tarea y su uso fuera de esa tarea no es recomendable. Por ejemplo, PHP es un lenguaje de programación web, el hecho de que pueda escribir grandes programas en él y ejecutarlos en la línea de comandos no significa que sea un lenguaje que debe usarse para esas tareas.

5

Si usted está preocupado por el alcance de un programa "hola mundo", siempre se puede actualizar a "hola universo"

2

"99 botellas de cerveza" es un ejemplo un poco más complicado que "Hola mundo", por lo que puede mostrar las cosas que diferencian a un idioma de los demás .

Consulte http://99-bottles-of-beer.net/.

0

Estuve muy favorablemente impresionado por la elección de Bjarne Stroustrup para hacer una calculadora bastante poderosa, incluido el análisis sintáctico. Esperaba que sería muy difícil como primer proyecto, pero hace un excelente trabajo paso a paso. Y la aplicación final no es un juguete.

Todo en su nuevo libro, Principios de programación y práctica en C++.

0

I algunos casos "Hola mundo" puede ser no trivial. Ver por ejemplo Struts 2 "Hello world". Para que funcione tendrá que configurar el servidor, configurar el entorno, implementar su aplicación, etc.

0

Bueno, un "blinky" es una buena alternativa, pero eso es más en el mundo integrado que esto es relevante ...

Para usted que se pierde el parpadeo, es solo para encender y apagar un LED a un ritmo constante. Tipo de muestra cómo trabajar con gpio.

/Johan