On Wed, 2010-05-05 at 17:18 -0400, Kyle Murphy wrote:
> Concerning your second point, I think just about any functional
> language isn't going to be simple or quick to learn. It's simply not a
> way of approaching problems that your average person (even your
> average programmer) is used to dealing with. Things like fold and map,
> the work horses of functional programming, are simply too foreign to
> most peoples imperative way of approaching problems.
> 
> -R. Kyle Murphy 

Sorry - I wanted to respond to many posts in this thread but I choose
the first post:

1. While doing fold/map may not be what is simple for average programmer
I guess pattern matching/some HL functions can be relatively simple for
others (pureness on the other hand do not). For example average person
thinks "Add 1 to each element of list".

Imperative way:

for i = 0 to l.length:
        l[i] = l[i] + 1 # WTF? There is no x such that x = x + 1

Functional way:

callOnEvery _ [] = [] 
callOnEvery f (x:xs) = f x:xs -- Built-in function 'map'
                              -- Name could be 'better'

add1 x = x + 1

add1ToEachElement xs = callOnEvery add1 xs

Please note that I heard about person who wrote 'awesome game' in .exe
file (definitely _declarative_ style of programming ;) ) and expected it
to run ;) [Although fortunately it was 'hobbiest'].

2. Lisp readability depends much on formatting. While I cannot write
LISP I'm usually able to read it)

(defun hello-world ()
        (format t "hello, world"))

Is a merge between:

def hello_world():
        print "hello, world"

and

void hello_world() {
        println("hello, world")
}

Of course you can write obfuscation competition entries in LISP.

3. For the list of universities that first teaches functional
programming - ICL begins with Haskell and from non-imperative languages
Prolog is in the first year curriculum.

Regards

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to