我刚刚开始了我的一门课程,因为课程刚刚在2周前开始,我们现在正在学习Scheme,因为我稍后会考虑一些原因,但到目前为止他所教的内容基本上是如何写入计划的.当我坐在这里试图保持清醒时,我只是想弄清楚为什么我想知道这个,以及为什么有人使用它.它擅长什么?下周我打算问他,目前在这里学习的目标不仅仅是如何在计划中写东西.
它是一种函数式编程语言,可以很好地拓宽您的体验.
即使你不在现实世界中使用它并不意味着它没有任何价值.它将帮助您掌握诸如递归之类的内容,并帮助您以不同的方式强迫您思考问题.
我希望我的学校强迫我们学习函数式编程语言.
LISP(以及非常密切相关的计划)等语言是将拉丁语编程为英语.
在参加一门课程后,你可能再也不会在正常生活中讲拉丁语了,但只是学习像拉丁语这样的语言会提高你使用英语的能力.
Scheme也是如此.
我看到这里所有这些人都说虽然他们再也不会真正使用Scheme了,但它仍然是一种值得学习的语言,因为它强迫某种思维方式.虽然这可能是真的,但我希望你能学习Scheme,因为你最终会发现它很有用,而不仅仅是学习练习.
虽然它不像编译语言那样快速,但在服务网站或解析文本方面也没有特别有用,但我发现Scheme(以及扩展中的其他lisps)与简单,优雅和强大的功能操作无关复杂的数据结构.说实话,我想在Scheme.这是我解决问题的语言.不要放弃或只是容忍计划 - 给它一个机会,它不会让你失望.
顺便说一句,Scheme的最佳IDE是DrScheme,它包含语言扩展,可以用其他语言做任何事情,如果你发现它不能,你可以只使用C FFI并自己编写.
有人说Scheme的最大优势是教学语言.虽然学习函数式编程(这是一种全新的思维方式)非常有益,但学习方案的另一个好处是它也是"纯粹的".当然它不能做很多像java这样的东西,但这也是它的优点,它是一种完全由括号,字母数字字符和少数其他标点组成的语言.
在我的介绍课程中,我们学习Java,我看到很多朋友都在为'public static void main'而苦苦挣扎,尽管这不是程序的重点,教授们别无选择,只能'手持'直到他们'更高级.你没有在Scheme中看到它.
如果你真的想学习一个方案可以做的事情,那就像Java这样的语言很难实现,我建议你看看:http://mitpress.mit.edu/sicp/full-text/book/本书-ZH-12.html#%_ sec_1.3
这可能是关于Scheme写的最好的书.
我建议在学习时保持开放的心态.在学校的大部分时间里,我们并不完全理解我们学习某一特定科目的原因.但是,正如我在生活中经历了大约一百万次,它结果非常有用,至少意识到它对你有帮助.方案,信不信由你,会让你成为一个更好的程序员.