Здравствуйте, VladD2, Вы писали:
VD>Но это твой выдуманный мир. А в реальном мире D уже есть около 10 лет. И где-то лет 5 он вполне стабилен для реального использования.
... VD>Так что не фига думать. Бери и используй. И вот когда при использовании появятся какие-то непреодолимые трудности, а авторы языка откажутся их исправлять, вот тогда язык и будет мертвым.
Ну вот лично мне не хватает в D различных библиотек. Мы используем не только C библиотеки (с которыми у D всё хорошо), но и C++. А их он ликовать не может. И с биндингами ужас, в отличие от например Питона или вообще Хаскеля. Т.е. язык замечательный (на мой вкус), но вокруг него не создана реальная инфраструктура, которая есть у других языков.
Здравствуйте, Cyberax, Вы писали:
VD>>А тебе не кажется, что подобные вещи должны в библиотеках лежать, а не в язык хардкодиться? C>Чтобы полный профит от Эрланговского стиля получить — не должны. C>В Rust и Erlang нет глобальной кучи, к примеру. Так что GC можно очень шустро собирать мусор в одном лёгком потоке, не мешая остальным.
Ну вот например у нас есть проект на C++, в котором потоки используются в Эрланг стиле. И ничего сложного.
Преимущества Go и Rust в этом смысле больше напоминают синтаксический сахар. Что в прочем тоже бывает очень приятно. )
Здравствуйте, kaa.python, Вы писали:
KP>Он 10 лет пишется и никак не напишется.
Открою тебе секрет. Все языки пишутся все время пока они живут. Даже Лисп которому боле 50 лет пишется.
KP> Подтверждением этому служат чуть больше 0 реальных (коммерческих) приложений/сайтов/чего угодно на нем написанных.
Это никак может быть подтверждением. К тому же коммерческие применения (как и не коммерческие) у Ди точно есть. FR, если не ошибаюсь, еще несколько лет назад давал страничку со ссылками на проекты созданные на Ди.
Но ты умудрился не понять моих слов.
Дело в тебе и таких как ты. Пока ты будешь ждать какие-то коммерческих применпний, то их так и не появится. Потому как ты присоединявшийся к планктону вечно ждущему погоды от моря.
KP>Эти 10 лет разработки как бы намекают на то, что и дальше он останется вечно пишущимся языком.
И слава богу. Вот когда его перестанут "писать" (а реально — развивать) — это и будет днем его смерти.
VD>>Из этого определения следует, что Rust мертвый язык, а D живой.
KP>На данный момент они оба в одинаковом положении. Но то, что не взлетело за 10 лет, не взлетит и дальше. То что новое, и довольно логичное, очень может даже взлететь.
Да ладно. На Ди пишутся проекты. И не так уж мало.
KP>Где используемый? Кем используемый? Линки приведи, кроме "ну я его использовал в исследовательской разработке и ...".
Ссыкли приводил FR, если не ошибаюсь. Я Ди не занимаюсь, да и вообще, ссылки не собираю.
Кроме того я никогда не мог понять тех кто судит о языке по количеству реализованных на нем продуктов. Типа миллионы мух не могут ошибиться. Ну, так мухи давно используют то, что залили им в головы мега-корпорации. Новые языки явно не для мух. Так что ты уж определись, или ты с мухами, или ты ищешь новый язык.
VD>>Вероятность того, что на тебя сейчас упадет астероид тоже есть.
KP>Есть. И? Ты чего так разошелся-то? Я же даже не Немерле мертворожденным назвал, а какой-то D
VD>>Ты один из упертый которые сидят и ждут какого-то волшебного чуда которое должно случиться, чтобы ты и такие как ты признали, что язык есть и им можно пользоваться.
KP>Я один из упертых, который 12 лет сидит на C++ и его почти все устраивает. Но, иногда, хочется какого-то разнообразия (для системной разработки).
VD>>Но это твой выдуманный мир. А в реальном мире D уже есть около 10 лет. И где-то лет 5 он вполне стабилен для реального использования.
KP>про реальный мир см. выше.
VD>>Твое же преклонение перед Rust закончится точно так же. Тысячи таких же как ты будут сидеть и ждать чуда которое превратит Rust в "живой" язык, в их глазах.
KP>То что ты называешь чудом, я называю "использованием в коммерческой разработке".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, alex_public, Вы писали:
_>Ну вот лично мне не хватает в D различных библиотек. Мы используем не только C библиотеки (с которыми у D всё хорошо), но и C++. А их он ликовать не может. И с биндингами ужас, в отличие от например Питона или вообще Хаскеля. Т.е. язык замечательный (на мой вкус), но вокруг него не создана реальная инфраструктура, которая есть у других языков.
А к Хаскелю или Питону можно подключать С++-библиотеки?
И вообще, есть язык к которому можно подключать С++-библиотеки? В С++ нет никаких бинарных стандартов. О чем вообще может идти речь?
Любой С++-ник норовит переписать все библиотеки, так как чужие использовать боится. И в друг у Ди начинает не хватать библиотек.
Здравствуйте, VladD2, Вы писали:
VD>А к Хаскелю или Питону можно подключать С++-библиотеки?
У Питона есть биндинги ко всем используемым нами C/C++ библиотекам. На счёт Хаскеля не уверен (не проверял), но в любом случае у него на порядок больше их, чем у D.
VD>И вообще, есть язык к которому можно подключать С++-библиотеки? В С++ нет никаких бинарных стандартов. О чем вообще может идти речь?
Ну в этом и проблема простого ухода от C++. Кстати, у Digital Mars же есть свой C++ компилятор — вполне могли бы что-нибудь такое сделать совместимое. Это по идее всех удовлетворило бы.
VD>Заверни нужные библиотеки в C-библиотеку и используй. Плюс еще у Ди есть кое-какая поддержка С++.
Хы, я же не про какие-то микробиблиотечки говорю. А про всяких монстров. Там делать биндинги самим — это может быть больше месяца работы. У нас нет свободного времени на такие дела. А вот для того же Питона оно уже всё есть готовое...
Здравствуйте, alex_public, Вы писали:
_>У Питона есть биндинги ко всем используемым нами C/C++ библиотекам. На счёт Хаскеля не уверен (не проверял), но в любом случае у него на порядок больше их, чем у D.
Не надо мешать С и С++.
Потом, как я понимаю, биндинги — это обертки. Кто мешает сделать обертки для С++-библиотек?
В чистом виде никакие средства импорта С++-библиотек невозможны, так как большая часть С++-библиотек — это шаблоны. А шаблоны невозможно использовать за пределами С++.
VD>>И вообще, есть язык к которому можно подключать С++-библиотеки? В С++ нет никаких бинарных стандартов. О чем вообще может идти речь?
_>Ну в этом и проблема простого ухода от C++.
Нет никаких проблем в отказе от С++. Я бросил этот недоязык 10 лет назад и ни капельки не жалею.
_> Кстати, у Digital Mars же есть свой C++ компилятор — вполне могли бы что-нибудь такое сделать совместимое. Это по идее всех удовлетворило бы.
Они и сделали. Но невозможное сделать нельзя. Тащить шаблоны плюсов в другой язык — гробить этот язык.
Короче, это очередной поиск отмазок. Если у вас руки не из задницы, то за месяц вы спокойно создадите себе окружение.
VD>>Заверни нужные библиотеки в C-библиотеку и используй. Плюс еще у Ди есть кое-какая поддержка С++.
_>Хы, я же не про какие-то микробиблиотечки говорю. А про всяких монстров. Там делать биндинги самим — это может быть больше месяца работы. У нас нет свободного времени на такие дела. А вот для того же Питона оно уже всё есть готовое...
Какие на фиг монстры на С++? О чем вообще речь?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
C>>В Rust и Erlang нет глобальной кучи, к примеру. Так что GC можно очень шустро собирать мусор в одном лёгком потоке, не мешая остальным. VD>GC вообще никак не связан с языком.
Ну вот как ты сделаешь так, чтобы в C# мусоросборщик был гарантировано локализован одним потоком?
А никак, так как могут быть ссылки между потоками. Так что ты вынужден будешь:
1) Таки тормозить все потоки на время сборки, хотя бы на короткое время.
2) Использовать тормозной на больших кучах трёхцветный mark&sweep.
Я уж не говорю, что сложность GC будет зашкаливать.
VD>Вот для той же риалтайм-явы сделали и потоки со своим GC, и даже потоки вообще без GC.
Realtime Java — это больше мифологический персонаж. Его некоторые видели, некоторые герои из легенд с ним сражались, но в обычной жизни не встретить.
Здравствуйте, VladD2, Вы писали:
VD>Открою тебе секрет. Все языки пишутся все время пока они живут. Даже Лисп которому боле 50 лет пишется.
Да, и эльфийский язык тоже жив. Только сможешь ли ты погороить на нем с кем-то, кроме пары фанатиков? А если не сможншь, то жив ли он?
VD>Это никак может быть подтверждением. К тому же коммерческие применения (как и не коммерческие) у Ди точно есть. FR, если не ошибаюсь, еще несколько лет назад давал страничку со ссылками на проекты созданные на Ди.
Угу, на уровне использования в повседневных разговорах языка Высоких Эльфов
VD>Дело в тебе и таких как ты. Пока ты будешь ждать какие-то коммерческих применпний, то их так и не появится. Потому как ты присоединявшийся к планктону вечно ждущему погоды от моря.
А ты не думаешь о том, что пракстически нулевое коммерческое использование как раз говорит о том, что с языком что-то не так?
VD>И слава богу. Вот когда его перестанут "писать" (а реально — развивать) — это и будет днем его смерти.
Для большинства людей, прелесть языка в том, что его можно использовать в своей работе. Если его использовать нельзя, и возможность использования даже не предвидится, то язык мертв. Про фанатиков разговор отдельный.
VD>Да ладно. На Ди пишутся проекты. И не так уж мало.
Только быстрый поиск поиск гуглом ничего не дает. Так же как и поск по Монстру и аналогичным сайтам, которые являются отличным индикатором того, пациент скорее жив или скорее мертв.
VD>Кроме того я никогда не мог понять тех кто судит о языке по количеству реализованных на нем продуктов. Типа миллионы мух не могут ошибиться. Ну, так мухи давно используют то, что залили им в головы мега-корпорации. Новые языки явно не для мух. Так что ты уж определись, или ты с мухами, или ты ищешь новый язык.
Я даже занию почему ты никогда не мог их понять Но, изучение языка должно давать какой-то выхлоп (вот ты будешь учить эльфийский? он же такой классный! а почему не будешь?). Во всех остальных случаях, изучения языка превращается в пустую трату времени и сил, которых и так крайне мало и всегда можно потратить на что-то более полезное.
Поэтому я и сказал что D мертв — он не будет использоваться в коммерческой разработке уже никогда (если только чудо не случиться). А Rust, его еще и сложившимся языком назвать нельзя и, само собой, ничего хорошего, кроме него самомго, на нем на данный момент написанно не может быть в принципе.
Здравствуйте, VladD2, Вы писали:
C>>Realtime Java — это больше мифологический персонаж. VD>О... это вера. Тут наука бессильна. Могу только посоветовать попробовать на практике. Может поможет. Хотя вряд ли.
Ну вот всё. Закрыл IDEA с проектом на полмиллиона строк кода на Java и ушёл пить кока-колу с горя.
Я объяснил почему realtime с подходом Rust'а много проще — куча естественным образом сегментирована на гарантировано независимые блоки. У глобальных GC такой помощи нет.
VD>Извини, но вести полемику с верующими мне не интересно.
Зеркало нужно?
Здравствуйте, Cyberax, Вы писали:
C>Я объяснил почему realtime с подходом Rust'а много проще — куча естественным образом сегментирована на гарантировано независимые блоки. У глобальных GC такой помощи нет.
Ты бы почитал бы немного о том, что что взялся обсуждать. Для RTSJ и сборщики мусора есть гарантирующие задержки не более 1 миллисекунды, и специальные типы потоков которые позволяют вообще без GC обходиться.
Какой смысл заменять С++ в 10 раз более сложной системой? Вот RTSJ другое дело. Тут есть разумные средства контроля отклика, но при этом нет нужды изучать 5 типов указателей и рулить памятью вручную в 100% случаев.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
C>>Я объяснил почему realtime с подходом Rust'а много проще — куча естественным образом сегментирована на гарантировано независимые блоки. У глобальных GC такой помощи нет. VD>Ты бы почитал бы немного о том, что что взялся обсуждать. Для RTSJ и сборщики мусора есть гарантирующие задержки не более 1 миллисекунды, и специальные типы потоков которые позволяют вообще без GC обходиться.
Yawn. Я как бы знаю как GC в Java рабтают вплоть до уровня ассемблерного кода, с помощью которого делаются барьеры записи.
Пока ситуация такая — realtime GC имеют неприемлимые для обычных приложений характеристиски. До того неприемлимые, что товарищи из http://www.azulsystems.com/ делают специализированное железо для аппаратного ускорения GC (у них там натурально полностью свой процессор, со специальной архитектурой).
VD>Какой смысл заменять С++ в 10 раз более сложной системой? Вот RTSJ другое дело. Тут есть разумные средства контроля отклика, но при этом нет нужды изучать 5 типов указателей и рулить памятью вручную в 100% случаев.
У тебя какая-то C++-мания.
Ты заметил, что в этом треде обсуждается Rust, в котором каждый поток может иметь свою кучу. И система типов гарантирует, что объекты не будут иметь ссылок на объекты из других потоков.Это даёт офигительный плюс для GC, в частности.
Здравствуйте, kaa.python, Вы писали:
KP>А ты не думаешь о том, что пракстически нулевое коммерческое использование как раз говорит о том, что с языком что-то не так?
Нет. Я способен сам попробовать и определить пригодность.
KP>Только быстрый поиск поиск гуглом ничего не дает. Так же как и поск по Монстру и аналогичным сайтам, которые являются отличным индикатором того, пациент скорее жив или скорее мертв.
А как ты себе это видишь? Вот как найти продукты написанные на VB? И означает ли то, что я не могу их найти, что VB мертв?
KP>Я даже занию почему ты никогда не мог их понять Но, изучение языка должно давать какой-то выхлоп
Ты язык для чего ищешь? Что ты от него хочешь? Вот поставь и проверь свой выхлоп. Чё рассуждать то не о чем?
Я бы еще понял бы, если ты не знал бы ФП и пытался понять подходит ли тебе некий ФЯ. Но тут то императивный язык. Тут ведь все очевидно. Да и выучить его можно буквально за неделю.
KP> (вот ты будешь учить эльфийский? он же такой классный! а почему не будешь?).
Нет его в природе. Так что трудно сказать классный он или нет.
KP>Во всех остальных случаях, изучения языка превращается в пустую трату времени и сил, которых и так крайне мало и всегда можно потратить на что-то более полезное.
Обсуждение языка, и тем более, заочная критика — вот это самое бесполезное проведение времени. Скачай попробуй... позадавай вопросы на форумах... Сделай выводы (свои выводы). Тогда, даже если откажешься от его выбора сможешь аргументировать свой отказ/выбор. А так это треп — бесполезная трата времени.
KP>Поэтому я и сказал что D мертв — он не будет использоваться в коммерческой разработке уже никогда (если только чудо не случиться). А Rust, его еще и сложившимся языком назвать нельзя и, само собой, ничего хорошего, кроме него самомго, на нем на данный момент написанно не может быть в принципе.
Твои слова не стоят ни копейки. Ди есть и им можно пользоваться. Он не завоевал признание С++-ников не потому, что он чем-то плох, а потому что есть огромная косность в мышлении, привычки, страх (как у тебя) и т.п.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Cyberax, Вы писали:
C>Yawn. Я как бы знаю как GC в Java рабтают вплоть до уровня ассемблерного кода, с помощью которого делаются барьеры записи.
Ай какой молодец! А ничего, что реализаций серверов, предоставляющих сервисы сильно больше одного? Или ты их все изучил?
C>Пока ситуация такая — realtime GC имеют неприемлимые для обычных приложений характеристиски.
Это очередная глупость. Приемлемость определяется задачами. Реалтайм — это не "супер-пупер быстро", а "с гарантированным откликом в определенный интервал времени".
C>До того неприемлимые, что товарищи из http://www.azulsystems.com/ делают специализированное железо для аппаратного ускорения GC (у них там натурально полностью свой процессор, со специальной архитектурой).
Таких проектов было выше крыши. Все как одни вымерли.
VD>>Какой смысл заменять С++ в 10 раз более сложной системой? Вот RTSJ другое дело. Тут есть разумные средства контроля отклика, но при этом нет нужды изучать 5 типов указателей и рулить памятью вручную в 100% случаев. C>У тебя какая-то C++-мания.
Мания? Скорее фобия. Язык реально бездарный. Точнее бездарный был автор.
Но менять шило на мыло утыканное шилами — это просто глупо. В плюсах мы имели указатели и ссылки, а теперь будем еще 5 видов указателей, плюс знать кода присесть и ку сказать.
C>Ты заметил, что в этом треде обсуждается Rust, в котором каждый поток может иметь свою кучу. И система типов гарантирует, что объекты не будут иметь ссылок на объекты из других потоков.Это даёт офигительный плюс для GC, в частности.
Я заметил, что кто-то хочет найти очередное легкое решение сложных проблем. Причем легкость этого решения заключается в перекладывании на пользователя все сложности этой проблемы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
C>>Yawn. Я как бы знаю как GC в Java рабтают вплоть до уровня ассемблерного кода, с помощью которого делаются барьеры записи. VD>Ай какой молодец! А ничего, что реализаций серверов, предоставляющих сервисы сильно больше одного? Или ты их все изучил?
А причём тут они? Там или одна общая VM на всех (и тогда они сосут), или куча делится на независимые сегменты.
C>>Пока ситуация такая — realtime GC имеют неприемлимые для обычных приложений характеристиски. VD>Это очередная глупость. Приемлемость определяется задачами. Реалтайм — это не "супер-пупер быстро", а "с гарантированным откликом в определенный интервал времени".
Ну да. Только гарантия "ну может соберёт 10 мусорных объектов в секунду, но зато всегда откликнется за 1 миллисекунду!" для реальных приложений не особо интересно.
У realtime GC сейчас проблемы такие:
1) Или они требуют многократного overhead'а по памяти по сравнению с обычными GC.
2) Или у них отстойная пропускная способность.
C>>До того неприемлимые, что товарищи из http://www.azulsystems.com/ делают специализированное железо для аппаратного ускорения GC (у них там натурально полностью свой процессор, со специальной архитектурой). VD>Таких проектов было выше крыши. Все как одни вымерли.
Азул живёт — у них машины покупают высокоскоростные трейдеры, которые на латентности собаку съели.
C>>Ты заметил, что в этом треде обсуждается Rust, в котором каждый поток может иметь свою кучу. И система типов гарантирует, что объекты не будут иметь ссылок на объекты из других потоков.Это даёт офигительный плюс для GC, в частности. VD>Я заметил, что кто-то хочет найти очередное легкое решение сложных проблем. Причем легкость этого решения заключается в перекладывании на пользователя все сложности этой проблемы.
Ну а что сделать, если проблема реально сложная?
Вот у тебя задача — сделать браузер, который поддерживает 300 вкладок, внутри которых рисуется сложная графика и работают достаточно сложные скрипты. И чтоб оно не тормозило.
Один глобальный GC работает в такой ситуации плохо. Надо как-то его сегментировать, но при этом так, чтобы кросс-сегментное общение было всё же возможно.
VD>Нет. Я способен сам попробовать и определить пригодность.
Пригодность для чего? Для твоего проекта — домашнего питомца? Или для коммерческого проекта, который будет писать большое количество народу? Это две совершенно разные категории проектов. И если в первом случае достаточно просто твоего личного мнения, то во втором случае, т.к. проект надо еще и поддерживать, нужно намного больше.
VD>А как ты себе это видишь? Вот как найти продукты написанные на VB? И означает ли то, что я не могу их найти, что VB мертв?
Причем тут продукты? Он активно использовался (а может и сейчас используется, я не знаю) в коммерческой разработке.
VD>Ты язык для чего ищешь? Что ты от него хочешь? Вот поставь и проверь свой выхлоп. Чё рассуждать то не о чем?
Да я как бы поставил Rust и смотрю что к чему. Так же я ставил и смотрел D. Кстати, понравились оба.
VD>Нет его в природе. Так что трудно сказать классный он или нет.
Это ты говоришь что нету, а кучка фанатиков будет с тобой не согласна.
VD>Твои слова не стоят ни копейки. Ди есть и им можно пользоваться. Он не завоевал признание С++-ников не потому, что он чем-то плох, а потому что есть огромная косность в мышлении, привычки, страх (как у тебя) и т.п.
Он не завоевал успеха не потому что плох, и не потому что мышление костное, а потому, что не надо находить в первой версии языка "критический недостаток", все бросать и начинать пилить уж точно правильнуе версию. Язык для коммерческой разработки отличается от языка для домашних проектов тем, что дает не только и не столько развитие и новые круты примочки, сколько стабильность и возможность собрать старый код новым компилятором (при этом не требуя переписать чуть меньше 50%).
Вообще, костность мышления — это просто отличная отмазка, особенно если язык вроде и не плохой, а не стартует (ну не хотят его использовать в продуктовой разработке хоть убей). Ведь это значит только одно — вокруг закостенелый офисный планктрон, который не оценил гениального творения авторов. Что-то мне это напоминает
Здравствуйте kaa.python, Вы писали:
KP>Последнее вермя меня просто неописуемо прет от Rust,
Imho экзотические, функциональные, и т.п. языки, за которыми не стоит баблос корпораций, которые как танк станут пилить и развивать язык, проводить PR для заинтересованных лиц (заказчиков проекта, прожект манагеров, начальников отдела разработки) с кофе и девочками поддержки, их судьба предопределена быть понтовой плашкой в резюме их апологетов.
Разработчик может быть трижды прав, проводить тренинги в своей команде, демонстрировать работающие проекты. На все будет один ответ "Руководство не готово идти на дополнительный риск поиска спецов с экзотическим скиллом".
Отчасти то, о чем ты пишешь, и было причиной того, что D не взлетел. В то же время, за Rust стоит Мозилла, и ей же язык нужен не просто прикола ради, а для собственного проекта. Из этого можно сделать вывод о том, что надежда на "взлетит" есть. Хотя, я с тобой согласен — она не велика.
Здравствуйте, ArtemGorikov, Вы писали:
AG>Imho экзотические, функциональные, и т.п. языки, за которыми не стоит баблос корпораций, которые как танк станут пилить и развивать язык, проводить PR для заинтересованных лиц (заказчиков проекта, прожект манагеров, начальников отдела разработки) с кофе и девочками поддержки, их судьба предопределена быть понтовой плашкой в резюме их апологетов.
AG>Разработчик может быть трижды прав, проводить тренинги в своей команде, демонстрировать работающие проекты. На все будет один ответ "Руководство не готово идти на дополнительный риск поиска спецов с экзотическим скиллом".
В целом, тенденция такая есть, несомненно. Но бывают здравые исключения. Здесь немного про Кложуру говорили, первую версию фактически один человек разработал, в течение года её подхватили некоторые стартапы, и сейчас проект вполне успешно используется в промышленности (джаву она конечно не потеснила, да и не может, ибо не для этого создавалась).
За Rust-ом, кроме мазилы, фактически стоит гугл, если он сможет для себя воспользоваться проектом, то он сможет, даже косвенно (без обширного целевого PR), повлиять на промышленность.
Здравствуйте, ArtemGorikov, Вы писали: KP>>Последнее вермя меня просто неописуемо прет от Rust, AG>Imho экзотические, функциональные, и т.п. языки, за которыми не стоит баблос корпораций, ...
Бывает что корпорации не начинают разрабатывать новый язык с нуля, а "подхватывают" какой либо, из любительских проектов, подходящий им.
Между тем,что я думаю,тем,что я хочу сказать,тем,что я,как мне кажется,говорю,и тем,что вы хотите услышать,тем,что как вам кажется,вы слышите,тем,что вы понимаете,стоит десять вариантов возникновения непонимания.Но всё-таки давайте попробуем...(Э.Уэллс)