学习计划的好处?

时间:2020-03-06 14:24:17  来源:igfitidea点击:

我刚刚开始我的一门课程,因为两周前才开始上课,并且由于稍后的某些原因,我们现在正在一起学习Scheme,但是到目前为止,他所教的基本上是如何编写Scheme 。当我坐在这里试图保持清醒时,我只是在试图理解为什么我想知道这一点,以及为什么有人要使用它。它擅长什么?下个星期我打算问他,除了在方案中写东西以外,在这里学习的目标是什么。

解决方案

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

即使我们没有在现实世界中使用它,也不意味着它没有任何价值。它将掌握递归之类的内容,并以不同于通常的方式来思考问题。

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

我的问题是,在学习此技巧的同时,我们也学会了剪辑。我不能挽救这两个海峡以挽救我的生命。

我确实从他们那里学到了如何编写更好的c和java代码。这仅仅是因为我学到了不同的编程风格。我已经将更多的功能样式改编为我的某些编程,在某些情况下它对我有所帮助。

如果不需要的话,我永远也不想再编程,但是我很高兴我至少在其中做了一些工作,只是学习了不同的编程方式。

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

在我的入门课程中,我们学习了Java,而且我看到很多朋友都在为" public static void main"而苦苦挣扎,尽管这不是程序的重点,教授们别无选择,只能将其"手摇"直到他们离开。再先进一点。我们没有在Scheme中看到。

如果我们真的想学习Scheme可以做什么,而用Java之类的语言很难实现,那我建议我们看一下:http://mitpress.mit.edu/sicp/full-text/book/ book-ZH-12.html#%_ sec_1.3

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

LISP(以及与之密切相关的Scheme)之类的语言用于编程拉丁语对英语。

学习完课程后,我们可能永远不会再有一天会说拉丁语,但是仅仅学习拉丁语这样的语言就会提高英语使用能力。

对于Scheme同样如此。

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

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

顺便说一下,Scheme最好的IDE是DrScheme,它包含语言扩展以完成我们可以用另一种语言执行的任何操作,如果发现不能执行的操作,则可以使用C FFI自己编写。

NASA使用该计划对某些火星探测器进行了编程。它在市场中的用法是非常特定的,但是就像我确定老师告诉那样,我们在Scheme中学习的内容将普遍应用于编程。

尽量不要陷入括号和car / cdr之类的细节。我们正在学习的大多数内容都会以一种或者另一种方式翻译成其他语言。不必担心是否可以将Scheme推向市场,否则我们可能会在其他课程中学习其他一些更适合销售的语言。我们在这里学习的内容更为重要。

如果我们正在学习方案,则可以了解有关对象系统如何实现的所有信息(提示:对象系统并不总是与绑定了方法和实例变量的类型有关……)。尽管这类知识对我们95%的日常工作无济于事,但对于5%的工作,我们将依赖于该知识。

此外,我们可以了解完全不同的计算方式,例如流/惰性评估,甚至逻辑编程。我们还可以了解更多有关一般如何解释计算机程序的信息。从如何评估程序代码的基础到更深层次的方面,例如制作自己的解释器和编译器。知道这类信息是将优秀的程序员与优秀的程序员区分开来的原因。

Scheme并不是真正的功能语言,它与方法无关。也许更重要的是,如果我们想使用不同的计算方法进行探索,Scheme是一种很好的选择语言。例如,在Scheme之上构建了高度并行的功能语言"白蚁"。

简而言之,学习方案的重点是使我们可以学习编程的基础知识。

如果我们需要一些帮助使计划中的编程变得更加愉快,请不要问。当有非常好的方法来使用计划源代码时,很多程序员都会迷上括号,例如,使括号变得珍惜而不是讨厌的方案源代码。例如,具有paredit模式,某种方案交互模式和高亮括号模式的emacs非常棒。

我建议学习时保持开放的心态。在学校大部分时间里,我们无法完全理解我们正在学习什么/为什么要学习特定学科。但是,正如我在一生中经历了大约一百万次一样,它变得非常有用,至少知道这一点对我们有帮助。不管我们信不信,Scheme将使我们成为一个更好的程序员。