On Sun, 28 Mar 2010 10:26:43 +0100
AG <computing.acco...@googlemail.com> wrote:

> Modulok wrote:
> > Could you further define 'modeling' in context?
[...]

> The modelling I was referring to is not about 3-D design, but about 
> scenario modelling.  For example, to understand the impacts of climate 
> change on particular bodies of water, given different circumstances 
> (e.g. x% of rain in the preceding year, or prevailing winds, or y number 
> of herd animals using the water resource, and/ or upstream engineering 
> developments, etc.), the idea would be to (a) identify those aspects 
> most relevant and least relevant and (b) to programme those elements 
> according to certain parameters of fluctuation (perhaps OOP might be 
> useful here), and then (c) to manipulate those values according to 
> different scenarios.  These manipulations can then be replayed any 
> number of times (e.g. a Monte Carlo treatment) to obtain their 
> statistical average and probabilities.
> 
> The foregoing is possibly not the most elegant example, but hopefully 
> gives you a clearer idea of what I was asking about.
> 
> Thanks for your interest.
> 
> AG

Note: this is personal point of view. Just hope you & others find it 
interesting.

Programming, for me, is just modelling and coding; in a sense of "modelling" 
similar to the one you give, which is also close to the sense used in 
scientific/research activity, as I understand it. The main particuliarity of 
programming is that the target is a machine, which implies good (accuracy) and 
bad (rigidity) requirements.

More precisely, I call "model" the mental picture we have of a "topic" -- more 
or less accurate, indeed, according to the guy's lucidity on the topic (clarity 
of mind) and to the requirements. A program is then a given expression of the 
programmer's model of the topic in a given language; and a running program is a 
simulation of the topic according to the model. The program may itself be more 
or less accurate in the sense there may be some distortion between the model 
and the program's actual "semantics".
In programming practice, except in trivial cases, there is a constant move 
forth & back between modelling and coding, because while coding and testing we 
learn about the topic, get a clearer view, and modify the model. Which in turn 
requires updating the program, building a kind of feedback loop, until we are 
satisfied with the model, the program, the simulation (*).

Like any language (--> Sapir-Worf hypothesis), a programming language certainly 
strongly influences the way we basically *think* about things, not only how we 
express it, meaning it will filter our ability to model. For the best and/or 
for the worse. We may simply not be able to model independently of one (or 
more) given language(s). After some years programming in Java, a programmer 
switching to Python will produce not only Java code reworded into Python (which 
is ugly ;-), but Java *thought* (model) (which is wrong ;-).

To relate this with your request, I thus think learning to model in Python is 
just learning to program well in Python, which itself is just a specialisation 
of learning to program well. If you really want this, and have enough time, 
then for me you should instead learn to program using various languages, as 
different as possible, so as to learn various modelling patterns. And apply 
those languages on a variety of topics, including some in your own field. A 
life time's job!
Again, this is just my opinion.


Denis

(*) I like the word simulation here because it does not imply the topic to have 
anything to do with reality. Instead, it can be imaginary, in most cases real 
is at most a referent. Think at games (they exist only in the author and 
players' minds) or even an editor (the legacy way of writing just provides a 
metaphor). In many cases, the simulation is its own sense, meaning the 
simulation *is* the topic, there is no referent.
________________________________

vit esse estrany ☣

spir.wikidot.com
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to