Since QNX is mostly POSIX compatible, programming C or C++ for QNX is basically the same as programming C or C++ for Linux. The main differences I’ve noticed is thread handling (QNX do not support pthreads) and Inter Process Communication (IPC) APIs (if you want to make use of the RTOS part of the OS you need to use QNX own IPC).
When it comes to automotive I would believe that the main thing with QNX is that they are ASIL compliant. But you still need to make sure that the data you send between nodes are peer to peer protected.
I mostly develop everything for QNX on Linux and cross compile it with the q++ compiler. To be able to use the compiler you will need a QNX license and a installation of the QNX SDP for the QNX version you are developing for.
There are basically two licens models, academic and commercial. Academic is free, but you need to be connected to a educational faculty. The commercial one has a yearly subscription fee… no idea how much it is.
If you then want to try to run the stuff you done on QNX you will need to install the x86 version in a virtual machine or similar. But I would not recommend to do the actual development inside QNX
All available QNX development documentation can be found here.
https://www.qnx.com/developers/docs/index.html
If something is not specifically described in the documentation you can usually assume it works the same way as in Linux.
When it comes to other languages than C or C++ it gets a bit more complicated. Support for languages such as Python, Ruby, JavaScript and so on are nearly non existent. I’ve seen that there are efforts to port Node.js and Rust to QNX… But it is hard to find out what state they are in and how to try them out. They also seem to only be made for QNX 7.x
I’m at the moment trying to figure out if it is possible to use webassembly and Rust in QNX 7.x together with their new Blink based browser (only available in QNX 7.x and Car 3). But since I only have a QNX 4 license I can’t try it out myself. And the information about these things for QNX is almost zero.