|
You are partly right, but it is not so bleak, come on.[1] It is true that the average programming practices in the sector are pretty outdated, but we do have forms of code reuse like function blocks and functions, some form of code generation via the APIs of various IDEs, etc. The thing is, this sector is SO vast. (Modern) software will take quite a bit to eat this world, at least simply for its size. Industrial automation goes from smalltown electricians (this particular LOGO PLC lineup is targeted at these people), to builders of small machines still hugely relying on electro-mechanical components, to world-wide corporations, with varying levels of regulation, tolerance to risk, and so on. Not to say anything about truly advanced deployments in science projects, etc. We are basically talking about the WHOLE of what used to be called the "secondary sector of the economy", and part of the primary, AND part of the tertiary! [2] The IEC standard, the most advanced products of nearly every vendor, and the most advanced users, are going towards (sure, at their own pace, but still) modernity, but it's just a part of a vast ocean. I personally don't think I would exaggerate if I said that the variety of attitudes towards software in industrial automation is far, far greater that the one in the "normal" software industry; coupled with the other constraints expressed in other comments, that means that is not so simple for modern practices to win, they eventually will, but it will take a quite a bit. [1] many might laugh at the content, but have a look at the programming guidelines by Siemens https://support.industry.siemens.com/cs/document/81318674/pr... and while I am at it at https://www.plc-security.com [2] https://en.wikipedia.org/wiki/Three-sector_model |