Сообщение Re[6]: Как наиболее корректно работать с глобальными данными от 08.07.2015 19:40
Изменено 08.07.2015 19:43 VTT
Здравствуйте, enji, Вы писали:
E>удобно
Для меня это последний аргумент.
C++ это вообще не особо удобный язык: предварительное объявление всего и вся, крякозябры, экнмнабквх, неконсистентность, костыли, скудность средств "из коробки" и т.д.
Однако, по сравнению с C, в нем имеется и ряд прогрессивных нововведений, позволяющих защититься от множества непреднамеренных ошибок, повысить выразительность (и эффективность) языка. И наличие директив контроля доступа (пусть и в таком недоделанном виде) я считаю одним из самых полезных.
С другой стороны, плюрализма C тоже никто не отменял, и пользоваться всеми этими дополнительными средствами вроде как никто не заставляет.
Но каждый раз, когда мне хочется срезать угол, забить на контроль доступа, const-корректность, или даже просто назвать переменную покороче i вместо полноценного item_index, у меня возникают смутные подозрения, что я скатываюсь в трясину говнокода и этот срезанный угол мне когда-нибудь аукнется. Разумеется, использование этих средств вовсе не гарантирует отсутствие проблем в коде, но вот их неиспользование наличие проблем гарантирует.
И да, я скажу что C-шный трехсекционный for(;) не нужен, C-style cast не нужен, С-style enum не нужен, объявление переменных через запятую не нужно, assignment chaining не нужен, malloc не нужен, ..., вымирание панд не нужно. Только вот все эти безобразия продолжат существовать несмотря на мое негодование.
E>удобно
Для меня это последний аргумент.
C++ это вообще не особо удобный язык: предварительное объявление всего и вся, крякозябры, экнмнабквх, неконсистентность, костыли, скудность средств "из коробки" и т.д.
Однако, по сравнению с C, в нем имеется и ряд прогрессивных нововведений, позволяющих защититься от множества непреднамеренных ошибок, повысить выразительность (и эффективность) языка. И наличие директив контроля доступа (пусть и в таком недоделанном виде) я считаю одним из самых полезных.
С другой стороны, плюрализма C тоже никто не отменял, и пользоваться всеми этими дополнительными средствами вроде как никто не заставляет.
Но каждый раз, когда мне хочется срезать угол, забить на контроль доступа, const-корректность, или даже просто назвать переменную покороче i вместо полноценного item_index, у меня возникают смутные подозрения, что я скатываюсь в трясину говнокода и этот срезанный угол мне когда-нибудь аукнется. Разумеется, использование этих средств вовсе не гарантирует отсутствие проблем в коде, но вот их неиспользование наличие проблем гарантирует.
И да, я скажу что C-шный трехсекционный for(;) не нужен, C-style cast не нужен, С-style enum не нужен, объявление переменных через запятую не нужно, assignment chaining не нужен, malloc не нужен, ..., вымирание панд не нужно. Только вот все эти безобразия продолжат существовать несмотря на мое негодование.
Re[6]: Как наиболее корректно работать с глобальными данными
Здравствуйте, enji, Вы писали:
E>удобно
Для меня это последний аргумент.
C++ это вообще не особо удобный язык: предварительное объявление всего и вся, крякозябры, экнмнабквх, неконсистентность, костыли, скудность средств "из коробки" и т.д.
Однако, по сравнению с C, в нем имеется и ряд прогрессивных нововведений, позволяющих защититься от множества непреднамеренных ошибок, повысить выразительность (и эффективность) языка. И наличие директив контроля доступа (пусть и в таком недоделанном виде) я считаю одним из самых полезных.
С другой стороны, плюрализма C тоже никто не отменял, и пользоваться всеми этими дополнительными средствами вроде как никто не заставляет.
Но каждый раз, когда мне хочется срезать угол, забить на контроль доступа, const-корректность, или даже просто назвать переменную покороче i вместо полноценного item_index, у меня возникают смутные подозрения, что я скатываюсь в трясину говнокода и этот срезанный угол мне когда-нибудь аукнется. Разумеется, использование этих средств вовсе не гарантирует отсутствие проблем в коде, но вот их неиспользование наличие проблем гарантирует.
И да, я скажу что C-шный трехсекционный for(;;) не нужен, C-style cast не нужен, С-style enum не нужен, объявление переменных через запятую не нужно, assignment chaining не нужен, malloc не нужен, ..., вымирание панд не нужно. Только вот все эти безобразия продолжат существовать несмотря на мое негодование.
E>удобно
Для меня это последний аргумент.
C++ это вообще не особо удобный язык: предварительное объявление всего и вся, крякозябры, экнмнабквх, неконсистентность, костыли, скудность средств "из коробки" и т.д.
Однако, по сравнению с C, в нем имеется и ряд прогрессивных нововведений, позволяющих защититься от множества непреднамеренных ошибок, повысить выразительность (и эффективность) языка. И наличие директив контроля доступа (пусть и в таком недоделанном виде) я считаю одним из самых полезных.
С другой стороны, плюрализма C тоже никто не отменял, и пользоваться всеми этими дополнительными средствами вроде как никто не заставляет.
Но каждый раз, когда мне хочется срезать угол, забить на контроль доступа, const-корректность, или даже просто назвать переменную покороче i вместо полноценного item_index, у меня возникают смутные подозрения, что я скатываюсь в трясину говнокода и этот срезанный угол мне когда-нибудь аукнется. Разумеется, использование этих средств вовсе не гарантирует отсутствие проблем в коде, но вот их неиспользование наличие проблем гарантирует.
И да, я скажу что C-шный трехсекционный for(;;) не нужен, C-style cast не нужен, С-style enum не нужен, объявление переменных через запятую не нужно, assignment chaining не нужен, malloc не нужен, ..., вымирание панд не нужно. Только вот все эти безобразия продолжат существовать несмотря на мое негодование.