INPA and ISTA, which better for BMW coding programming

Between INPA and ISTA/D (Rheingold), which one is better and which one should be used for bmw E/F series diagnosis/coding/programming? Here are professional tips by experienced users.
INPA and ISTA/D (Rheingold), which one better?
ISTA/D (aka Rheingold) is the current dealership diagnostic software for all Exx and Fxx cars. ISTA/D is the replacement for older dealership DIS diagnostic software. Likewise, ISTA/P is the replacement for older delaership SSS Progman programming software. ISTA/P & ISTA/D are designed to be used with an ICOM Interface, and with full ICOM-A-B-C, you can connect to older cars. The ICOM "C" Connection is for the older BMW ADS 20-pin round "Pacman" connector in Engine Bay. You can find versions of ISTA/D with an ICOM Emulator builtin, that allows you to use it with an ENET Interface for Fxx cars and a DCAN Interface for Exx cars. I don't know for sure, as I do not do any Exx work, but I doubt ICOM Emulator would work for older ADS connector.

INPA (interpreter for test procedures) is older factory floor diagnostic software, designed to run test procedures. While INPA can be set for English User Interface, most of the Test Procedures, which can be difficult to find, are in German. 

Between the two, ISTA/D is simply a better option. It has a modern interface, is 100% English (or available in a multiple other languages), and is complete in that it does not require additional Test Procedures.

You can have ISTA/P & ISTA/D installed on a laptop aside INPA, WinKFP, and INPA without any issues.
INPA and Rheingold, how to choose for different BMW cars?
All Rheingold versions have native support for Ediabas 7.x, this option just needs to be activated from istagui config file. I can check the parameter later. This means that K+DCAN can be used directly with Rheingold, as long as the Ediabas (which comes with BMW Standard Tools) is configured for this interfaces. Setting for Ediabas.ini can be found in Rheingold settings, under VCI tab (if the config file has been configured correctly). If the interface works with INPA or Tool32, then it works with Rheingold too. 

ADS interface is not supported, as Rheingold requires Ediabas 7.x, and only Ediabas 6.x and older has ADS support. So to use Rheingold with ADS cars, ICOM is mandatory. ADS cars are E36, E34, beginning of E38 production and all chassis models that are older than these. E39, E46 and later E38, and all chassis models made after these are equipped with K-line or D-CAN, so K+DCAN cable (combinated interface that has both K-line and D-CAN) is good for these cars. F-series cars can use K+DCAN for diagnosis and ENET for diagnosis + coding and programming.

There are 20-pin connectors in engine compartment on all cars made approximately before year 2000, even if they have OBD-2 connector too. If there are both of these connectors available, then 20-pin must be used as OBD-2 is then connected only to DME/DDE and EGS. 20-pin connector type is K-line or ADS, depending on the chassis model. If it is K-line, then K+DCAN and obd-20pin adapter can be used.

There is also ADS interface available, it can be used with INPA on ADS cars. It can be found from E-bay, and it is called Tiny ADS. This ADS thing talks directly to COM-port i/o memory addresses, so laptop must have native COM port. USB-COM adapter will not work, period. Of course ICOM can handle these cars via ethernet connection, even with INPA. To configure ICOM to work with Ediabas, I-tool radar is used to check ICOM ip address and then EasyConnect can be used to configure ediabas and to lock the ICOM.
Note: How to activate Ediabas support in Rheingold:

Open ISTAGUI.exe.config with notepad
find line with parameter BMW.Rheingold.OperationalMode
change it to this:
Which software for E/F series diagnosis, coding, programing?
If you want meaningful Diagnosis in English, for both E-Series and F-Series cars, you need ISTA/D (Rheingold) and you can request it here:

For Coding, you need different Tools, NCS Expert / SP-Daten for E-Series and E-Sys / PSdZData for F-Series.

All Diagnosis and Coding can be done with cheap DCAN Cable for E-Series and cheap ENET Cable for F-Series.

For Programming (Flashing ECU's with new Firmware), then you need ISTA/P for for both E-Series and F-Series cars, or you can use WinKFP for E-Series and E-Sys for F-Series. For E-Series Programming, you will need an ICOM, but for F-Series Programming, you can use ENET Cable.
BMW E F series coding options available in INPA & E-SYS