Re[7]: Достаточно ли знать С без знания С++ для устройства н
От: Cyberax Марс  
Дата: 05.09.14 00:11
Оценка:
Здравствуйте, eskimo82, Вы писали:

C>>Да ну? Почему atomics в С тогда взяли из С++? Точнее, они совместно работали.

E>Ты ничего не путаеш ? Атомарные переменные пришли в С++ из Си. Например sig_atomic_t вообще древний тип из стандарта POSIX.
Нет, не путаю. RTFM стандарты.
Вот статьи с обзором: https://lwn.net/Articles/586838/ и https://lwn.net/Articles/588300/

Фактически, это кодификация разных барьерных intrinsinc'ов и CAS-операций, которые раньше делались расширениями компиляторов.

C>>Единственным крупным расхождением являются именованные поля в инициализаторах структур и мелочи типа variable-sized arrays.

E>Не только.
А что ещё?

A>>>>- использует минимум возможностей языка и не способен писать выразительный, идиоматичный код

E>>>В C99 есть такие возможности которые в C++ и не снились.
C>>ЩИТО?
E>Ага.
Я весь внимание. Можно список?

E>>>В любом языке есть небезопасные конструкции, даже в той же Java выстрелить себе в ногу гораздо проще и потом часами искать ошибку — Например, можно просто забыть создать экземпляр класса какой нибудь коллекции в конструкторе.

C>>ЩИТО?
E>Ага. И главное super вызывать не забывай.
Можно пример? Вообще-то, super() выполняется автоматически.

E>>>Элементы обобщенного програмирования в Си тоже можно неплохо применять, а частности — первые наброски Степановом того, что сейчас называется STL были сделаны на Си, довольно оригинальным способом.

C>>Ага, через макросы.
E>Работает и работает неплохо.
Плохо. Криво, без частичной специализации и без многих оптимизаций.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.