Software epigrams

rusi rustompmody at gmail.com
Thu May 16 11:06:10 EDT 2013


On May 16, 7:37 pm, Chris Angelico <ros... at gmail.com> wrote:
> On Fri, May 17, 2013 at 12:23 AM, Neil Cerutti <ne... at norwich.edu> wrote:
> > On 2013-05-16, F?bio Santos <fabiosantos... at gmail.com> wrote:
> >> And in Java we have factories, builders and builderfactories.
> >> What's so relevant about them? Java is high level, no?
>
> > When I tried to pin down what an irrelevant detail in a computer
> > program could be, I couldn't do it. I guess comment decorations,
> > maybe? But those would have no bearing on the level of problem
> > for which a programming language is most appropriate.
>
> Let me give you a real example.
>
> One of the programs I wrote at work is a simple daemon that runs on
> every node in a network. It periodically sends out a heartbeat signal
> that the other nodes hear, and if any node hasn't been heard from in X
> seconds, it is deemed "down". (It might technically not be down, if
> there's a network problem, but the point is that we don't care about
> the difference. It's down.) There's also some incidental statussy data
> included, for convenience. This is implemented using UDP.
>
> Do I care about how a UDP packet is structured? No.
>
> Do I care about the mechanics of IP routing? No.
>
> Do I care about MAC addresses? No. They might feature in our IPv6
> addresses, but I still don't care - the IP addresses (v4 or v6) of the
> nodes are treated as opaque tokens.
>
> All I care about is that I call a function with a string of data and a
> corresponding function gets called in the other program with that same
> string. All the details of how that happens in between aren't
> important to my program. They're somewhat of note in the design phase,
> but not to the program itself. They are, in fact, irrelevant.
>
> ChrisA

You are just saying (in specific detail) what I said, viz that the
programmer is one who 'relevates' ie sifts the relevant from the
irrelevant and a good programming language is one that gives good
relevating tools:
http://blog.languager.org/2013/02/c-in-education-and-software-engineering.html



More information about the Python-list mailing list