代码之家  ›  专栏  ›  技术社区  ›  Erik Forbes

Lisp如何使我成为更好的C开发人员?[关闭]

  •  12
  • Erik Forbes  · 技术社区  · 15 年前

    我正在考虑学习一种Lisp方言(可能是计划,因为我经常听到它是一种很好的学习语言),以提高我的一般编程技能。

    除了学习任何一种新语言都能帮助你成为一个更好的程序员之外,学习Lisp如何能使我成为一个更好的C程序员呢?

    7 回复  |  直到 12 年前
        1
  •  9
  •   R. Martinho Fernandes    15 年前

    我认为学习一门功能性语言所能获得的最好的收获就是开始以一种更具声明性、更少命令性的方式思考。这将导致编写更可读、可维护和可组合的代码。

    当你开始工作的时候,你学到的另一件事是纯函数的重要性,即没有副作用的函数。

    因为C已经获得了越来越多的功能性和声明性特性,比如闭包(aka lambdas)和linq,所以您可以更好地理解使用这些构造进行编程。我很容易理解延迟执行,这是最常见的LINQ陷阱,因为我已经摸索了haskell,一种懒惰的评估函数语言。

        2
  •  11
  •   Robert Harvey    15 年前

    为什么函数编程很重要? http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html

    击败保罗·格雷厄姆的平均成绩
    http://www.paulgraham.com/avg.html

        3
  •  4
  •   Doc Brown    15 年前

    几年前乔尔写了一篇文章 about programmers knowing anything but Java 以及为什么学习类似计划的东西是个好主意。我认为这些论点也适用于C。另一个很好的原因是有一本关于编程的好书, 'Structure and interpreation of computer programs' by Abelson and Sussman 它使用了方案,可以让您对不同的编程概念有很多新的见解。

        4
  •  4
  •   Luke Girvin Nathan Bedford    15 年前

    你应该学习口齿不清,这样你才能理解 metaprogramming . 如果你还没有这样做,你应该学会使用 Emacs 试着写些 Emacs Lisp . 之后,尝试进行编程 Common Lisp 使用 SLIME .

        5
  •  2
  •   Steven Sudit    15 年前

    首先,您可以从内部和外部学习递归。

        6
  •  1
  •   Mark Bolusmjak    15 年前

    学习计划的一个很好的原因是它经常被用作一种教学语言。因此,以Scheme为目标语言的优秀(学术)书籍和论文有很多。

    谷歌:

    • EOPL
    • SiCp
    • HTDP
    • 小巧玲珑
        7
  •  1
  •   Kugel    15 年前

    学着学着,然后惊奇地回来告诉我们。