我刚刚开始在我的大学学习计算机科学,他们教我们在Scheme中编程.
由于我在过去的6年里学过C++,所以Scheme对我来说有点奇怪.我的教师告诉我你可以编写任何你可以用C或Java编写的程序.
有人真的使用这种语言吗?
我知道并没有很多人使用它,但绝对值得一看(如果只是尝试在另一种范式中编程,那么你就会学会以不同的方式思考).你很幸运能够参加一个使用Scheme的课程,因为现在大多数大学都在教Java.如果你想看麻省理工学院的一些讲座或处理样本问题等,这里有一个很好的链接.
麻省理工学院开放课件 - 计算机程序的结构和解释
还有一本免费的在线书籍(计算机程序的结构和解释).
更新:
对于那些对使用JVM并且可以访问Java库的方案类似的语言感兴趣的人(因为很多大学使用Java),请查看Clojure.也许这将成为计算机科学引入的新选择语言(我们都希望!).
Square USA用它制作电影" 最终幻想".
以下是他们发表的一篇论文:将事物粘合在一起 - 实时CG内容制作中的方案.
从那篇论文:
在SIGGRAPH 2000和2001年,我们Square USA研发团队展示了完整的计算机生成电影"最终幻想:精神内部"的场景.
[...]
我们发现在实时渲染引擎中使用嵌入式Scheme解释器是非常有帮助的.
Scheme会让你对编程有不同的看法.试试心胸开阔!
"有人真的使用这种语言吗?"
保罗格雷厄姆,着名的.
JavaScript在许多方面与Scheme非常相似(尽管它缺少continuation和Scheme的高级数值系统).
来自" ECMAScript语言概述 "(PDF).2007-10-23.pp.4.检索2009-05-03.
ES3是一种简单,高度动态,基于对象的语言,它采用Self和Scheme语言的主要思想.编程风格是基于对象和函数编程的混合:ES3中的主要抽象机制是词法范围的高阶函数和可变对象......
我目前通过工作SICP演讲是阿伯尔森和萨斯曼在1986年给了惠普和布赖恩·哈维给加州大学伯克利分校CS61A播客(从同教的书),并计划进行操作,请与经验开放全新的思维方式.对于像我这样没有任何正式的CS高等教育的人,我强烈推荐它......
我已经在制作一个带有方案代码的项目,它可能是非常酷的东西.Scheme具有动态重新编译以自我优化执行的这一很酷的功能.我认为这就像离天网一步之遥.
我在大学里用它,但自那以后我就没用过了.
如果你对递归感到不稳定,我强烈推荐学习Scheme或Lisp.你将学习如何递归地思考各种各样的事情.递归始终是正确的方法吗?当然不是.但它是工具箱中的有用工具.
我总是鼓励开发人员学习新语言.你学习的语言越多,熟练掌握,你就会越抽象地思考问题.与特定语言联系越少,就越有可能选择最适合您问题的语言.
除了个人经验之外,您最接近客观猜测的是TIOBE指数,该指数目前将LISP/Scheme 21 评为市场份额的0.470%.TIOBE使用搜索引擎结果来创建列表.显然,你需要把这个列表(以及对Scheme使用的任何其他猜测)用一点点盐.
无耻的晋升:查看PLT计划.他们创建了一个很好的社区,为许多平台提供了他们的IDE,并为您提供了一个开箱即用的精选库.
这是一篇在商业应用程序中描述PLT Scheme的文章:http://www.untyped.com/downloads/icfp068-welsh.pdf.