Информация об изменениях

Сообщение Re[5]: Как оценить простоту кода? от 11.06.2020 7:25

Изменено 11.06.2020 7:27 vsb

Re[5]: Как оценить простоту кода?
Здравствуйте, kaa.python, Вы писали:

KP>Потому что Сишный код так же трудно поддерживаемое говно.


Подтверждается ли это практикой?

Например код ядра Linux это C. Судя по тому, что Linux развивается уже 30 лет, в Linux контрибьютят самые разные люди, видимо на практике поддерживать этот код получается.

Код gcc изначально был на C. Несколько лет назад они его перевели на C++. Предполагаю, что по факту там тот же C с классами. Учитывая, что gcc успешно развивается всё это время и абсолютно конкурентен, видимо поддерживать его код тоже получается.

Интересно было бы узнать, что в clang. Это новый проект, изначально написанный на C++. Я мельком глянул его код, вроде везде всякие указатели, в том числе двойные, ещё и макросы. Например

Cookie IONAME(BeginInternalArrayListInput)(const Descriptor &descriptor,
    void **scratchArea, std::size_t scratchBytes, const char *sourceFile,
    int sourceLine) {
  return BeginInternalArrayListIO<Direction::Input>(
      descriptor, scratchArea, scratchBytes, sourceFile, sourceLine);
}


Предполагаю, что это можно квалифицировать, как С с классами?
Re[5]: Как оценить простоту кода?
Здравствуйте, kaa.python, Вы писали:

KP>Потому что Сишный код так же трудно поддерживаемое говно.


Подтверждается ли это практикой?

Например код ядра Linux это C. Судя по тому, что Linux развивается уже 30 лет, в Linux контрибьютят самые разные люди, видимо на практике поддерживать этот код получается.

Код gcc изначально был на C. Несколько лет назад они его перевели на C++. Предполагаю, что по факту там тот же C с классами. Учитывая, что gcc успешно развивается всё это время и абсолютно конкурентен, видимо поддерживать его код тоже получается.

Интересно было бы узнать, что в clang. Это новый проект, изначально написанный на C++. Я мельком глянул его код, вроде везде всякие указатели, в том числе двойные, ещё и макросы. char* вместо std::string Например

Cookie IONAME(BeginInternalArrayListInput)(const Descriptor &descriptor,
    void **scratchArea, std::size_t scratchBytes, const char *sourceFile,
    int sourceLine) {
  return BeginInternalArrayListIO<Direction::Input>(
      descriptor, scratchArea, scratchBytes, sourceFile, sourceLine);
}


Предполагаю, что это можно квалифицировать, как С с классами?