Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re (tilly) 1: Compactness

by tilly (Archbishop)
on Jan 11, 2002 at 04:13 UTC ( #137872=note: print w/replies, xml ) Need Help??

in reply to Compactness

I believe that there is a strong correlation between understanding things well and having a compact mental model of them. As I touched on in Re (tilly) 3: Maintainable code is the best code -- principal components, this has implications for how good programmers organize code that is intended for other good programmers. (Less experienced programmers should be assumed to not be as fluent in building ideas on ideas. Therefore code written for their comprehension necessarily needs to be more repetitive. Remember the goal is communication of the model to a real human, and not some abstract ideal of programming.)

Incidentally a couple of days ago I was talking to someone who is doing a PhD in neuro-science. In discussing what thinking is he brought up the same point. He said that the key characteristcs of the thinking process are the production of a compressed model from external stimuli, and then the utilization of that model for prediction. I found it interesting that people who officially study this stuff were thinking along similar lines to what I already suspected was important. That means that even if it is a strange-looking line of thought, it is at least a reasonable one to try...

Anyways, yes. A shared vocabulary of compact idioms does help you communica^Wprogram well. They must be shared between programmers to work well, and certainly not all Perl programmers (not even all experienced ones) can be assumed to know the various corners of Perl. However I believe that the richness of Perl 5, and the greater coming richness of Perl 6, allows for a selection of a limited but highly effective "vocabulary" for the problem spaces most Perl programmers are likely to encounter.

Replies are listed 'Best First'.
Re: Re (tilly) 1: Compactness
by jepri (Parson) on Jan 11, 2002 at 11:21 UTC
    That tends to be a key feature of any expert field, I thought. Criticisms of most 'thought heavy' disciplines often involve a comment about the difficulty of understanding the (unnecessary) jargon.

    Practitioners often respond that the jargon is not unnecessary because it clearly and concisely expresses an idea that might otherwise take sentences to express. I think your idea applies well to any intellectual endevour where the ideas are more important than the way they are communicated.

    Larry's jokes about LZW compression of a language aren't really jokes when you think about it...

    Of course, you're thinking more of the mental structures that are being built to cope with ideas rather than the way they are expressed, but there are some (like myself) who believe that there isn't much difference between what a person says and does and who/what they actually are.

    Don't even get me started about my ideas on the way we treat everything in the real world as an object with defined interfaces... I'm taking an analogy a bit too far there.

    I didn't believe in evil until I dated it.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://137872]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2023-02-04 09:00 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (31 votes). Check out past polls.