Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Lisp is for Weak Programmers

Name: Anonymous 2012-12-22 9:10

I love Lisp, and my Symta, as they allows me to quickly try a lot of design ideas. That is because I have a weak brain, making harder for me to plan and try them mentally, without prototype.

But most programmers are just too smart and can prototype directly inside their brains, so when they start typing, they already know exactly what they want. Good programmers can compile code on fly inside their brains and produce assembly - it will be a lot of typing and debugging some segfaults, but they will be implementing final idea anyway.

Take Unis for example, it was conceived in a few moments, while author designed a video game, and since then Unix design is almost unchanged for decades.

Name: Anonymous 2012-12-22 13:43

>>2
A programmer writing in C needs to more or less completely map out the overall design
That is what signifies strong programmer - he knows in advance what he is doing. On the other hand, weak programmer, like me, always fails thought experiment and has to construct some physical model to experiment with. For example, when I designed tiling algorithm for my wc2 reimplementation, first two attempts failed (they produced incorrect tiles in some cases) and only with dissecting them I got correct algorithm, which was just a few lines in Symta, but could be about 40-70 in C/C++:

newTerra C = XY:C.tile = T:C.type = B:C.base = Dirs | i | filter:[D even?] D
           | m <P = cellFace XY XY+P | m <(T)=1; (B)=0; _=w newTerra>> | j
           | <[N0 N1 N2 M0 M1 M2 N3 N4 N5 M3 M4 M5]
                = N:[N0 N1 N2 M4 1 M1 N3 N4 N5] = M:[M3 N1 M0 M4 1 M1 M5 N4 M2]
                = m ?*?? N M | grp 3 | calcEdges>


My erroneous attempts were much bigger, so imagine how much time w
I would have wasted on prototyping and fixing segfaults, which a careless jerk, like me, produces more than shit. But a good programmer would have coded such 2-matrix algorithm on the first try, immediately discarding erroneous variants and avoiding segfaults by being careful (again, he can see that this and such code would lead to segfault, due to some mishandled case).

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List