网络书屋(Web Reading Room)

A blogging framework for hackers.

Language Limits the World of You

  1. 语言可以削尖我们的思维。
  2. 语言也会限制我们的世界。
  3. 好的语言一定会影响你的思维方式,haskell,scheme,lisp

Language shapes the way we think, and determines what we can think about. Benjamin Lee Whorf


The limits of my language mean the limits of my world. Ludwig Wittgenstein


A language that doesn’t affect the way you think about programming, is not worth knowing. Alan Perlis


Who uses Haskell?

  • AT&T : automate form processing
  • Bank of America Merril Lynch : data transformation and loading
  • Bump : Haskell-based server
  • Facebook : manipulating PHP code base
  • Google : internal IT infrastructure
  • MITRE : cryptographic protocol analysis
  • NVIDIA : in-house tools
  • Qualcomm, Inc : generate Lua bindings

Types

Every function in haskell has a Type signature.

1
2
foo :: Int -> String
  

I don’t know what foo means,but I know what it does!

Haskell引进了很多模块化思想,比如module,import导包的,下面的这些书都可以在 新浪微盘找到:

书籍

  • Book1: Books for Learning Haskell
  • Book2: Learn You a Haskell for Great Good! (Important)
  • Book3: Real World Haskell(Important)
  • Book4: Beginning Haskell
  • Book5: Thinking Functionally with Haskell
  • Book6: Parallel and Concurrent Programming in Haskell
  • Book7: Programming in Haskell
  • Book8: Haskell: The Craft of Functional Programming (Important)
  • Book9: The Haskell School of Music
  • Book10:Developing Web Applications with Haskell and Yesod

Functional:

  • Haskell, Lisp, ML, Scheme, Erlang Focuses on the high-level “what”(Math thinking)

    Imperative:

  • C++, Java, Python, Pascal Focuses on the low-level “how”(Computer Thinking) Haskell Learning Center