> I would say it's often hardly about just "operating" the machine. You need to know how the machine works how it can affect other machines and what can you do if parts of the machine break.
So, in terms from programming analogy, you need how your runtime operates, how
it can affect neighbour processes/services, and what can you do when the
runtime breaks down. This still does not affect how you structure your code
(at least usually, when you don't work closely with the OS, which I bet is
majority of code in the wild).
> Not only that but also how many operators you can find, how many additional modules (libs) are there and how often you need to oil the wheels.
How does workforce availability affect the way you work with your system?
How does availability of libraries affect the way you work with your system,
apart from amount of code for you to write (libraries have to come from
somewhere)?
The architecture and strategies stay exactly the same. With this regard,
there's very little difference between CFEngine, Puppet, and Chef.
> Sure the implementation of the known algorithms will be similar in Java and C++ but the overall usage and how it connects with everything (aka the workflow) will be very different.
It will hardly affect how you think about the system and how you approach it.
It will only affect where you get your code from. Unless you think about
yourself as a guy who only puts together different libraries/modules and never
ever writes own code, then of course it's a new paradigm, but I don't think
you had this scenario in mind.