Edward C++Hands
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 20.09.13 03:43
Оценка: 4 (2) +1
(Эдвард Руки-Сиплюсплюки)
Свежий наброс на С++ от человека в теме:
http://bartoszmilewski.com/2013/09/19/edward-chands/

Если кто по-английски не читает, скоро наверняка на хабре будет перевод.
Re: Edward C++Hands
От: мыщъх США http://nezumi-lab.org
Дата: 20.09.13 05:21
Оценка: :))
Здравствуйте, 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.
Re[2]: Edward C++Hands
От: herethere  
Дата: 20.09.13 08:47
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>в статье упоминается о совместимости плюсов с си, что неверно. пути си и плюсов разошлись много лет назад и на совместимость забили болт.


+1024.
Это даже по самой сути языки РАЗНЫХ ПАРАДИГМ. И если ты пишешь на С++, какое тебе дело до того, будет ли программа на Си компилироваться твоим С++ компилятором??


"Руки-сиплюсплюки" — 5 баллов!!
Re: Edward C++Hands
От: Abyx Россия  
Дата: 20.09.13 09:09
Оценка: +1 -1
Здравствуйте, D. Mon, Вы писали:

DM>(Эдвард Руки-Сиплюсплюки)

DM>Свежий наброс на С++ от человека в теме:
DM>http://bartoszmilewski.com/2013/09/19/edward-chands/

DM>Если кто по-английски не читает, скоро наверняка на хабре будет перевод.


какой-то ниасиливший сначала написал что для malloc(n * sizeof(int)) правильным кодом на С++ будет new int [n],
а потом что "обратная совместимость не нужна"

где вы такие говностатьи берете %)
In Zen We Trust
Re[2]: Edward C++Hands
От: Abyx Россия  
Дата: 20.09.13 09:21
Оценка: +2
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, D. Mon, Вы писали:


DM>>(Эдвард Руки-Сиплюсплюки)

DM>>Свежий наброс на С++ от человека в теме:
М>спасибо за статью. интересно. совпадает с моим мнением о том, что плюсы это _очень_ сложный язык.
нет, С++ это несложный язык. сложно — это некоторые ФП языки с умными концепциями из CS и математики, а в С++ ничего сложного нет, не считая того же ФП в шаблонах.

М>в статье упоминается о совместимости плюсов с си, что неверно. пути си и плюсов разошлись много лет назад и на совместимость забили болт. даже С89 невозможно откомпилировать плюсами в режиме плюсов. в принципе, возможно написать программу, компилируемую как си, так и плюсами, но... смысл? а если совместимости нет, то за что же тогда держаться?

лолшто? я почему-то беру любую опенсорсную программу на Си, и компилирую ее как С++. большая часть файлов компилируется сразу, в некоторых надо внести незначительные изменения.
пути начали расходиться только начиная с С99, когда добавили designated initializers, но все кто пишет на Си обычно юзают C89 (потому что со-вме-сти-мость со старыми компиляторами)
но С++ таки старается поддерживать совместимость с Си, достаточную чтобы можно было удобно переносить код с Си на С++.
In Zen We Trust
Re[3]: Edward C++Hands
От: мыщъх США http://nezumi-lab.org
Дата: 20.09.13 09:57
Оценка:
Здравствуйте, 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.
Re[2]: Edward C++Hands
От: jazzer Россия Skype: enerjazzer
Дата: 20.09.13 10:36
Оценка:
Здравствуйте, 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 .....

Это в точку, основная масса советов и книг по плюсам о том, как не напороться на грабли и не оставить еще один шрам поперек лица.
Ну и опыт, в основном, тоже заключается в том, как делать не надо

С другой стороны, наверное, это везде так...
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Edward C++Hands
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 20.09.13 11:13
Оценка:
Здравствуйте, 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.


A>а потом что "обратная совместимость не нужна"


Я не понял, что ты хотел сказать.
Re[3]: Edward C++Hands
От: Lorenzo_LAMAS  
Дата: 20.09.13 12:26
Оценка:
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.
Re[3]: Edward C++Hands
От: Vain Россия google.ru
Дата: 20.09.13 12:27
Оценка:
Здравствуйте, herethere, Вы писали:

H>"Руки-сиплюсплюки" — 5 баллов!!

руки-программюки
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: Edward C++Hands
От: Abyx Россия  
Дата: 20.09.13 13:20
Оценка: +1
Здравствуйте, 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".
In Zen We Trust
Re[4]: Edward C++Hands
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 20.09.13 15:20
Оценка: +2
Здравствуйте, Abyx, Вы писали:

A>а я там прочитал "So here’s the really correct version of the code: ... какой-то код с голым delete[]" и решил


Там буквально следующая строчка: "Are we done yet? Of course not!" И дальше в том числе про смартпоинтеры. Короче, плохо читал ты.
Re[4]: Edward C++Hands
От: dimgel Россия https://github.com/dimgel
Дата: 20.09.13 17:09
Оценка:
Здравствуйте, Vain, Вы писали:

H>>"Руки-сиплюсплюки" — 5 баллов!!


+1

V>руки-программюки


Программака-сиплюспляка.
Re[3]: Edward C++Hands
От: eqw  
Дата: 20.09.13 17:54
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Ну вообще-то Бартош Милевский — один из признанных гуру С++

