
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (56) « Первая ... 19 20 [21] 22 23 ... 55 56 ( Перейти к последнему сообщению ) |
Сообщ.
#301
,
|
|
|
Это был просто пример. В куче случаев мне кажется удобным наличие перегрузки. Да хотя бы to_string или min/max. И если вещи типа то_стр на имплах делаются "вполне нормально", то если аргументов несколько, то уже получается более бредово. Ещё что-то читал, что макросы у них не попадают в неймспейсы, что тоже не очень здорово. Впрочем, я раст знаю ещё хуже и очень может быть, что просто слишком привык к тому как эти вещи делаются в С++. Возможно, кто-то, кто знает язык лучше, сумеет разубедить (пока они его не "зарелизят" за изучение браться лень). |
Сообщ.
#302
,
|
|
|
Цитата DarkEld3r @ пока они его не "зарелизят" за изучение браться лень аналогично ![]() |
Сообщ.
#303
,
|
|
|
Цитата не пора ли C++ потихоньку готовиться к пенсии? Вот вам: Почему Ваза утонул, а С++ всё ещё на плаву http://habrahabr.ru/company/infopulse/blog/227529/ ![]() |
Сообщ.
#304
,
|
|
|
А можно я Сразу говорю - глубоко язык не изучал и ничего хоть немного обьёмного писать не пробовал. Тем не менее, в итоге сложилось не самое лучшее впечатление. Вроде, много улучшений, но в итоге получается так себе. Взять хотя бы строки. В С++ "raw string literals" появились не так давно. В D они есть, но в виде кучи разных вариантов со своими (местами не очень прозрачными) правилами. Например: ![]() ![]() auto a1 = "just a string"; auto a2 = r"raw string\n\r"; auto a3 = `raw string\n\r`; Про одиночную кавычку на сайте написано: Цитата The ` character is not available on some keyboards and the font rendering of it is sometimes indistinguishable from the regular ' character. Since, however, the ` is rarely used, it is useful to delineate strings with " in them. Почему бы не удалили, в таком случае. Или хотя бы депрекейтед обьявили. Плюс строки с задаваемыми разделителями. Правда в качестве "разделителя" может быть только один символ и только из этого списка: "[(<{" (так на сайте написано, на самом деле такое тоже работает (q"|raw string\n\r|"), а вот такое уже нет (q"!raw string\n\r!"). Разделители допускают вложение (если честно, то не понял зачем это надо): ![]() ![]() auto а5 = q"/test/eee/"; // Error. auto a6 = q"[]]"; // Error. auto a7 = q"[[]]"; // OK, a7 = "[]". Можно задавать разделители из более чем одного символа, но при этом надо разбивать такой литерал на несколько строк (разделители должны быть на разных строках): ![]() ![]() auto a1 = q"EOS Test string EOS"; Вот так написать нельзя, ну и отступ попал бы в строку: ![]() ![]() auto a1 = q"EOS Test string EOS"; На мой взгляд, это не очень удoбно. Дофига правил и исключений для одной сущности. И это при том, что язык обьявляют более простым, чем С++. При этом в С++ как раз сделали нормально без необходимости строки разрывать и ломать форматирование: ![]() ![]() R"delimiter(The String Data \ Stuff " )delimiter" Опять же, если на их сайте бегло всякие сравнения посмотреть, то местами лучше (пусть даже гораздо лучше), местами примерно так же, а есть и такое, что повторить не получится. Может оно и "не надо" или на D оно иначе делается, но в табличке хватает простых "No" со стороны D. Ну и ГЦ, конечно. В этом плане подход раста намного лучше. При этом сторонники языка утверждают, что "если надо", то можно без него. Но при этом приходится отказываться от кучи вещей, которыми в С++ жертвовать не обязательно. Причём библиотеки, где отказались от классов, чтобы ГЦ не трогать и сделали всё на структурах, ещё и пользователя ограничивают. Да и мне вообще подход С++ ближе, где программист сам решает где и что размещать, а не язык за него. Тем более дурацким показалось, что в D есть (было) ключевое слово scope для размещения классов на стеке, но его объявили устаревшим с идиотским обьяснением - "а вдруг такой обьект передадут за пределы функции и получат грабли". Ведь это компилятор может и проверить. В общем, есть плюсы, но и минусов хватает. В итоге С++ выигрывает так как: 1. Грабли уже известны. 2. Инфраструктура лучше. Да и со скоростью развития теперь вопрос. В С++ много всякого обещают. За D правда не слежу, но там даже не все заявленые фичи работают (да хотя бы multiple alias this), потом всё обещаются стандартную библиотеку допилить и компилятор языка на D перевести. А с развитием что? |
Сообщ.
#305
,
|
|
|
Цитата Мяут-Настоящий @ Почему Ваза утонул, а С++ всё ещё на плаву Угу, и самый популярный комментарий Цитата потому, что С++ не тонет |
Сообщ.
#306
,
|
|
|
Всю переписку ниасилил, но скажу одно - "вы все дураки, я одна стою в белом пальто, красивая" © ![]() Скажу более, не юзавши boost, но слышавши про его тип ::any - тлеет надежда, что строгую типизацию вынесут в разряд "must haVe", вместо обязалова. А пока ... Perl - the best of the best. Даже не думайте спорить! ![]() |
Сообщ.
#307
,
|
|
|
Цитата JoeUser @ нетипизированность (ну или допущение) Что это? Неявная типизация? Или динамическая типизация? Или что? Добавлено По контексту больше похоже на динамическую. Но что тогда оставить в "смеси" от C++? Там все полезное так или иначе связано со статической типизацией. |
![]() |
Сообщ.
#308
,
|
|
Цитата D_KEY @ По контексту больше похоже на динамическую. Ты смог определить контекст в этом потоке сознания? =) |
Сообщ.
#309
,
|
|
|
Да что-то сколько уже Александреску пиарит D, а воз и ныне там.
|
Сообщ.
#310
,
|
|
|
Цитата Axis @ Это не так. Набирает популярность. Медленно так как нет мощной финансовой поддержки. Да что-то сколько уже Александреску пиарит D, а воз и ныне там. |
Сообщ.
#311
,
|
|
|
Цитата applegame @ Медленно так как нет мощной финансовой поддержки. Ага, и facebook совсем не причем, правда? |
Сообщ.
#312
,
|
|
|
Цитата Kray74 @ Ага, Facebook действительно не причем. Они не спносируют D. Иногда, усилиями того же Александреску, фейсбук дает вознаграждение за фикс некоторых критических для них багов. Но тоже самое делают и другие пользователи D. Вот что пишет сам Александреску:Ага, и facebook совсем не причем, правда? Цитата Просто мощнейшая финансовая поддержка, правда? И фейсбук в ней участвует незначительно. A $150 monthly contribution would cover our hosting costs. $1000 per month would cover the yearly basic costs for DConf. $500 more per month would add A/V for the conference. We've had DConf partially sponsored, but it's good to have autonomy. Some more couple thousands would buy us things like a web designer. $2000 or more per month would possibly get us a person to put on things that are urgent and important. We're very much limited by the lack of funds. Andrei |
Сообщ.
#313
,
|
|
|
Ну у C++ с финансовой поддержкой тоже не густо было. Да и сейчас особо нет.
У питона, насколько я знаю, ситуация не лучше. Где же комьюнити D? |
Сообщ.
#314
,
|
|
|
Цитата D_KEY @ Нет? А как же Apple со своим clang, Microsoft со своим Visual Studio, Intel со своим ICC? Очевидно там кодят добровольцы совершенно бесплатно. А уж кто в комитете заседает, наверняка волонтеры. Герб Саттер (руль комитета), в Microsoft только числится, а так все за свой счет, бедняга. Ну у C++ с финансовой поддержкой тоже не густо было. Да и сейчас особо нет. |
Сообщ.
#315
,
|
|
|
Цитата applegame @ Нет? А как же Apple со своим clang, Microsoft со своим Visual Studio, Intel со своим ICC? Они поддерживают то, что уже популярно, и на чём написано огромное количество кода. Цитата applegame @ Герб Саттер (руль комитета), в Microsoft только числится, а так все за свой счет, бедняга. Такие же намёки на мордокнигу были отвергнуты. Саттеру теперь что, на пожертвования жить? Компании участвуют в стандартизации не для того, чтобы продвигать язык, а потому что являются его пользователями. А вообще C++ (как и многие другие языки) стал популярным не из-за вложенных в него денег, а просто потому что c'est la vie. |