包括我在内的大多数人都需要实践和示例来理解指针是什么以及它们为什么重要。
见鬼,在Haskell中连分号都不一样。
奇怪的是没有,很少有人每天使用函数式编程语言。
是的,也有惊喜。
再一次,如果你只看一眼它们,它们都是相似的。
它给你的初次印象不友善我7岁时开始编程,在郊区漫长而无聊的夏天里,我在祖父的电脑上闲逛。
指针是一个非常强大且具有基本功能的概念。
在我看来,它的难易程度与你是否熟悉它有关,而这个难易程度是一个重要的指标:学习这样一门语言会让你更有效率,更有能力进行编程。
是的,您可能偶尔会使用一两个函数式语言特性,例如块,但人们不进行函数式编程。
我学习了BASIC并用它在屏幕上画了一个弹跳球。
但它也暗示了这样做所需要的困难和努力。
如果你想成为一名优秀的程序员,你必须了解指针。
这个行业的绝大多数人使用面向对象的编程语言,如Python、Ruby、Java或C#——,他们觉得这些语言很舒服。
粗俗的人说这是下流或玩学术或干脆不要。
并且,就像是当年我们刚开始学习编程一样,一些很大的概念看起来会让人迷惑茫然,让人沮丧,直到你去攻克(以及失败)它们。
但是我想几乎每个学过编程的人都经历过困难。
就像是完全再学习一次指针。
Ruby爱好者在学习Python时会对它的理解感到惊讶,而Java用户会对C#中的委托感到困惑。
新奇事物一旦你学会了几种语言,所有的语言都会开始变得相似。
所以,跟学了Java后再学C#不一样,有志向学习函数式语言的人需要往回走的更远,去学习更加基础的概念后才能接下去学习。
很少有人能轻易掌握它们。
我可以肯定地说,如果您还没有学习过Lisp语言,您会发现所有Lisp变体都是相似的。
那就是:指针。
会Python的人学习Ruby可能不会有太多问题,而会Java的人会觉得C#很熟悉。
我大约10岁时学习了C,但直到我上高中时才碰上了我无法逾越的墙。
当报道产品发布会的记者打电话给我们时,我们的产品已经具有相同的功能。
优雅的人说这是Lisp语言深度和广度的体现。
这种艰难的努力过程并非偶然,而是几乎普遍存在的现象。
我们在学习了一些基础知识之后,难免会遇到一些公认的概念障碍,比如指针。
我还记得第一次阅读ESR关于学习Lisp的著名本文时的困惑。
我学习了Pascal并用它编写了一个通过PC扬声器播放音乐的程序。
也许你的故事与我的相似,也许完全不同。
学习它会让你成为更好的程序员,并让你更直观地思考。
即使没有这些该死的指点,我在写作、阅读、学习和实践中也遇到了无数次失败。
我把祖父的硬盘毁了两次(一次是不小心),结果不得不自己重装操作系统很多次。
然而,多年来,我们一直被教导说函数式编程语言很好,很棒。
许多计算机科学教授会在他们的课程中将指针描述为过滤器。
即使你使用的语言不提供像指针这样的特性,数据结构和类似于指针的概念也比比皆是。
或许大多数人都比较熟悉PaulGraham的《BeatingTheAverages》文章:使用Lisp开发使我们能够如此快速地迭代我们的开发周期,有时当竞争对手在一两天后的新闻发布会上推出他们的新功能时,我们能够复制相同的功能。
据说大多数人在第一次使用Haskell或Ocaml时完全不知所措。
您需要以不同的方式开发应用程序,以不同的方式组织应用程序,并以不同的方式扩展应用程序。
那些转向函数式编程的人一直以来的一个共同考虑是,学习这种新的函数式语言对你有好处;就像有人建议每天在健身房锻炼30分钟会让你身体健康。
与Haskell、Ocaml和Scala不同,Lisp是出了名的难学。
我失败了,一次又一次地失败。
这不是语法问题;Haskell和ML语言完全基于不同的概念,一种新的语言范式。
许多这些新概念都非常强大。
Haskell中的Monad是一个与指针一样基础和强大的概念(你可能不知道它叫什么的情况下就已经使用过它们了)。
如果您使用Scala、Haskell、Erlang、F#或Lisp的某些方言进行编程,很可能没有公司愿意雇用您。
标签: 学习函数式编程的理由、 北京网站制作、本文地址: https://yihaiquanyi.com/article/bcad2faa029bd1079d13.html
上一篇:北京网站制作NET程序员不要错过这么强大的T...