>>> Чем это проще/лучше, чем то что мы имеем в C++, C#, Java?
>> Почему это должно быть проще или лучше?
> Странный, может даже глупый вопрос.Нисколько не странный и не глупый, если ты дашь себе труд освежить в памяти беседу целиком. Точнее даже не всю беседу, а самое её начало. Ты попросил примера инкапсуляции в C. Я тебе его привёл. Мы потом обсудили и пришли к выводу, что это действительно инкапсуляция. (Мы ведь пришли?)
А теперь ты пытаешься произвести тактический манёвр "смещение темы обсуждения", обсуждать не возможность инкапсуляции, а удобство этой инкапсуляции для тебя лично или для какого-то класса задач. Я сопротивляюсь. Я ничего не имею против смещения темы, но если оно происходит явно и осознанно, а не исподтишка и на неосознаваемых рефлексах.
Обсуждение удобства инкапсуляции в C -- это другой разговор. Для этого надо вернутся назад, понять что мы сравниваем уже не возможности языков, а скорее заточенность на те или иные задачи. А если мы начинаем говорить о заточенности, то тут выясняется, что инкапсуляция и её удобство -- это не единственный фактор, по которому язык следует оценивать.
C в разы быстрее C# и Java. На C можно писать хоть под восьмибитную avr'ку, хоть под Ryzen. C может использовать возможности железа практически напрямую, в то время как C# с Java всегда вынуждены полагаться на то, что рантайм и библиотеки это каким-то образом делают, и что они смогут применить свои умения в данном случае.
C++ не столь отличается от C, как Java/C#, но и здесь у C есть свои преимущества. Скорость компиляции, простота языка (проще найти обезьяну, которая будет набирать код), документированный ABI, обилие компиляторов и простота написания своего компилятора.
Что из этого важнее? А мы не можем ответить на этот вопрос, до тех пор, пока мы не определимся с тем, зачем нам нужен язык. Что мы собираемся на нём писать, какие требования к скорости/потреблению ресурсов/надёжности/безопасности, какой бюджет у нас есть.