Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

The recurring model

by bl0rf (Pilgrim)
on Jun 01, 2004 at 01:08 UTC ( [id://357892] : perlmeditation . print w/replies, xml ) Need Help??

Lately I have noticed that the vast majority of all human experience has followed a single, concrete, model. I can describe this model as only the tools-and-rules model.

This is a type of progression where you are given/taught certain skills ( the tools ) which you use in an environment which obeys a certain set of rules. Here are some spheres where I've noticed this model at work:

  • Mathematics - pure mental gymnastics. Addition, subtraction and division are the building blocks, then tools such as differentiation, limits etc. make themselves available to you. The rules of mathematics vary a little but the logic of algebra is probably the dominant: you have to do the same thing to both sides of the equation to preserve equality etc.
  • Life - you are given a body, the ultimate tool, and let loose in a world that has a set of rules called "nature". Some things you can and cannot do in nature.
  • Programming - (the one all of you have waited for) you learn the tools of each language, the syntactic constructs. You then use the syntax in a certain logical "world" of loops, recursion and pointers - these are the abstract concepts shared by computer programming in general.

I find that, considering my life according to this model, I am able to learn programming languages in scant days, enjoy mathematics - knowing that they are a type of mental game and I am able to develop my body more freely, knowing that it is just a fancy tool. This model occurs in spheres other than the ones I mentioned - computer games, cooking, reading, speaking ... and as a matter of fact in a peculiarly large array of fields.

It is computer science which turned my attention to the way that all of these other fields work, because CS is full of reusable knowledge and the same rules apply throughout all the brances of CS.

Replies are listed 'Best First'.
•Re: The recurring model
by merlyn (Sage) on Jun 01, 2004 at 01:36 UTC
    Pardon the bastardization via my "armchair doctorate in philosophy", but your "tools and rules" model sounds like a classic "subjective/objective" model, where there are actors and there are things being acted upon.

    While this is a useful model, it's just a model. And just like Newtonian Physics is a great model for predicting and altering most behavior at non-relativistic speeds and energies, the model breaks down when we start looking at the "extreme" situations, and so we have to upgrade to a larger more inclusive (albeit far clumsier) model: relativistic mechanics, quantum mechanics, and so on.

    In particular, subjective/objective as a model keeps you from seeing that every observation you make as a subject also influences the object to a tiny degree. In Physics, this is parallel to the Heisenberg Uncertainty Principle. So you can't completely define a ruleset and a toolset. You can only define a toolset and ruleset that mostly work for any given system.

    Keep your mind open to larger models as well, although again, you may not necessarily use them for everyday things.

    -- Randal L. Schwartz, Perl hacker
    Be sure to read my standard disclaimer if this is a reply.

Re: The recurring model
by TomDLux (Vicar) on Jun 01, 2004 at 02:22 UTC

    Sorry, but it sounds like a first-year model of mathematics. Sounds like a first-year view of programming, too.

    You seem to define the universe in terms of the constructs your programming language allows. That's like those arguments that native Amricans are incapable of untruth because native languages don't have a word for "lie" ( I just made that exampole up. ) These arguments usually point out the dozens of supposed words in Inuit for snow ... ignore the dozens of words in English for snow; corn, powder, sleet, slush, crust, pack, .....

    The challenge is to come up with a model of the universe, and implement a programming language that reflects your model. Of course, coming up with one new feature is a challenge for most people, so not many implement a totally different world view.


Re: The recurring model
by dimar (Curate) on Jun 01, 2004 at 21:46 UTC

    Hi bl0rf!

    Nice model. One of my most favorite professors in college once noted as a conjecture that the most memorable models, speeches, documents and doctrines of men contained basic elements that came in 'threes'.

    Question: If you were absolutely forced to add a third element to your model, what would that third element be? Just curious.

    Reflection: I like the simplicity of your model, which expresses much in few words, with a minimum of jargon. This is a fundamental of elegance.

    Perhaps analogous to your model?

    Alternate: I have used a model that I think is very similar to yours, except it uses different terms, and has (believe it or not) three elements. I call it States, Relationships and Interpretations. The S-R-I model of human knowledge and understanding.

    States: Similar to your "Tools", except it generalizes the notion of a "tool" to any concept that can be uniquely identified in any given 'world' with all of the associated assumptions. Another way to think of it, "state = tool + taken-for-granted-rules". For example, your body is a tool, but while asleep, a fundamentally different tool, while eating, different again; while in the shower; while speaking; while reading posts on perlmonks; etc etc ... each of these is a different 'state'. For example again, a letter in the English Alphabet has 26 possible 'states'. For example again, "Is it raining outside?" is a question that can be answered with 'yes' or 'no'.

    It is important to add: how people segment 'states' is largely personal. It is also subject to reduction and aggregation. It is also subject to conscious awareness, and all the illusions, limitations and paradoxes attendant thereto. TMTOWTDI.

    Relationships: Similar to your "Rules", except it focuses more on patterned classification instead of identifying falsifiable norms. To explain this, consider how a rule often carries the connotation of ("A therefore B"), whereas patterns simply suggest "hey, I recognize this from somewhere ..."

    Interpretations: This is the real 'meat' of the model, because even if two people can agree on 'states' and 'relationships' present in a system, there is always an entirely different interpretation for every pair of eyeballs. When one takes the effort to "walk a mile in the other person's shoes" we only begin to scratch the surface of this principle.

Re: The recurring model
by bl0rf (Pilgrim) on Jun 02, 2004 at 20:49 UTC
    Thanks to everyone for their thoughtful comments!
    I frequently tend to reinvent the wheel because I isolate myself from external theories - every thought is a personal battle...

    Thanks TomDLux for your comment, as I am not even in first-year yet ;-). Of course, much better patterns can be detected in life but this one appears to work well for CS. I've noticed that in programming there are sets of transferable and nontransferable skills: transferable = don't prematurely optimize your code; nontransferable = print via System.out.println(). Once you know the base of programming its very easy to learn another language.

    Take care.

You have no clue! (was Re: The recurring model)
by dragonchild (Archbishop) on Jun 13, 2004 at 05:05 UTC
    This node is a very armchair-quarterback look at epistemology. Like most laymen's views of such topics, it's superficially useful.

    Mathematics. Oh, gods, you are butchering math. First off, all of algebra derives from Peano's postulates, which are the basis for the natural numbers. Addition and multiplication can be derived from those postulates. Any other set of numbers is defined so as to use another operation without going outside the set. (Integers for subtraction, Rationals for division, and so on.)

    Logic. Related to, but not equivalent to, mathematics. The logic most people are aware of, with p's and q's, is called symbolic logic. Which is different from Aristotelian logic, which is closer to how most people think. Plus, contrary to popular opinion, most people are patently illogical in their thinking, especially when they're attempting to be logical.

    Your second point is actually addressing the field of physics. Physics is, essentially, the attempt to mathematically describe the world. (Chemistry and biology are, in my mathematical opinion, sub-disciplines of physics, but that's another discussion). Those "rules" you refer to aren't rules - they're observations. And, frankly, our capability as a species to observe has changed dramatically over time. For example, did you know that the world is flat? Well, 1000 years ago, it was. But, 2500 years ago, it was proven to be round. Galileo merely brought an old proof back to life. Estimates of the Earth's circumference have also changed. Or, rather, been refined.

    Some things you can and cannot do in nature.

    Oh, you mean like go faster than 50 mph? Or was it flying you were referring to? What about going into space or communicating faster than the speed of light? I know, you were referring to living for longer than 120 years! Anything, and I mean anything, we in 2004 think that we cannot do within nature will be shown to be possible in the next 1000 years. Don't believe me? Look at what we thought we could not do in the year 1004. What about the year 4? 996 BCE? Heck, look at what we couldn't do a mere 100 years ago!

    Programming. You are definitely an imperative programmer. Learn Lisp or Haskell or Scheme - one of the functional languages. All of a sudden, what you thought you needed ... you don't. Heck, learn (and I mean truly learn) an object-oriented language, like Smalltalk or Ruby or Ada. (C++ and Perl don't count.) And, I'm amazed you're talking about pointers in a forum devoted to a language which doesn't use them.

    The "model" you talk about isn't a paradigm - it's an observation. And, it's an observation better suited to game theory than programming. You're talking about working within the rules of whatever endeavor you're undertaking. The same observation applies in every single thing you will ever do, from programming to politics. In fact, look at politicians and what they do to get elected. That is the truest game in all of human civilization, not your measly examples of mathematics, life, or programming.

    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

    I shouldn't have to say this, but any code, unless otherwise stated, is untested

      Something tells me this person wasn't attempting a rigorous demonstration of a correspondence, but was rather making an observation that there *are* some correspondences. Your words are unnecessarily harsh.
Re: The recurring model
by baruch (Beadle) on Jun 01, 2004 at 04:00 UTC
    Hi, bl0rf: I think you have a really good point. Like you, I've found that CS has enhanced my understanding of the "tools and rules" process or "paradigm" as it applies in many other areas of life. Many things - politics, as a single example - were mysteries to me until I had this sort of framework to use, the idea that we've got some assets (the tools), and some constraints, and the trick is to work with what we have in order to accomplish what we can. I found your comments about "tools and rules" quite useful in summarizing these ideas. Thank you. -Baruch
    A reply falls below the community's threshold of quality. You may see it by logging in.