zoukankan      html  css  js  c++  java
  • 很有意思的函数型语言Haskell

    最近在TSS看到对Dave Thomas的访谈,他提到了Haskell语言,我看了一下确实很有吸引力。美国的很多著名大学的计算机课程都是从函数型语言Lisp等开始的,但我感觉Lisp比较不好学,看着那些括号就头晕,相对来说Haskell要容易入门一些,这个语言是以一位计算机科学家的名字命名的。

    百闻不如一见,对比一下下面的快速排序算法就知道好处了。
    这种语言更接近于算法本身和数学,摆脱那些烦人的细节,好处太多了。

    Quicksort in Haskell

    qsort []     = []
    qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x
                     where
                       elts_lt_x   = [y | y <- xs, y < x]
                       elts_greq_x = [y | y <- xs, y >= x]
    

    Quicksort in C

    qsort( a, lo, hi ) int a[], hi, lo;
    {
      int h, l, p, t;
    
      if (lo < hi) {
        l = lo;
        h = hi;
        p = a[hi];
    
        do {
          while ((l < h) && (a[l] <= p)) 
              l = l+1;
          while ((h > l) && (a[h] >= p))
              h = h-1;
          if (l < h) {
              t = a[l];
              a[l] = a[h];
              a[h] = t;
          }
        } while (l < h);
    
        t = a[l];
        a[l] = a[hi];
        a[hi] = t;
    
        qsort( a, lo, l-1 );
        qsort( a, l+1, hi );
      }
    }
    参考




    http://www.haskell.org/
  • 相关阅读:
    第四章:(2)原理之 Dubbo 框架设计
    大三学习进度29
    大三学习进度27
    大三学习进度31
    大三学习进度24
    大三学习进度29
    大三学习进度26
    大三学习进度28
    大三学习进度25
    大三学习进度32
  • 原文地址:https://www.cnblogs.com/chenge/p/217072.html
Copyright © 2011-2022 走看看