Scheme 学习计划的好处?

Scheme 学习计划的好处?,scheme,Scheme,我刚刚开始了我的一门课程,因为两周前才开始上课,我们现在正在一个课程中学习计划,因为我想稍后会有一些原因,但到目前为止,他所教的基本上是如何在计划中写作。当我坐在这里试图保持清醒时,我只是想弄明白为什么我想知道这个,为什么有人使用它。它擅长什么?下周我计划问他,除了如何在scheme中编写东西之外,在这里学习的目标是什么。这是一种函数式编程语言,可以很好地扩展您的经验 即使你没有在现实世界中使用它,也不意味着它没有任何价值。它将帮助你掌握像递归这样的东西,并迫使你以不同于平常的方式思考问题 我希

我刚刚开始了我的一门课程,因为两周前才开始上课,我们现在正在一个课程中学习计划,因为我想稍后会有一些原因,但到目前为止,他所教的基本上是如何在计划中写作。当我坐在这里试图保持清醒时,我只是想弄明白为什么我想知道这个,为什么有人使用它。它擅长什么?下周我计划问他,除了如何在scheme中编写东西之外,在这里学习的目标是什么。

这是一种函数式编程语言,可以很好地扩展您的经验

即使你没有在现实世界中使用它,也不意味着它没有任何价值。它将帮助你掌握像递归这样的东西,并迫使你以不同于平常的方式思考问题


我希望我的学校强迫我们学习函数式编程语言。

我的问题是,在学习函数式编程语言的同时,我们也学习了clisp。为了救我的命,我无法保持两条海峡

不过,我从他们那里学到的是如何编写更好的c和java代码。这仅仅是因为我学到了不同的编程风格。我在一些编程中采用了更多的函数式风格,这在某些情况下对我有所帮助


如果不是必须的话,我再也不想用scheme或lisp编程了,但我很高兴我至少在它们中做了一点,只是为了学习不同的编程方式。

有人说scheme最大的优势是作为一种教学语言。虽然学习函数式编程非常有益(这是一种全新的思维方式),但学习scheme的另一个好处是它也是“纯粹的”。当然,它不能像java那样做很多事情,但这也是它的优点,它是一种完全由括号、字母数字字符和少量其他标点组成的语言

在我的介绍课程中,我们学习Java,我看到我的很多朋友都在为“publicstaticvoidmain”而挣扎,尽管这不是程序的重点,而且prof们除了“手工保存”它,别无选择,直到他们更高级。你在计划中看不到这一点

如果您真的想了解Scheme可以在一块蛋糕上做什么,而这在Java等语言中很难实现,我建议您看看以下内容:

这可能是关于Scheme的最好的一本书。

像LISP这样的语言(以及与Scheme密切相关的语言)对编程的作用就像拉丁语对英语的作用一样

修完一门课程后,你可能再也不会在日常生活中说拉丁语了,但简单地学习拉丁语将提高你使用英语的能力


Scheme也是如此。

我看到这里所有的人都说,虽然他们再也不会真正使用Scheme了,但它仍然是一种值得学习的语言,因为它迫使人们采用某种思维方式。虽然这可能是真的,但我希望你们能学习这个计划,因为你们最终会发现它是有用的,而不仅仅是一个学习练习

尽管它不像编译语言那样速度极快,在服务网站或解析文本方面也不是特别有用,但我发现Scheme(以及其他扩展的Lisp)在复杂数据结构的简单性、优雅性和强大的函数操作方面是无与伦比的。老实说,我认为这是个阴谋。这是我解决问题的语言。不要放弃或仅仅容忍这个计划——给它一个机会,它不会让你们失望


顺便说一句,Scheme最好的IDE是,它包含语言扩展,可以用另一种语言做任何你能做的事情,如果你发现它做不到的事情,你可以使用C FFI自己编写。

Scheme被NASA用来为一些火星探测器编程。它在市场上的使用是非常具体的,但正如我确信你们的老师告诉你们的,你们在Scheme中学到的东西通常会延续到编程中。

尽量不要被括号和car/cdr之类的细节所纠缠。你所学的大部分内容都会以这样或那样的方式翻译成其他语言。不要担心你是否能把Scheme带到市场上,很可能你会在其他课程中学习到其他更畅销的语言。你在这里学到的东西更重要

如果您正在学习scheme,您可以了解所有关于对象系统是如何实现的(提示:对象系统并不总是关于绑定了方法和实例变量的类型…)。虽然这种知识对你95%的日常工作没有帮助,但对于你5%的工作,你将依赖于这种知识

此外,您还可以了解完全不同的计算风格,例如流/延迟计算,甚至逻辑编程。您还可以了解更多有关计算机程序一般如何解释的信息;从如何评估程序代码的基础知识,到更深入的方面,如制作自己的解释器和编译器)。了解这类信息是区分优秀程序员和伟大程序员的关键

Scheme并不是真正的函数式语言,它更不依赖于方法。也许更重要的是,如果您想探索不同的计算方法,Scheme是一种非常好的语言。例如,在Scheme的基础上构建了一个高度并行的函数式语言“Termite”

简言之,学习计划的重点是让您能够学习编程的基础知识


如果您需要帮助使scheme中的编程更有趣,请不要害怕询问。例如,当有非常好的方法来处理scheme源代码时,许多程序员都会对括号产生兴趣,这使括号变得值得珍惜,而不是憎恨。例如,带有paredit模式、某种模式交互模式和突出显示括号模式的emacs非常棒。

我建议保持开放的心态