If I were doing SDR-based comms in production, a custom C (or C++) application would be on the table, and nothing else.