Re: Philosphy of programming

From: Ian Woods (newspub2_at_wuggyNOCAPS.org)
Date: 02/17/04


Date: Tue, 17 Feb 2004 02:48:15 +0000 (UTC)


"Remo D." <rd@nospam.it> wrote in
news:c0rf2j$17fb$1@newsreader2.mclink.it:

<snip>

> I'll try to reformulate the initial sentence: "Programming means to
> learn enough about a (part of) (a possibily virtual) reality, to be
> able to create a model for it".

Well, there are certain constraints on the model. What you've described
sounds more like physics (and several other sciences, each for specialised
'part' of reality), rather than programming!

The significant difference is that the model we're creating can be
simulated completely using only a small set of axioms which (theoretically,
at least) can be performed by a computer. In addition, there can be
constraints (or at least, desirable properties) on simulation and the
description of the simulation - performance constraints, readability,
maintainability, robustness and so on.

It's often trivial to create a model of some phenomena that isn't
computable, and even if the model is computable it may take so long to
compute that the universe would have suffered heat-death before the result
was computed. It's the constraints on the simulation that make programming
what it is, rather than 'just like' physics.

So, here's my additions...!

"Programming is the art of learning about a (part of) (a possibly virtual)
reality, and then creating a simulation of that limitted reality which can
be fully performed using only the axioms provided by a computer whilst
conforming to external constraints."

A bit of a mouthful, but I think it covers most of the bases!

Even with that, in the strictest sense, the programming is only really the
second bit involving the creation of the simulation. The former is
something that programmers will typically perform though, and it's often
referred to as being part of the 'programming' for small projects. For
larger projects (and especially in software engineering circles AFAIK) it's
typically a completely non-trivial task of it's own performed by those
skilled in making such models.

Ian Woods

-- 
"I'm a paranoid schizophrenic sado-masochist.
My other half's out to get me and I can't wait."
Richard Heathfield


Relevant Pages

  • Re: Philosphy of programming
    ... there are certain constraints on the model. ... on simulation and the ... rather than 'just like' physics. ... > reality, and then creating a simulation of that limitted reality which can ...
    (comp.programming)
  • Re: How many users of Octave and Scilab are there?
    ... HMI programming is awkward. ... simulation in C/C++, ... Write a RK4 program is easy. ... Then I divide the sample time into the time before and after ...
    (sci.engr.control)
  • Re: POD speed
    ... I listed reasons that enforcement of database ... constraints in application code is error-prone compared to enforcement by the DBMS using ... implement outside the DBMS. ... > programming class I've seen as one ...
    (comp.lang.java.databases)
  • Re: Why do you use smalltalk?
    ... I started programming in 1977 using Fortran to do engineering ... I continued doing a lot of engineering simulation ... The next question was which programming language should I use. ... Oriented Dynamics Simulator in Smalltalk starting from scratch. ...
    (comp.lang.smalltalk)
  • Re: Uncovering potential clock-domain related issues in design
    ... related issues cannot be found through RTL simulation - is that right? ... I might like to know how low can my system clock ... but this must really be guaranteed by design rules. ... Either avoid those constraints and force the ...
    (comp.lang.verilog)