Сообщение Re[4]: Достаточно ли знать С без знания С++ для устройства н от 04.09.2014 23:21
Изменено 04.09.2014 23:25 eskimo82
A>А С — это просто урезанный С++, по этому если ты знаешь С, но не знаешь С++,
Что за ерунду ты пишеш. Языки изначально были несовпадающим множеством, а сейчас еще больше и разошлись в разные стороны.
A>то для меня это выглядит так, что ты — программист С++, который
A>- использует минимум возможностей языка и не способен писать выразительный, идиоматичный код
В C99 есть такие возможности которые в C++ и не снились.
A>- предпочитает использование небезопасных конструкций языка
В любом языке есть небезопасные конструкции, даже в той же Java выстрелить себе в ногу гораздо проще и потом часами искать ошибку — Например, можно просто забыть создать экземпляр класса какой нибудь коллекции в конструкторе.
A>- не в состоянии нормально применять ООП и ФП там где это надо
Это известное заблуждение. На самом деле ООП практическине завист от используемого языка. Нет никаких принципиальных проблем в том, чтобы применять ООП на языке Си.
A>- не может писать нормальные юнит-тесты
Ну конечно. Идеология юнит тестирования вообще никак не опирается на язык — можно использовать любой. Для тоже Си есть куча библиотек в помощь для организации тестировнаия.
A>- пишет огромное количество бойлерплейта, в коммитах огромные диффы, это тяжело читать/ревьювить
Диф между linux kernel и FreeBSD kernel тоже огромный — его тяжело читать и ревьювить!
Что за ерунду ты пишеш. Языки изначально были несовпадающим множеством, а сейчас еще больше и разошлись в разные стороны.
A>то для меня это выглядит так, что ты — программист С++, который
A>- использует минимум возможностей языка и не способен писать выразительный, идиоматичный код
В C99 есть такие возможности которые в C++ и не снились.
A>- предпочитает использование небезопасных конструкций языка
В любом языке есть небезопасные конструкции, даже в той же Java выстрелить себе в ногу гораздо проще и потом часами искать ошибку — Например, можно просто забыть создать экземпляр класса какой нибудь коллекции в конструкторе.
A>- не в состоянии нормально применять ООП и ФП там где это надо
Это известное заблуждение. На самом деле ООП практическине завист от используемого языка. Нет никаких принципиальных проблем в том, чтобы применять ООП на языке Си.
A>- не может писать нормальные юнит-тесты
Ну конечно. Идеология юнит тестирования вообще никак не опирается на язык — можно использовать любой. Для тоже Си есть куча библиотек в помощь для организации тестировнаия.
A>- пишет огромное количество бойлерплейта, в коммитах огромные диффы, это тяжело читать/ревьювить
Диф между linux kernel и FreeBSD kernel тоже огромный — его тяжело читать и ревьювить!
A>А С — это просто урезанный С++, по этому если ты знаешь С, но не знаешь С++,
Что за ерунду ты пишеш. Языки изначально были несовпадающим множеством, а сейчас еще больше и разошлись в разные стороны.
A>то для меня это выглядит так, что ты — программист С++, который
A>- использует минимум возможностей языка и не способен писать выразительный, идиоматичный код
В C99 есть такие возможности которые в C++ и не снились.
A>- предпочитает использование небезопасных конструкций языка
В любом языке есть небезопасные конструкции, даже в той же Java выстрелить себе в ногу гораздо проще и потом часами искать ошибку — Например, можно просто забыть создать экземпляр класса какой нибудь коллекции в конструкторе.
A>- не в состоянии нормально применять ООП и ФП там где это надо
Это известное заблуждение. На самом деле ООП практическине завист от используемого языка. Нет никаких принципиальных проблем в том, чтобы применять ООП на языке Си.
Элементы обобщенного програмирования в Си тоже можно неплохо применять, а частности — первые наброски Степановом того, что сейчас называется STL были сделаны на Си, довольно оригинальным способом.
A>- не может писать нормальные юнит-тесты
Ну конечно. Идеология юнит тестирования вообще никак не опирается на язык — можно использовать любой. Для тоже Си есть куча библиотек в помощь для организации тестировнаия.
A>- пишет огромное количество бойлерплейта, в коммитах огромные диффы, это тяжело читать/ревьювить
Диф между linux kernel и FreeBSD kernel тоже огромный — его тяжело читать и ревьювить!
Что за ерунду ты пишеш. Языки изначально были несовпадающим множеством, а сейчас еще больше и разошлись в разные стороны.
A>то для меня это выглядит так, что ты — программист С++, который
A>- использует минимум возможностей языка и не способен писать выразительный, идиоматичный код
В C99 есть такие возможности которые в C++ и не снились.
A>- предпочитает использование небезопасных конструкций языка
В любом языке есть небезопасные конструкции, даже в той же Java выстрелить себе в ногу гораздо проще и потом часами искать ошибку — Например, можно просто забыть создать экземпляр класса какой нибудь коллекции в конструкторе.
A>- не в состоянии нормально применять ООП и ФП там где это надо
Это известное заблуждение. На самом деле ООП практическине завист от используемого языка. Нет никаких принципиальных проблем в том, чтобы применять ООП на языке Си.
Элементы обобщенного програмирования в Си тоже можно неплохо применять, а частности — первые наброски Степановом того, что сейчас называется STL были сделаны на Си, довольно оригинальным способом.
A>- не может писать нормальные юнит-тесты
Ну конечно. Идеология юнит тестирования вообще никак не опирается на язык — можно использовать любой. Для тоже Си есть куча библиотек в помощь для организации тестировнаия.
A>- пишет огромное количество бойлерплейта, в коммитах огромные диффы, это тяжело читать/ревьювить
Диф между linux kernel и FreeBSD kernel тоже огромный — его тяжело читать и ревьювить!