Здравствуйте, D. Mon, Вы писали:
DM>(Эдвард Руки-Сиплюсплюки) DM>Свежий наброс на С++ от человека в теме:
спасибо за статью. интересно. совпадает с моим мнением о том, что плюсы это _очень_ сложный язык.
в статье упоминается о совместимости плюсов с си, что неверно. пути си и плюсов разошлись много лет назад и на совместимость забили болт. даже С89 невозможно откомпилировать плюсами в режиме плюсов. в принципе, возможно написать программу, компилируемую как си, так и плюсами, но... смысл? а если совместимости нет, то за что же тогда держаться?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, мыщъх, Вы писали:
М>в статье упоминается о совместимости плюсов с си, что неверно. пути си и плюсов разошлись много лет назад и на совместимость забили болт.
+1024.
Это даже по самой сути языки РАЗНЫХ ПАРАДИГМ. И если ты пишешь на С++, какое тебе дело до того, будет ли программа на Си компилироваться твоим С++ компилятором??
Здравствуйте, D. Mon, Вы писали:
DM>(Эдвард Руки-Сиплюсплюки) DM>Свежий наброс на С++ от человека в теме: DM>http://bartoszmilewski.com/2013/09/19/edward-chands/
DM>Если кто по-английски не читает, скоро наверняка на хабре будет перевод.
какой-то ниасиливший сначала написал что для malloc(n * sizeof(int)) правильным кодом на С++ будет new int [n],
а потом что "обратная совместимость не нужна"
Здравствуйте, мыщъх, Вы писали:
М>Здравствуйте, D. Mon, Вы писали:
DM>>(Эдвард Руки-Сиплюсплюки) DM>>Свежий наброс на С++ от человека в теме: М>спасибо за статью. интересно. совпадает с моим мнением о том, что плюсы это _очень_ сложный язык.
нет, С++ это несложный язык. сложно — это некоторые ФП языки с умными концепциями из CS и математики, а в С++ ничего сложного нет, не считая того же ФП в шаблонах.
М>в статье упоминается о совместимости плюсов с си, что неверно. пути си и плюсов разошлись много лет назад и на совместимость забили болт. даже С89 невозможно откомпилировать плюсами в режиме плюсов. в принципе, возможно написать программу, компилируемую как си, так и плюсами, но... смысл? а если совместимости нет, то за что же тогда держаться?
лолшто? я почему-то беру любую опенсорсную программу на Си, и компилирую ее как С++. большая часть файлов компилируется сразу, в некоторых надо внести незначительные изменения.
пути начали расходиться только начиная с С99, когда добавили designated initializers, но все кто пишет на Си обычно юзают C89 (потому что со-вме-сти-мость со старыми компиляторами)
но С++ таки старается поддерживать совместимость с Си, достаточную чтобы можно было удобно переносить код с Си на С++.
Здравствуйте, herethere, Вы писали:
H>Здравствуйте, мыщъх, Вы писали:
H>Это даже по самой сути языки РАЗНЫХ ПАРАДИГМ.
в плюсах парадигм больше, согласен. можно писать в стиле "улучшенного си", можно в ооп, можно углубиться в метапрограммирование...
H> И если ты пишешь на С++, какое тебе дело до того, H> будет ли программа на Си компилироваться твоим С++ компилятором??
труп страуса высоко ценил _обратную_ совместимость с си о чем писал в своей книге. там же он писал, что совместимость требует жертв. _там_ _же_ он писал, что убил обратную совместимость (в частности, отсутствие декларации функции в плюсах ведет к ошибке, а в си это обычное дело). у вас не возникает разрыва шаблона?! богине совместимости приносятся жертвы от которых страдает язык, при этом даже примитивный хелло ворд, написанный на си, невозможно воткнуть в си++ программу если _специально_ не написать его в стиле двухсторонней совместимости.
вот я и обратил внимание, что в статье говорится о том, чего нет. когда-то это было, но очень давно. в самых первых версиях плюсов.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, D. Mon, Вы писали:
DM>>(Эдвард Руки-Сиплюсплюки) DM>>Свежий наброс на С++ от человека в теме: DM>>http://bartoszmilewski.com/2013/09/19/edward-chands/
DM>>Если кто по-английски не читает, скоро наверняка на хабре будет перевод.
A>какой-то ниасиливший
Ну вообще-то Бартош Милевский — один из признанных гуру С++
И по большому счету я с ним согласен, особенно вот с этим его замечанием:
We all know (and have scars on our faces to prove it) that you should .....
Это в точку, основная масса советов и книг по плюсам о том, как не напороться на грабли и не оставить еще один шрам поперек лица.
Ну и опыт, в основном, тоже заключается в том, как делать не надо
Здравствуйте, Abyx, Вы писали:
A>какой-то ниасиливший сначала написал что для malloc(n * sizeof(int)) правильным кодом на С++ будет new int [n],
Речь про эволюцию языка была. Расскажешь, какой код считался правильным в разных версиях плюсов?
А про ниасилившего пишут, что
He became an expert in C++ and published the book C++ In Action. He is best known for his blog at BartoszMilewski.com, where he discusses topics in concurrency, parallelism, language design, functional programming, and many other areas. He’s active in the C++ Standard Committee.
J>И по большому счету я с ним согласен, особенно вот с этим его замечанием: J>
J>We all know (and have scars on our faces to prove it) that you should .....
J>Это в точку, основная масса советов и книг по плюсам о том, как не напороться на грабли и не оставить еще один шрам поперек лица. J>Ну и опыт, в основном, тоже заключается в том, как делать не надо
J>С другой стороны, наверное, это везде так...
а что у него там про async-и, видел ссылку, но пока не читал — интересно/разумно? их правда, как он говорит, собираются депрекэйтить в 2014-ом?
Of course, the code must be complete enough to compile and link.
Здравствуйте, D. Mon, Вы писали:
A>>какой-то ниасиливший сначала написал что для malloc(n * sizeof(int)) правильным кодом на С++ будет new int [n], DM>Речь про эволюцию языка была. Расскажешь, какой код считался правильным в разных версиях плюсов? DM>А про ниасилившего пишут, что DM>
He became an expert in C++ and published the book C++ In Action. He is best known for his blog at BartoszMilewski.com, where he discusses topics in concurrency, parallelism, language design, functional programming, and many other areas. He’s active in the C++ Standard Committee.
а я там прочитал "So here’s the really correct version of the code: ... какой-то код с голым delete[]" и решил что автор застрял гдето в 90х, и не в курсе что в 2013 году принято везде применять vector<T>, или в крайнем случае unique_ptr<T[]>, а лучше какой-нибудь (пока) нестандартный DynArray.
а оказывается речь про эволюцию. ну так и надо было писать, не "С++", а "pre-ISO C++, C++98, C++03, C++, C++1y".
Здравствуйте, jazzer, Вы писали:
J>Ну вообще-то Бартош Милевский — один из признанных гуру С++
Этот "гуру" написал про "this code is not exception safe", но при этом забыл написать конструктор копирования и оперататор присваивания в классе, содержащем голые указатели (что сразу делает класс непригодным для использования в STL-контейнерах, скажем). За такой код в приличном обществе бьют канделябром.
Здравствуйте, eqw, Вы писали:
eqw>Здравствуйте, jazzer, Вы писали:
J>>Ну вообще-то Бартош Милевский — один из признанных гуру С++ eqw>Этот "гуру" написал про "this code is not exception safe", но при этом забыл написать конструктор копирования и оперататор присваивания в классе, содержащем голые указатели (что сразу делает класс непригодным для использования в STL-контейнерах, скажем). За такой код в приличном обществе бьют канделябром.
ну можно же допустить, что это очень условный пример, т.е. сам он так никогда не писал реальный код.
хотя, конечно, очень небрежно — т.е. я, например, когда пишу какой-то кусочек кода в какой-то теме в каком-то форуме, например,
стараюсь писать так, чтобы не придирались к несущественным мелочам — т.е. я бы лично написал объявления по крайней мере (и сделал бы их приватными, например).
а вообще, он же вроде хаскелист, трудно ожидать от него любви к С++ или какой-то объективности.
возможно, я перечитал Страуструпа, но у меня С++ не вызывает такого количества критики — т.е. я понимаю (ну или думаю, что понимаю) почему С++ такой, какой он есть и идей как решить задачу, стоявшую перед Бьярном лучше, чем он решил — у меня нет. ну, может быть, не нужно было решать эту задачу, хз.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>а вообще, он же вроде хаскелист, трудно ожидать от него любви к С++ или какой-то объективности.
<flame>Ты ж сам вроде сказал, что это C++ гуру. Вооот... а теперь покажите мне гуру-хаскелиста, перебравшегося на C++ и ругающего хаскель, с призказкой "он же сиплюсплюсник, трудно ожидать от него любви к хаскелу".
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>>а вообще, он же вроде хаскелист, трудно ожидать от него любви к С++ или какой-то объективности.
D>... Вооот... а теперь покажите мне гуру-хаскелиста, перебравшегося на C++ и ругающего хаскель, с призказкой "он же сиплюсплюсник, трудно ожидать от него любви к хаскелу".
да, это Джаззер говорил, но и я не встречал такого, чтобы кто-то с Хаскеля перешел на С++ и ругал Хаскель потом. впрочем, если с С++ перейдешь на ассемблер вряд ли будешь ругать С++ за его высокоуровненые (ок, по сравнению с ассемблером) конструкции/абстракции. так что, твое требование какое-то нереальное.
хаскелист он там или нет, а по-детски это все — все эти наивные причитания — ах, как плох С++. плох — не пиши и не используй.
а почему он такой — хорошо известно и все эти недоумения — как-то уже неуместны и слишком наивны, неумны уже даже.
Of course, the code must be complete enough to compile and link.
Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>хаскелист он там или нет, а по-детски это все — все эти наивные причитания — ах, как плох С++. плох — не пиши и не используй. L_L>а почему он такой — хорошо известно и все эти недоумения — как-то уже неуместны и слишком наивны, неумны уже даже.
/me задумчиво вспоминает, как однажды он в течение двух лет достаточно агрессивно капал на мозги тимлиду, что надо уходить с этого говна PHP на скалу, потом плюнул, уволился, а через месяц они начали портировать проект на жаву... Вот интересно, если бы я не тыкал его постоянно носом в тот факт, что PHP — говно по всем статьям, он бы наверное так и не осмелился бы начать с него уходить.
А в сабжевой статье достаточно много полезного конструктива, на самом деле: про хаскель рассказал, про нормальные подходы к многопоточности упомянул... Вот из подобного рода статей лично я обычно и черпал стимул изучать что-то новое. Потому что если просто это новое похвалить, то я прочитаю, порадуюсь за парней, и останусь на своём старом, тоже хорошем. А вот если перфекционисту популярно объяснить, что его инструменты — говно, а вон там лежит Nemerle то, что надо — тут уже без вариантов.
D>А в сабжевой статье достаточно много полезного конструктива, на самом деле: про хаскель рассказал, про нормальные подходы к многопоточности упомянул... Вот из подобного рода статей лично я обычно и черпал стимул изучать что-то новое.
а вот с этим я не спорю и, когда наберусь сил (== отпинаю свою лень) — почитаю
Of course, the code must be complete enough to compile and link.