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.
In this case:
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.