По крайней мере, по крайней мере, это "несоответствие импеданса", по-видимому, свойственно ситуациям, когда кто-то желает вставить отношения в объектную идиому.
В C большинство API баз данных, как правило, представляют наборы результатов в виде многомерных массивов, а не структур. Следовательно, вы просто получаете доступ к данным в том же формате, в каком они существуют в таблицах в базе данных, - несущественно, что теперь они существуют как локальная копия данных, а не «в базе данных».
Большинство функциональных библиотек РСУБД представляют строки базы данных как типы записей, которые на достаточно глубоком уровне соответствуют строкам базы данных почти идеально. В этой ситуации "несоответствия импеданса" нет.
Статья Википедии *1008* на эту тему, по-видимому, размышляет о некоторых причинах, по которым объектная парадигма особенно подвержена этому несоответствию.
Я считаю, что это, по сути, зависит от того факта, что вы всегда строите вторичное представление данных (то есть наложение «объектов»). В большинстве императивных или (необъектных) функциональных языков менее вероятно создать такое большое, семантически не относящееся к делу вторичное представление ваших данных. Если кто-то собирается построить вторичное представление в этом мире, это, скорее всего, будет абстракция некоторого вида. Это соответствует моему базовому (необоснованному) убеждению, что парадигма ООП - это в основном пресловутый молот, который делает каждую проблему похожей на гвоздь.