История изменений
Исправление pr849, (текущая версия) :
Потому что это слишком низкоуровневый язык. И паттерны у него свои, низкоуровневые и вовсю использующие небезопасные вещи типа сишных макросов и void*
. Даже при том, что нынешний C (или как минимум GCC) умеет static inline функции, в тех сорцах, что я видел, всё равно используются #define
. А высокоуровневые парадигмы типа ООП, ФП ему чужды, и если их на нём эмулировать, что выглядит крайне противоестественно, ужасно и опять же небезопасно.
Пример сразу множества дикостей в одной строке, файл expat.h:
#define XML_GetUserData(parser) (*(void **)(parser))
Помню пример и почудовищней порядка так на два, но я вам его не покажу. :)
Исправление pr849, :
Потому что это слишком низкоуровневый язык. И паттерны у него свои, низкоуровневые и вовсю использующие небезопасные вещи типа сишных макросов и void*
. Даже при том, что нынешний C (или как минимум GCC) умеет static inline функции, в тех сорцах, что я видел, всё равно используются #define
. А высокоуровневые парадигмы типа ООП, ФП ему чужды, и если их на нём эмулировать, что выглядит крайне противоестественно, ужасно и опять же небезопасно.
Пример сразу множества дикостей в одной строке, файл expat.h:
#define XML_GetUserData(parser) (*(void **)(parser))
Исправление pr849, :
Потому что это слишком низкоуровневый язык. И паттерны у него свои, низкоуровневые и вовсю использующие небезопасные вещи типа сишных макросов и void*
. Даже при том, что нынешний C (или как минимум GCC) умеет static inline функции, в тех сорцах, что я видел, всё равно используются #define
. А высокоуровневые парадигмы типа ООП, ФП ему чужды, и если их на нём эмулировать, что выглядит крайне противоестественно, ужасно и опять же небезопасно.
Исходная версия pr849, :
Потому что это слишком низкоуровневый язык. И паттерны у него свои, низкоуровневые и вовсю использующие небезопасные вещи сишных макросов и void*
. Даже при том, что нынешний C (или как минимум GCC) умеет static inline функции, в тех сорцах, что я видел, всё равно используются #define
. А высокоуровневые парадигмы типа ООП, ФП ему чужды, и если их на нём эмулировать, что выглядит крайне противоестественно, ужасно и опять же небезопасно.