
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (56) « Первая ... 28 29 [30] 31 32 ... 55 56 ( Перейти к последнему сообщению ) |
Сообщ.
#436
,
|
|
|
Цитата korvin @ Это ты так поставил вопрос сам, а не я. Я уже приводил ссылку на реальный проект с применением vibe.d, но ты же видишь только то, что тебе хочется видеть. У меня есть реальная история успеха перевода проекта с Sinatra (ruby) на vibe.d, с многократным увеличением производительности при примерно таких же расходах на разработку.И спустя 14 лет существования и развития, услышать "на нём можно быстрый JSON-парсер написать" --- это как-то уныло и не отвечает на вопрос. Форум dlang.org - работает на D. Сайт vibe.d работает на D. Чем не реальные проекты? Парсер JSON на D - всего лишь один из примеров. Ты же извратил сказанное так, как тебе самому захотелось, а именно: "D годится только на написание быстрых парсеров JSON, а значит бесполезен". |
Сообщ.
#437
,
|
|
|
applegame, проекты могут быть разного уровня. Было бы что-то на уровне докера, можно было бы сравнивать.
И не надо путать. Популярность является не аргументом, а скорее критерием. У D было достаточно времени, чтобы показать себя. |
Сообщ.
#438
,
|
|
|
Цитата D_KEY @ Да, но это не значит отсутствие и несущественность недостатков. А начали мы именно с этого.Ну серьезно, если язык выбирают, значит даже с его недостатками он справляется с решением задач. Что значит игнорировать? Я ж не отрицаю фактор популярность и что это, при выборе языка, довольно много значит. Просто предлагаю не подменять популярностью всё остальное. Если у языка есть объективные достоинства или недостатки, то их можно и нужно учитывать, а не сводить всё к "ну раз он популярнее, то лучше (во всём)". Тем более, что ты сам говоришь про "определённое время и место". Да, у текущего мейнстрима было, в своё время, были (а может и остались, не важно) преимущества. Вот только сейчас к ним добавилось большое количество библиотек, специалистов, книг, курсов и т.д. Плюс в раскрутку многих языков были вложены немалые ресурсы. И это всё очень сильно перевешивает чашу в их пользу. Я просто сомневаюсь, что сейчас возможны быстрые революции, а не постепенное наращивание популярности. Вон даже свифт - более продвинутый, продвигается владельцами платформы, активно развивается и всё такое. И то на обжектив-С продолжают и ещё долго будут продолжать писать. И это при том, что язык изначально делался для лёгкой интеграции с имеющейся инфраструктурой. Если что, я не считаю, что всем нужно бросать "старьё" и бегом браться за новомодные языки. Тем более, что не могу сказать, что хоть один из них меня прямо так "идеально устраивает". Кстати, в D реализуют понемногу возможность использовать "любые" плюсовые библиотеки. Это здорово может на популярность языка повлиять. Цитата korvin @ Речь о другом шла - не о наличии нового, а о ярко выраженной "практической пользе" и о том, что это помогает для "взлёта" языка. Вот у Go она есть похоже, хотя "принципиально нового" и нет. Ну если мы гороутины таким считать не будем. Как языки, не предоставляющие ничего нового, помогают мозги размять? Я-то думал для этого обычно берут языки, сильно отличающиеся от тех, что ты уже знаешь. И наоборот - в языке могут быть новаторские вещи, но сами по себе, не приносить (очевидной?) пользы. Скажем, лайфтамы в расте - вроде и полезно и ново (в курсе про Cyclone), но я не уверен, что этого будет достаточно. К счастью, у языке есть и другие приятные вещи. Или макросы в немерле - удобно и мощно, но похоже люди не ощущают явной необходимости в них. Да, мысль понятна и я, в общем-то более-менее согласен. Но тут есть нюансы. Скажем по расту есть специальный ресурс с новостями (кстати, у D такое есть?). То есть люди используют язык, пишут всякое разное и делятся опытом. Там и про низкоуровневый опыт пишут и про серво и игровые движки делать пробуют и т.д. То есть информации хватает, просто надо интересоваться, но ведь не будешь всё на форум тащить? Плюс хватает людей, которые язык (любой) более-менее изучили, но применять на практике не могут или "не хотят". Обсуждать на форуме проще чем тянуть проект. Впрочем, applegame писал же, что D применяет и доволен. Конечно, тут возникнет вопрос "а есть ли реальная польза", но это не всегда легко измерить. Кстати, как по мне, то даже новости типа обсуждаемой (про "самый быстрый парсер") полезны - напоминают об языке и всё такое. Добавлено Цитата D_KEY @ Просто из любопытства: уровень как меряется? Количеством кода, "качеством" или популярностью? проекты могут быть разного уровня. Было бы что-то на уровне докера, можно было бы сравнивать. |
Сообщ.
#439
,
|
|
|
Цитата D_KEY @ Почему для Docker'а был выбран Go - интересный вопрос. Я нашел соответствующую презентацию - http://www.slideshare.net/jpetazzo/docker-...te-docker-in-go и похоже, что выбор был сделан чуть ли не из желания попробовать новый язык. На слайде 26 упоминается D applegame, проекты могут быть разного уровня. Было бы что-то на уровне докера, можно было бы сравнивать. ![]() Цитата D_KEY @ Критерием чего? Успешного маркетинга? - полностью согласен И не надо путать. Популярность является не аргументом, а скорее критерием. У D было достаточно времени, чтобы показать себя. ![]() Добавлено Цитата DarkEld3r @ Да не я один. Есть несколько контор работающих с D. Даже пара вакансий есть где-то там далеко Впрочем, applegame писал же, что D применяет и доволен. Конечно, тут возникнет вопрос "а есть ли реальная польза", но это не всегда легко измерить. ![]() Цитата DarkEld3r @ Да, ведет один из активных участников коммьюнити. Даже называется аналогично Но тут есть нюансы. Скажем по расту есть специальный ресурс с новостями (кстати, у D такое есть?) ![]() Коммьюнити D растет и становится более активными, релизы компилятора стали выходить чаще. Обсуждения стали активнее, разрабатывается еще один компилятор со своим фронтендом - SDC (у LDC, GDC и DMD один и тот же фронтенд, изначально написанный на C++, недавно портированный на D) |
Сообщ.
#440
,
|
|
|
Цитата DarkEld3r @ Цитата D_KEY @ Да, но это не значит отсутствие и несущественность недостатков.Ну серьезно, если язык выбирают, значит даже с его недостатками он справляется с решением задач. На мой взгляд, существенный недостаток - это такой, который приводит к невозможности решить задачу или крайне затрудняет ее решение. А ты как считаешь? Добавлено Цитата DarkEld3r @ Если у языка есть объективные достоинства или недостатки Так я предлагаю их таки назвать ![]() Цитата Тем более, что ты сам говоришь про "определённое время и место". Да, у текущего мейнстрима было, в своё время, были (а может и остались, не важно) преимущества. Вот только сейчас к ним добавилось большое количество библиотек, специалистов, книг, курсов и т.д. Плюс в раскрутку многих языков были вложены немалые ресурсы. И какой из этого можно сделать вывод? Цитата Я просто сомневаюсь, что сейчас возможны быстрые революции, а не постепенное наращивание популярности. Пусть будет постепенное. Я что против? Но за 14 лет можно было себя показать... Цитата Вон даже свифт - более продвинутый, продвигается владельцами платформы, активно развивается и всё такое. И то на обжектив-С продолжают и ещё долго будут продолжать писать. Так это как раз пример того, что популярность далеко не во всем связан с продвижением. Мне, например, свифт не показался интересным языком. Возможно, разработчики просто не видят смысла в переходе. Цитата Кстати, в D реализуют понемногу возможность использовать "любые" плюсовые библиотеки. Это здорово может на популярность языка повлиять. Зависит от качества решения. Но так да. Вообще, им следовало подумать об этом на раннем этапе развития языка. Проблема с D еще в том, что многие уже "перегорели". Цитата Цитата D_KEY @ Просто из любопытства: уровень как меряется? Количеством кода, "качеством" или популярностью?проекты могут быть разного уровня. Было бы что-то на уровне докера, можно было бы сравнивать. Объемом решаемых задач, контрибьютерами, комьюнити, компаниями и проектами, которые используют данный проект и т.п. Добавлено Цитата applegame @ Цитата D_KEY @ Критерием чего? Успешного маркетинга? - полностью согласен И не надо путать. Популярность является не аргументом, а скорее критерием. У D было достаточно времени, чтобы показать себя. ![]() В данном случае, видимо, неуспешного ![]() Но вообще к D это неприменимо. Маркетинг маркетингом, но в определенный момент разработчик выделяет время и пробует новый язык/технологию. И тут уже маркетинг уходит на задний план, а конкретные недостатки и достоинства на первый. Я уже приводил пример с Go. Вот конкретные разработчики, которые таки стали использовать Go, D бы использовать не стали. Языку нужна ниша. Нужны те реальные задачи, которые он позволит решать "лучше"(в каком-то из востребованных смыслов). |
Сообщ.
#441
,
|
|
|
Цитата D_KEY @ Ну я не собирался защищать именно D. Пусть будет постепенное. Я что против? Но за 14 лет можно было себя показать... ![]() Просто тоже "задела" эта апелляция к популярности. Ладно, этот спор всё равно зашёл в тупик. Относительно достоинств и недостатков. Думаю, что ты можешь назвать немало раздражающих "мелочей" в С++. Доказывать, что это "существенные недостатки" не собираюсь, тем более, что я сам пишу как раз этом языке, как минимум, "без отвращения". Да и ничего нового мы друг другу не скажем. D мне не нравится, да и знаю его недостаточно, чтобы говорить о (не очевидных) преимуществах или проблемах. Могу рассказать про раст. ![]() Цитата D_KEY @ Дык, делается это через Clang/llvm, на раннем этапе его не было. Зависит от качества решения. Но так да. Вообще, им следовало подумать об этом на раннем этапе развития языка. Цитата D_KEY @ Мне тоже. Но ты думаешь, что без продвижения ситуация не была бы намного хуже?Так это как раз пример того, что популярность далеко не во всем связан с продвижением. Мне, например, свифт не показался интересным языком Я уверен, что перебираться придётся - свифт будут развивать, а обжектив-С забросят. Но это как раз пример того как язык "искусственно" пропихивают. |
Сообщ.
#442
,
|
|
|
Немного вброшу: Александреску спросили какой из языков (D/Go/Rust) имеет больше шансов заменить С. Он заодно и про С++ ответил.
Ну и обсуждение на реддите, если кому интересно. |
Сообщ.
#443
,
|
|
|
DarkEld3r, почитываешь forum.dlang.org?
![]() И таки там не спрашивали Александреску. Там спрашивали вообще, а Алекандреску один из ответивших. Quora - это нечто вроде ответов.майл.сру. Интересно, чем руководствовались люди называя свой язык, например, "Коррозия Металла"? ![]() |
![]() |
Сообщ.
#444
,
|
|
Цитата D_KEY @ Мне, например, свифт не показался интересным языком. Это только если сравнивать его с ЯП общего назначения (хотя Свифт формально тоже является таковым, но мы-то понимаем, что за пределами яблочных осей он никому не нужен, как и Обжектив-Си), но вот в качестве замены Обжектив-Си он более чем хорош. |
Сообщ.
#445
,
|
|
|
Цитата applegame @ Не совсем, конкретно это нашёл на реддите (раз, два). почитываешь forum.dlang.org? ![]() ![]() Хотя и на forum.dlang.org иногда попадаю, например, недавно было интересно почитать мнение про "safe reference counting cannot be implemented as a library". Цитата applegame @ Вот тут есть сразу несколько объяснений, например: Интересно, чем руководствовались люди называя свой язык, например, "Коррозия Металла"? ![]() Цитата Rust is named after a fungus that is robust, distributed, and parallel. It is also a substring of "robust". Впрочем, учитывая разнообразие ответов, мне кажется, что объяснения появились позже самого названия. |
Сообщ.
#446
,
|
|
|
Цитата DarkEld3r @ Цитата applegame @ Вот тут есть сразу несколько объяснений, например: Интересно, чем руководствовались люди называя свой язык, например, "Коррозия Металла"? ![]() Цитата Rust is named after a fungus that is robust, distributed, and parallel. It is also a substring of "robust". Впрочем, учитывая разнообразие ответов, мне кажется, что объяснения появились позже самого названия. Ага, то есть его на самом деле назвали не "Коррозия Металла", а "Ржавчинный гриб"? ![]() |
Сообщ.
#447
,
|
|
|
Цитата DarkEld3r @ Вот еще впечатление от Rust после С++/D - Rust impressions from a C++/D programmer Не совсем, конкретно это нашёл на реддите (раз, два). ![]() |
Сообщ.
#448
,
|
|
|
Лучше бы кто-нибудь рассказал, например, подробности ухода от gc в стандартной библиотеке D, да и несколько муторно отказываться от gc для классов и пр.
|
Сообщ.
#449
,
|
|
|
Цитата D_KEY @ Тебе это реально интересно? Эта тема постоянно перетирается на форуме dlang.orgЛучше бы кто-нибудь рассказал, например, подробности ухода от gc в стандартной библиотеке D, да и несколько муторно отказываться от gc для классов и пр. В стандартной либе стараются все максимально range'фицировать и lazy'фисировать. Отказываться от GC для классов сейчас достаточно просто: юзаем аллокаторы, которые в последней версии засунули в стандартную либу. Вместо new Foo(a, b, c) пишем allocator.make!Foo(a, b, c) / allocator.dispose(obj). Аллокаторов Александреска наделал несколько штук на разные случаи жизни. Причем сделаны они как конструктор: более простые можно собирать в более сложные - http://dlang.org/phobos/std_experimental_a...ing_blocks.html Из минусов: пока нет нормальных библиотечных аналогов shared_ptr и unique_ptr. Unique правда уже вроде как допилили. А так тот же RAII и scope(exit/success/failure) и вперед с песней. Но по сути в большинстве задач GC не мешает, а скорее наоборот помогает, ибо ничего не течет и не нужно париться с циклическими ссылками. Когда я использовал boost::asio, меня просто замучали эти weak_ptr/shared_ptr. Страх и ужас GC, по моему скромному, сильно преувеличен. Ну и нормальные иммутабельные классы, которые можно без синхронизации гонять между потоками, без GC непонятно как сделать. |
Сообщ.
#450
,
|
|
|
Цитата applegame @ Тебе это реально интересно? Мне интересен потенциал опционального сборщика. Тут же заход немного с другой стороны. Цитата В стандартной либе стараются все максимально range'фицировать Это возможно для алгоритмов(которые и в C++ не связаны с памятью). А для контейнеров что? Аллокаторы? Т.е. умеют ли контейнеры работать с объектами в GC и не в GC? Цитата и lazy'фисировать. А это как с GC связано? Цитата Из минусов: пока нет нормальных библиотечных аналогов shared_ptr и unique_ptr. Unique правда уже вроде как допилили. А так тот же RAII и scope(exit/success/failure) и вперед с песней. Вот это грустно. Вроде же все средства для этого есть, просто не реализовали еще? Цитата Ну и нормальные иммутабельные классы, которые можно без синхронизации гонять между потоками, без GC непонятно как сделать. Не понял мысль. |