Re: Software epigrams
On May 16, 7:37 pm, Chris Angelico ros...@gmail.com wrote: On Fri, May 17, 2013 at 12:23 AM, Neil Cerutti ne...@norwich.edu wrote: On 2013-05-16, F?bio Santos fabiosantos...@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 -- http://mail.python.org/mailman/listinfo/python-list
Re: Software epigrams
On Fri, May 17, 2013 at 1:06 AM, rusi rustompm...@gmail.com wrote: On May 16, 7:37 pm, Chris Angelico ros...@gmail.com wrote: On Fri, May 17, 2013 at 12:23 AM, Neil Cerutti ne...@norwich.edu wrote: 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. [snip] 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 Right. All I'm adding is a concrete example - which, I think, will be helpful to Neil, and perhaps to others too. ChrisA -- http://mail.python.org/mailman/listinfo/python-list
Re: Software epigrams
On May 14, 8:08 am, Dan Sommers d...@tombstonezero.net wrote: On Tue, 14 May 2013 04:12:53 +1000, Chris Angelico wrote: On Tue, May 14, 2013 at 4:02 AM, Skip Montanaro s...@pobox.com wrote: 8. A programming language is low level when its programs require attention to the irrelevant. I think irrelevant in this context means stuff like memory management. Sure. That one's pretty clear (if you care about memory management, you want a low level language) ... http://www.memorymanagement.org/articles/lang.htmlsays: C programmers think memory management is too important to be left to the computer. Lisp programmers think memory management is too important to be left to the user. (from Ellis and Stroustrup's The Annotated C++ Reference Manual) Notable physicist David Bohm wrote that the difficulty in understanding quantum physics is largely a result of the limitation of the subject-predicate format of Indo-European languages. He suggested some experiments in languaging called rheomode that makes English more process-oriented and less (abstract)noun oriented. One part of this project is to learn to use the word 'relevate' -- which is 'relevant' verbified with an element of 'elevate' as in 'lift into relief' I guess the Ellis and Stroupstrup quote above just shows that C++ programmers relevate in one direction whereas Lisp programmers relevate in another. More http://www.mindstructures.com/2010/04/meaning-and-context/ Twenty two years ago I wrote about this http://www.the-magus.in/Publications/chor.pdf Suddenly I am finding glowing references to this http://dieswaytoofast.blogspot.in/2013/01/why-i-grown-to-loathe-c.html And I am uneasy because these questions are far less rhetorical/ tautological than I imagines in 1990! So here's a (rather incomplete/preliminary) rebuttal to myself http://blog.languager.org/2013/02/c-in-education-and-software-engineering.html -- http://mail.python.org/mailman/listinfo/python-list