Why?
Even siemens (pretty high priced) sells a $200 PLC you can use.
About the only people who seem impossible to get anything reasonably priced from are Allen Bradley, who even have usb->rs485 converters they sell for $1400.
And probably requires some crappy Windows only IDE to work with their proprietary language. It’s probably not possible use revision control or share the system with others. Try getting data out of their system into a software system reliably.
1. You can program them in vscode if you want, or using their IDE
2. Their IDE supports git just fine, and that's what i use
3. The languages, like just about all major PLC vendors, are PLCOpen (IEC61131-3) languages. They are well defined.
Vendors differ in what edition of PLCOpen they are up to, similar to how you'd see differences (in the past) in what version of C++ is supported by an IDE/compiler.
Since PLCOpen is not trying to actively add random crap (like C++ is), it's not really a huge treadmill
4. They all have OPC/other standard ways of data access.
I'm not the GP but my guess is "if all I have is a hammer" - i.e. the same reasons you might prototype something with Arduino that you would make permanent with a timer relay. Why not prototype with a timer relay ffs? Well, because you don't have a timer relay, you do have an Arduino, and you want to make "progress" today.
About the only people who seem impossible to get anything reasonably priced from are Allen Bradley, who even have usb->rs485 converters they sell for $1400.