Pregunta

Acabo de comenzar uno de mis cursos, ya que las clases comenzaron hace 2 semanas, y estamos aprendiendo Scheme ahora mismo en uno, supongo que por alguna razón más adelante, pero hasta ahora, lo que él está enseñando es básicamente cómo escribir en Scheme. .Mientras me siento aquí tratando de mantenerme despierto, solo intento comprender por qué querría saber esto y por qué alguien lo usa.¿En qué destaca?La próxima semana planeo preguntarle cuál es el objetivo de aprender aquí además de cómo escribir cosas en un esquema.

¿Fue útil?

Solución

Es un lenguaje de programación funcional y ampliará tu experiencia.

Incluso si no lo usas en el mundo real no significa que no tenga ningún valor.Le ayudará a dominar cosas como la recursividad y le ayudará a obligarse a pensar en los problemas de maneras diferentes a las que normalmente lo haría.

I desear Mi escuela nos obligó a aprender un lenguaje de programación funcional.

Otros consejos

Lenguajes como LISP (y el muy relacionado Scheme) son para la programación lo que el latín es para el inglés.

Es posible que nunca vuelvas a hablar latín ni un día en tu vida normal después de tomar un curso, pero simplemente aprender un idioma como el latín mejorará tu capacidad para usar el inglés.

Lo mismo ocurre con Scheme.

Veo a todas estas personas aquí diciendo que, si bien nunca volverían a usar Scheme, ha sido un lenguaje que vale la pena aprender porque obliga a cierta forma de pensar.Si bien esto puede ser cierto, espero que aprenda Scheme porque eventualmente lo encontrará útil y no simplemente como un ejercicio de aprendizaje.

Aunque no es increíblemente rápido como un lenguaje compilado, ni es particularmente útil para servir sitios web o analizar texto, descubrí que Scheme (y otros ceceos por extensión) no tienen paralelo en lo que respecta a simplicidad, elegancia y poderosa manipulación funcional. de estructuras de datos complejas.Para ser honesto, creo que en Scheme.Es el idioma en el que resuelvo problemas.No renuncies ni simplemente toleres Scheme: dale una oportunidad y no te decepcionará.

Por cierto, el mejor IDE para Scheme es DrScheme, y contiene extensiones de idioma para hacer cualquier cosa que puedas hacer en otro idioma, y ​​si encuentras algo que no puedes, puedes usar C FFI y escribirlo tú mismo.

Algunas personas dicen que la mayor fortaleza de Scheme es como lenguaje de enseñanza.Si bien es muy beneficioso aprender programación funcional (es una forma de pensar completamente nueva), otro beneficio del aprendizaje de esquemas es que también es "puro".Seguro que no puede hacer un montón de cosas como Java, pero eso también es lo bueno de él: es un lenguaje hecho enteramente de paréntesis, caracteres alfanuméricos y un puñado de signos de puntuación más.

En mi curso de introducción, nos enseñan Java y veo a muchos de mis amigos luchando con 'public static void main' a pesar de que ese no es el objetivo del programa y cómo los profesores no tienen más remedio que 'agularlo' hasta que lo hagan. somos más avanzados.No ves eso en Scheme.

Si realmente quieres saber qué puede hacer Scheme en un pedazo de pastel que es realmente difícil de implementar en lenguajes como Java, te sugiero que mires esto: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-12.html#%_sec_1.3

Este es probablemente el mejor libro escrito sobre Scheme.

Yo sugeriría mantener un mente abierta al aprender.La mayor parte del tiempo en la escuela no comprendemos completamente qué o por qué estamos aprendiendo una materia en particular.Pero como lo he experimentado un millón de veces en la vida, resulta muy útil y al menos ser consciente de ello te ayuda.Scheme, lo creas o no, te convertirá en un mejor programador.

La NASA utilizó el esquema para programar algunos de los vehículos exploradores de Marte.Su uso en el mercado es bastante específico, pero como estoy seguro de que tus profesores te dicen, las cosas que aprendas en Scheme se trasladarán a la programación en general.

Mi problema fue que cuando aprendimos esto aprendimos a clip junto con él.No pude mantener los dos estrechos para salvar mi vida.

Sin embargo, lo que aprendí de ellos fue cómo escribir mejor código C y Java.Esto se debe simplemente al diferente estilo de programación que aprendí.He adaptado más el estilo funcional a parte de mi programación y me ha ayudado en algunos casos.

Nunca querría volver a programar en esquema o ceceo si no fuera necesario, pero me alegro de haber hecho al menos un poco en ellos solo para aprender la forma diferente de programar.

Trate de no concentrarse en detalles como el paréntesis y car/cdr.La mayor parte de lo que estás aprendiendo se traduce a otros idiomas de una forma u otra.No se preocupe si puede o no llevar Scheme al mercado; es probable que aprenda otros idiomas más comercializables en otras clases.Lo que estás aprendiendo aquí es más importante.

Si está aprendiendo esquemas, puede aprender todo sobre cómo se implementan los sistemas de objetos (pista:un sistema de objetos no siempre se trata de un tipo que tiene métodos y variables de instancia vinculados a él...).Si bien este tipo de conocimiento no le ayudará en el 95% de su trabajo diario, durante el 5% de su trabajo dependerá de ese conocimiento.

Además, puede aprender sobre estilos de cálculo completamente diferentes, como flujos/evaluación diferida o incluso programación lógica.También podrías aprender más sobre cómo se interpretan los programas informáticos en general;desde los conceptos básicos sobre cómo se evalúa el código de un programa hasta aspectos más profundos como crear su propio intérprete y compilador).Conocer este tipo de información es lo que separa a un buen programador de un gran programador.

Scheme no es realmente un lenguaje funcional, es más independiente del método que eso.Quizás más concretamente, Scheme es un lenguaje excelente para elegir si desea explorar diferentes métodos de cálculo.Como ejemplo, se construyó un lenguaje funcional altamente paralelo, "Termite", sobre Scheme.

En resumen, el objetivo del esquema de aprendizaje es que puedas aprender los fundamentos de la programación.

Si necesita ayuda para hacer que la programación en esquema sea más agradable, no dude en preguntar.Muchos programadores se obsesionan (por ejemplo) con los paréntesis, cuando hay formas perfectamente excelentes de trabajar con el código fuente del esquema que hace que los paréntesis sean algo para apreciar, en lugar de odiar.Como ejemplo, emacs con modo paredit, algún tipo de modo de interacción de esquema y modo de paréntesis resaltado es bastante impresionante.

Los lenguajes funcionales como Scheme tienen una gran aplicación en matemáticas, inteligencia artificial, lingüística y otras áreas altamente teóricas de la informática (aprendizaje automático, procesamiento del lenguaje natural, etc.).Esto se debe a la pureza de los lenguajes de programación funcionales, que no tienen efectos secundarios, así como a su capacidad para navegar con facilidad en procedimientos de orden superior.Un sólido conocimiento de los lenguajes de programación funcionales es fundamental para resolver muchas de las cuestiones que se ciernen más allá de las fronteras de la informática.Como beneficio adicional, obtendrá excelentes resultados con los procedimientos de orden superior y la recursividad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top