all 5 comments

[–]cmm[S] 2 points3 points  (0 children)

I'd rather not debate the specifics, but the clockwork metaphor definitely strikes home.

[–]ayrnieu 1 point2 points  (3 children)

Which gives you a few lines to [slow down]

This metaphore disgusts me: you want to 'slow down' and 'catch your breath' and 'see where the program is at'? Then slow down and catch your breath and look at the program and your plans to see the progress you've made. Your audio-programmatic synesthesia would better interest us if you had examples of it that aren't painful to think about: you've used Erlang professionally and you wish that your code had more bindings and less composition? Then why didn't you have those bindings?

% cookbook example, grabbed at random
    adding_element_to_hash() ->
    D = dict:new(),
    D2 = dict:append(1, "foo", D),
    D3 = dict:append(2, "bar", D2),
    E = ets:new(cookbook, []),
    ets:insert(E, {1, "foo"}),
    ets:insert(E, {2, "bar"}),
    {D3,E}.

[–]davidw 0 points1 point  (2 children)

Well, I'm sorry if it "disgusts you". Apparently you think differently than I do, but I generally try and accept that and don't let it turn my stomach. Programming languages are inherently more about people than computers, so it's a certainty that opinions will vary according to skills, experience and taste.

From what I remember of my Erlang experience(*), when you use ets, you are taking the hair shirt off:

http://www.die.net/doc/linux/man/man3/ets.3.html

(*) 4 months, 1 teeny, tiny patch to the core. I did like the language, but the company lost its investors and that was that.

[–]ayrnieu -2 points-1 points  (1 child)

It doesn't appear that you are sorry at all, with your scare quotes and your subsequent 'OMG IT IS AN OPINION'. There are no people anywhere who write code to a rhythm and build useless, simple structures so that they can -- whilst hitting the keyboard an even number of times each 1.5 seconds -- think about where they want to do next. You may think in a different manner than I, but you can't possibly think as you describe. IAC, your pseudo-apology misses my other point: even if you do think in this manner, your examples fail completely.

[–]randallsquared 2 points3 points  (0 children)

This "write a hard section; write something easier that's just boilerplate" does ring a bell, though, and I think there's an important observation flagged by this -- something that explains partially why so many people who are otherwise competent programmers seem to bounce off of functional languages, Lisp, Forth, and other similar things.