ZerG
Вроде никто щас не пишет на чистом С первых его веток!
Первый стандарт языка - это C89, до него был нестандартизованный диалект K&R, который определял основное содержимое для всех компиляторов. Вот на этом диалекте есть много легаси кода (в частности, программы echo, grep, cat написаны на нём и сохраняются в таком виде). А вот C89 - это то, на чём написан интерпретатор питона сегодня. Так же программы типа nginx и git тоже используют первый стандарт (хотя git появился позже, так что может и C99 там быть, не вчитывался). Дальше идёт C99 и C11, вот на них идёт современная разработка. И они же как раз и отличаются от C++, так как C++ основан на C89 и включает его полностью, но добавляет свои правила, которых в C89 нет. (Не всякий код C89 скомпилируется компилятором для C++.) Из-за этого частенько думают, что изучая C++, автоматически узнают C. На самом деле это не так, многие правила C89 так и не узнают, так как в C++ они запрещены, а потом удивляются, когда видят, что в C можно как-то сделать всё проще. А о C99 и C11 даже говорить не приходится, они сильно переделаны внутри по сравнению с C89 (неявное приведение типов там по-другому устроено, новые типы появились (очень долго в C++ не было типа long long int, который уже чуть ли не 10 лет был в C99), новый модификатор и новые функции в библиотеке). Вот на чём не пишут программы, так это на старом достандартовом диалекте K&R, так как он довольно слабоватый (в нём даже const нет).