Этот "гуру" написал про "this code is not exception safe", но при этом забыл написать конструктор копирования и оперататор присваивания в классе, содержащем голые указатели (что сразу делает класс непригодным для использования в STL-контейнерах, скажем). За такой код в приличном обществе бьют канделябром.
Re[4]: Edward C++Hands
От: Lorenzo_LAMAS  
Дата: 20.09.13 18:02
Оценка:
Здравствуйте, eqw, Вы писали:

eqw>Здравствуйте, jazzer, Вы писали:


J>>Ну вообще-то Бартош Милевский — один из признанных гуру С++

eqw>Этот "гуру" написал про "this code is not exception safe", но при этом забыл написать конструктор копирования и оперататор присваивания в классе, содержащем голые указатели (что сразу делает класс непригодным для использования в STL-контейнерах, скажем). За такой код в приличном обществе бьют канделябром.

ну можно же допустить, что это очень условный пример, т.е. сам он так никогда не писал реальный код.

хотя, конечно, очень небрежно — т.е. я, например, когда пишу какой-то кусочек кода в какой-то теме в каком-то форуме, например,
стараюсь писать так, чтобы не придирались к несущественным мелочам — т.е. я бы лично написал объявления по крайней мере (и сделал бы их приватными, например).

а вообще, он же вроде хаскелист, трудно ожидать от него любви к С++ или какой-то объективности.
возможно, я перечитал Страуструпа, но у меня С++ не вызывает такого количества критики — т.е. я понимаю (ну или думаю, что понимаю) почему С++ такой, какой он есть и идей как решить задачу, стоявшую перед Бьярном лучше, чем он решил — у меня нет. ну, может быть, не нужно было решать эту задачу, хз.
Of course, the code must be complete enough to compile and link.
Re[5]: Edward C++Hands
От: dimgel Россия https://github.com/dimgel
Дата: 20.09.13 18:14
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>а вообще, он же вроде хаскелист, трудно ожидать от него любви к С++ или какой-то объективности.


<flame>Ты ж сам вроде сказал, что это C++ гуру. Вооот... а теперь покажите мне гуру-хаскелиста, перебравшегося на C++ и ругающего хаскель, с призказкой "он же сиплюсплюсник, трудно ожидать от него любви к хаскелу".
Re[6]: Edward C++Hands
От: dimgel Россия https://github.com/dimgel
Дата: 20.09.13 18:16
Оценка:
D>Ты ж сам вроде сказал, что это C++ гуру.
Не, то jazzer сказал, сорри.
Re[6]: Edward C++Hands
От: Lorenzo_LAMAS  
Дата: 20.09.13 18:38
Оценка: 1 (1) +2
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, Lorenzo_LAMAS, Вы писали:


L_L>>а вообще, он же вроде хаскелист, трудно ожидать от него любви к С++ или какой-то объективности.


D>... Вооот... а теперь покажите мне гуру-хаскелиста, перебравшегося на C++ и ругающего хаскель, с призказкой "он же сиплюсплюсник, трудно ожидать от него любви к хаскелу".


да, это Джаззер говорил, но и я не встречал такого, чтобы кто-то с Хаскеля перешел на С++ и ругал Хаскель потом. впрочем, если с С++ перейдешь на ассемблер вряд ли будешь ругать С++ за его высокоуровненые (ок, по сравнению с ассемблером) конструкции/абстракции. так что, твое требование какое-то нереальное.

хаскелист он там или нет, а по-детски это все — все эти наивные причитания — ах, как плох С++. плох — не пиши и не используй.
а почему он такой — хорошо известно и все эти недоумения — как-то уже неуместны и слишком наивны, неумны уже даже.
Of course, the code must be complete enough to compile and link.
Re[7]: Edward C++Hands
От: dimgel Россия https://github.com/dimgel
Дата: 20.09.13 18:51
Оценка: 1 (1) +1
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>хаскелист он там или нет, а по-детски это все — все эти наивные причитания — ах, как плох С++. плох — не пиши и не используй.

L_L>а почему он такой — хорошо известно и все эти недоумения — как-то уже неуместны и слишком наивны, неумны уже даже.

/me задумчиво вспоминает, как однажды он в течение двух лет достаточно агрессивно капал на мозги тимлиду, что надо уходить с этого говна PHP на скалу, потом плюнул, уволился, а через месяц они начали портировать проект на жаву... Вот интересно, если бы я не тыкал его постоянно носом в тот факт, что PHP — говно по всем статьям, он бы наверное так и не осмелился бы начать с него уходить.

А в сабжевой статье достаточно много полезного конструктива, на самом деле: про хаскель рассказал, про нормальные подходы к многопоточности упомянул... Вот из подобного рода статей лично я обычно и черпал стимул изучать что-то новое. Потому что если просто это новое похвалить, то я прочитаю, порадуюсь за парней, и останусь на своём старом, тоже хорошем. А вот если перфекционисту популярно объяснить, что его инструменты — говно, а вон там лежит Nemerle то, что надо — тут уже без вариантов.
Re[8]: Edward C++Hands
От: Lorenzo_LAMAS  
Дата: 20.09.13 18:56
Оценка:
D>А в сабжевой статье достаточно много полезного конструктива, на самом деле: про хаскель рассказал, про нормальные подходы к многопоточности упомянул... Вот из подобного рода статей лично я обычно и черпал стимул изучать что-то новое.

а вот с этим я не спорю и, когда наберусь сил (== отпинаю свою лень) — почитаю
Of course, the code must be complete enough to compile and link.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.