- Git
- OOP
- Web-based options
Siemens can already do a lot of that "soft PLC" stuff with their hard PLCs. V16 introduced a "version control interface" that allows syncing PLC code to git/subversion/etc as XML. The PLCs have for a while been able to have custom web apps run out of the PLC, which can interact with it. The 1500's latest firmware enabled a web API (REST?) to interact with tag data, in addition to the OPC UA client/server already available. Siemens also has the 1518MFP, which is a hard PLC with a C++ runtime in parallel to the PLC code.
I'm sure some of these capabilities aren't unique to Siemens, that's just where my experience lies.
A lot of these features that are mentioned aren't incompatible with Hard PLCs, they just haven't been implemented yet because there is so little demand for them across the board. It's all niche requirements right now.