Здравствуйте, matumba, Вы писали:
M>Нда... вроде криокамеры ещё не изобрели?
M>
Ну это просто смешно. "D устарел" сам нагуглить сможешь или тоже скриншот показать? Правильный вывод сделать сумеешь?
Вообще отвратительно впечатление производит, когда что-то "рекламируют" таким образом. К счастью о D я узнал гораздо раньше, а то почитав такие "отзывы" только мимо пройти хочется.
Здравствуйте, DarkEld3r, Вы писали:
DE>Вообще отвратительно впечатление производит, когда что-то "рекламируют" таким образом.
Бедного сипипи-кодера обидели фактом, что его язык устарел на 20 лет? Я вообще-то пылесосы не продаю и от тебя лично мне ничего не нужно, особенно если не умеешь читать суть поста. Я написал для потенциальных ди-программистов, что язык стал уже использоваться даже лицокнигой, что даёт ещё больший стимул изучать язык. А перетягивать разных скептиков с сакральными знаниями malloc/free — пусть идут дальше.
Здравствуйте, matumba, Вы писали:
M>Здравствуйте, DarkEld3r, Вы писали:
DE>>Вообще отвратительно впечатление производит, когда что-то "рекламируют" таким образом.
M>Бедного сипипи-кодера обидели фактом, что его язык устарел на 20 лет? Я вообще-то пылесосы не продаю и от тебя лично мне ничего не нужно, особенно если не умеешь читать суть поста. Я написал для потенциальных ди-программистов, что язык стал уже использоваться даже лицокнигой, что даёт ещё больший стимул изучать язык. А перетягивать разных скептиков с сакральными знаниями malloc/free — пусть идут дальше.
Вообще-то "бедные сипипи-кодеры" — это (в том числе) и есть потенциальные программисты на Д. Сомневаюсь, что к примеру с шарпа люди прямо так побегут.
Читать умею, тролля сразу заметил. Кстати, очень напоминает разных "лисперов" (в кавычках потому что грамотные специалисты там тоже есть) с лора, примерно такой же уровень артгументации и подачи материала.
Сам-то как думаешь — Александреску с этого дня больше не будет на С++ писать? Или перестанет доклады об этом языке устраивать? Или может ты сам на Д уже несколько проектов начал/завершил и есть чем похвастаться?
Самое забавное, что развитие языка мне интересно и эту "новость" прочёл пару дней назад, даже пару раз искал на рсдн обсуждение, думал может чего интересного напишут. Хотя раст, пожалуй, всё-таки поинтереснее выглядит... Просто надо поменьше фанатизма.
Здравствуйте, matumba, Вы писали:
M>В эпоху гигагерцовых смартфонов как-то даже неудобно экономить миллисекунды. Не говоря о том, что Ди — тоже не петрушка, это нативный компилятор — ничто не мешает ему вылизать производительность.
Начнёшь прикручивать распознавание речи и образов, или ещё какую-нибудь числодробилку для домохозяек, в гигагерцовый смартофон — очень быстро вспомнишь про экономию миллисекунд.
Первое, чем захочешь пожертвовать — это сборкой мусора.
Ну а диапазоны вместо итераторов — это, возможно, баловство, а возможно, и не баловство — профайлер покажет.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>>>А тут разве кто-то вообще говорит что он устарел? M>>Нда... вроде криокамеры ещё не изобрели? EP>Аргументы?
Спорить про мракобесие типа С++ — это подымать больную тему, сводящуюся к тому, что один спец на миллион да, МОЖЕТ написать хорошую, устойчивую программу, которую ВОЗМОЖНО даже смогут сопровождать ещё десяток спецов пониже. В целом же мнение отрасли таково, что С++ ПЛОХО ПРИМЕНИМ в мэйнстриме из-за своей низкоуровневой природы, влекущей море таймбомб (+ ещё сотня причин). Если уж хочется почитать (не верю, что вы этого не читали и почему-то продолжаете настаивать на аргументах), то вот: http://ru.wikipedia.org/wiki/C%2B%2B — наслаждайтесь разделом "Критика" (не забудьте заодно посчитать, сколько страниц там написано на размазывание С++ как котёнка).
И даже если эти аргументы вам (как возможно хорошему спецу на С++) покажутся смешными или устранимыми, это не отменяет факта, что средний спец на С++ всё равно будет говнокодить в разы больше, чем тот же спец на C#/Java/D/etc.
С++ — это катана, принесённая дураками на кухню для нарезки моркови — ей МОЖНО нарезать морковь, но в большинстве случаев это отрезанные пальцы и работа-через-Ж.
EP>Откуда столько злости и ненависти?
Не совсем злости — скорее, этакая досада, что есть море очевидного говнокода на говноязыке, которое по-хорошему давно надо выпилить как зло и заменить намного более удобными/безопасными языками, но т.к. существуют "профессоры" типа вас, адвокатирующие за продолжение сипиписной вакханалии, у руководящих людей создаётся ложное впечатление, что "достаточно взять пару толковых С++ ребят" и все проблемы решены. На деле дуроломство не имеет границ и С++ только подливает масла в огонь, предлагая неокрепшим умам поиграть со своими лезвиями. Цепная реакция даёт ещё больше говнопроектов, которые худо-бедно живут, но при этом не дают развиваться другим языкам, которые, вероятно, могли бы быть в два раза более производительны и надёжны. А время идёт и ждать, пока каждый говнопроект не сдохнет в шаблонно-указательных муках, нет никакого желания. Теперь вы осознаёте, что такое "невинное" существование С++ всё равно гадит в отрасль, не давая ей развиваться с другими, более достойными языками? Даже пример дам — Линукс. Я подобную халтуру не поставлю даже в бортовую радиолу,
M>>Вон, ассемблер — не чета всяким Сям — забыли? EP>Чтобы на ассемблере обогнать результат современных C++ компиляторов, надо очень сильно постараться
Пофиг, человек всё равно умнее — можно найти случай, когда ассемблерный код будет быстрее/короче С++ного. Только чего ради? Посотрясать воздух в споре с очередным умником? Просто сейчас время такое, что ущербность писания на асме уже осознали, но аналогичную ущербность С/С++ ещё только предстоит осознать. Время только жалко...
PS
Не воспринимайте всё так уж лично, просто посмотрите на ситуацию сверху — С++ объективно опасный и бестолковый язык, в мэйнстриме это язык-урод, не отвечающий главным требованиям. Ну а кто хочет на нём писать, пусть пишут — тянуть за рукав не будем.
Здравствуйте, matumba, Вы писали:
EP>>>>А тут разве кто-то вообще говорит что он устарел? M>>>Нда... вроде криокамеры ещё не изобрели? EP>>Аргументы? M>Спорить про мракобесие типа С++ — это подымать больную тему, сводящуюся к тому, что один спец на миллион да, МОЖЕТ написать хорошую, устойчивую программу, которую ВОЗМОЖНО даже смогут сопровождать ещё десяток спецов пониже. В целом же мнение отрасли таково, что С++ ПЛОХО ПРИМЕНИМ в мэйнстриме из-за своей низкоуровневой природы, влекущей море таймбомб (+ ещё сотня причин).
Угадай какому языку учат дизайнеров "Parsons The New School for Design"? Which language would you recommend for creative graphics written by non-CS majors?
M>И даже если эти аргументы вам (как возможно хорошему спецу на С++) покажутся смешными или устранимыми, это не отменяет факта, что средний спец на С++ всё равно будет говнокодить в разы больше, чем тот же спец на C#/Java/D/etc. M>С++ — это катана, принесённая дураками на кухню для нарезки моркови — ей МОЖНО нарезать морковь, но в большинстве случаев это отрезанные пальцы и работа-через-Ж.
Я не увидел аргументов в пользу того что C++ устарел. Вот выше Java упомянут, в котором даже лямбд нету
EP>>Откуда столько злости и ненависти? M>[...] А время идёт и ждать, пока каждый говнопроект не сдохнет в шаблонно-указательных муках, нет никакого желания. Теперь вы осознаёте, что такое "невинное" существование С++ всё равно гадит в отрасль, не давая ей развиваться с другими, более достойными языками? Даже пример дам — Линукс. Я подобную халтуру не поставлю даже в бортовую радиолу,
Здравствуйте, matumba, Вы писали:
M>Даже пример дам — Линукс. Я подобную халтуру не поставлю даже в бортовую радиолу,
Лол что? Ни с чем не перепутал? Вообще-то Линус категорически не любит С++.
Или ты не разделяешь С и С++? И предлагаешь писать ядро на джава/С#? Кстати, ничего, что винда тоже не на них написана?
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>>А в D спокойно могут пожертвовать производительностью ради других целей (об этом говорил A.A.).
EP><b>например</b>
В монологе с этой позиции Ал-ку говорит совершенно другое. Что они начинают отталкиваться не от угла треугольника эффективность-удобство-безопасность, а от середины, и в некотором смысле опровергают CAP-теорему для такого треугольника, т.е. дотягиваются до _всех_ его углов. И недавно он же писал на реддите:
"D offers the same level of control as C. There is no reason to escape from D into C or C++ for performance.
...
This is just hopeful rationalization of your knowledge and preference for C++ (which is btw entirely understandable). From the viewpoint of one who's fluent in both languages, I can say D's power is way ahead of anything C++14 could hope to achieve."
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>void sort(RandomAccessRange &x) EP>void sort(BidirectionalRange &x) EP>Это шаблоны функций, перегрузка между которыми происходит автоматом. Требования каждой концепции разбиваются компилятором на атомы, и производится тест вложенности множеств и т.п.
Перегрузка таких шаблонов в D есть, но, насколько я помню, без такого теста вложенности, последовательная, т.к. в условиях может выполняться почти произвольный код, они намного больше всего могут тестировать, поэтому такую проверку "вложенности множеств" провести нереально, она возможна лишь для сильно примитивных условий, которые и обещают в С++.
Вот такой пример на С++ как записывается? http://thedeemon.livejournal.com/53900.html
(проверка переданного шаблона на выполнение аксиом функтора в категории)
EP>Итераторы C++ обеспечивают эффективную композицию. Если у нас есть 4 итератора, то из них можно получить 6 range бесплатно, без runtime penalty — просто выбери нужную пару итераторов.
Здравствуйте, matumba, Вы писали:
M>DrDobbs обрадовал небольшой заметкой про использование языка D в таком крупном проекте, как Facebook. 5K LOC — как говорил Семёныч, выходя из пивной: "Маленький шажок человека, но большой шаг для человечества!". Действительно, ну не может же хороший язык быть вечным мальчиком для битья всякими язвительными сипиписниками — "разум когда-нибудь победит" (ц) Смысловые Галлюцинации.
При всей моей любви к D он пока непригоден для сколько нибудь серьезных проектов, слишком пока быстро
развивается, слишком часто делают ломающие изменения. Разработчикам языка уже давно пора было остановится
и сделать стабильную 2.x версию.
M>Надеюсь, что уже сам пример использования таким "гигантом", станет хорошим вдохновителем для масс — многие просто боятся использовать что-то малораздутое или новоиспечённые выскочки типа Rust/Go. Ди развивается уже много лет и к счастью — без давления легаси или коммерческой продавабельности (как C#), так что если под Ди встанет хороший фундамент инвестиций, сипипи-убожества навсегда покинут индустрию.
А вот за такой троллизм минус.
Основная масса тех кто интересуются D это как раз любители (включая и меня) этого "убожества"
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Как известно, у C++ основным приоритетом является производительность. EP>А в D спокойно могут пожертвовать производительностью ради других целей (об этом говорил A.A.). Взять например те же ranges — они проигрывают итераторам по производительности by-design
Это мнение только одного из авторов. Основной автор как раз подчеркивает что высокая производительность
одна из основных целей:
D is a general purpose systems and applications programming language. It is a high level language, but retains the ability to write high performance code and interface directly with the operating system API's and with hardware.
Притом это начало обзора языка.
Ну и встроенный ассемблер, интрисики в стандартной библиотеке и практически включенный
как подмножество язык си это уже вполне серьезно.
Здравствуйте, matumba, Вы писали:
M>DrDobbs обрадовал небольшой заметкой про использование языка D в таком крупном проекте, как Facebook. 5K LOC — как говорил Семёныч, выходя из пивной: "Маленький шажок человека, но большой шаг для человечества!". Действительно, ну не может же хороший язык быть вечным мальчиком для битья всякими язвительными сипиписниками — "разум когда-нибудь победит" (ц) Смысловые Галлюцинации. M>Надеюсь, что уже сам пример использования таким "гигантом", станет хорошим вдохновителем для масс — многие просто боятся использовать что-то малораздутое или новоиспечённые выскочки типа Rust/Go. Ди развивается уже много лет и к счастью — без давления легаси или коммерческой продавабельности (как C#), так что если под Ди встанет хороший фундамент инвестиций, сипипи-убожества навсегда покинут индустрию.
И это при том, что не далее как 3-го октября (т.е. 19 дней назад) Александреску сказал:
Q: Are there plans to use D in Facebook?
A: Not for the time being.
Здравствуйте, FR, Вы писали:
FR>При всей моей любви к D он пока непригоден для сколько нибудь серьезных проектов, слишком пока быстро FR>развивается, слишком часто делают ломающие изменения. Разработчикам языка уже давно пора было остановится FR>и сделать стабильную 2.x версию.
Я думаю, последнее время это уже менее актуально. Сейчас они больше багфиксингом заняты. У меня есть несколько проектов, которые успешно пережили несколько версий компилятора, и я как-то не заметил никаких проблем и ломающих изменений. Т.е. формально да, пришлось несколько строчек поменять в коде, чтобы он опять собирался, но это дело минутное.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>В следующем году будут концепции — большой шаг вперёд. А что тут может предложить D? duck-typing?
D может предложить намного более полный и мощный контроль в compile-time, тот же static if
дополненный foreach как по типам (работающим в compile time) так и по значениям и гораздо
более мощнные чем constexpr CTFE.
Да static if с одной стороны конечно вещь гораздо более низкоуровневая чем концепты, но это
не только минус но и плюс, мощность у нее гораздо выше.
Ну и плюс такой сахар как Template Constraints позволяет писать в стиле контрактов нового
С++, хотя конечно с более примитивным матчингом.
Или вот в ту же тему в последней версии вводят новый сахар new eponymous template syntax
EP>Итераторы C++ обеспечивают эффективную композицию. Если у нас есть 4 итератора, то из них можно получить 6 range бесплатно, без runtime penalty — просто выбери нужную пару итераторов.
Да все так, но плата за эффективность внутри как раз практически невозможность композиции на итераторах снаружи,
цепочку из функций работающих с парами независимых итераторов делать практически невозможно. Понятно что тот же
boost::range все исправляет, но похоже что лучше иметь в стандартной библиотеке (как в C++ так и в D) и итераторы
и range.
Ну и кстати написать для D итераторы ничего не мешает, и эффективность у них будет такой же как и в C++, так что
к недостаткам языка их отсутствие никак нельзя отнести.
EP>Чтобы вернуть вменяемый результат, параллельно "рабочему" range'у приходится передёргивать дополнительный range result. В то время как в STL, нет этих лишних телодвижений — возвращается итератор, который практически бесплатно определяет два range'а.
Тут кстати еще в профайлер надо смотреть, эти лишние телодвижения по сути в машинном коде добавят пару
лишних инкрементов, это будет заметно только в очень вырожденных случаях.
Здравствуйте, D. Mon, Вы писали:
EP>>Итераторы C++ обеспечивают эффективную композицию. Если у нас есть 4 итератора, то из них можно получить 6 range бесплатно, без runtime penalty — просто выбери нужную пару итераторов.
DM>Хороший пример, спасибо.
Так это все обсуждалось 100 лет назад, когда Александреску только выступил со своим iterators must go
Вот, например: http://www.rsdn.ru/forum/cpp/3491669
Здравствуйте, ins-omnia, Вы писали:
IO>Зато есть вменяемая модель многопоточности. И модель памяти, которая с этой многопоточностью работает. IO>И всё это безопасно — на уровне "управляемых платформ", но без их оверхеда.