>Абсурдно это для того, кто не знает что такое обратная совместимость. На настоящий момент в требованиях к публичному браузерному коду часто фигурирует IE8 (2009), встречается IE7 (2006), мастхэв IE9 (2011)
В куче проектов проще реально забить. Я давно сайты даже в IE не тестирую т.к. на моих площадках его доля составляет около 6%. Гораздо полезнее время потратить, чтобы доступность контента для людей с плохим зрением обеспечить, чем тратить кучу времени на поддержку малопопулярных браузеров.
«WebAssembly, that defines a portable, size- and load-time-efficient format and execution model specifically designed to serve as a compilation target for the Web».
Если я правильно понимаю, то скоро можно будет писать под Веб на любом языке поддерживающем эту технологию.
>Сила Rust не в отсутствии GC как таковом, а в отсутствии GC и безопасности работы с памятью при этом.
К сожалению обратная сторона этой силы чрезвычайная сложность изучения языка. В итоге вероятность написания говнокода сильно возрастает из-за неправильно понимания концепций работы со всей этой память.
Для кучи задач GC это добро т.к. позволяет больше думать про архитектуру приложения, чем про указатели и память.
Мне он тоже кажется куда более лаконичным чем Rust. Я удивлен где люди в Rust находят какую-то красоту, хотя решения на нем получаются значительно длиннее чем на D, при том что возможности языков примерно одинаковые. Иллюстрация этому — программа подсчета слов.
Чтобы предотвратить развитие темы про не отключаемый GC в D уточню, что он в нем уже отключаемый.
Было бы интересно сравнение с D увидеть.
Вот фрагмент из книги «The D Programming Language» выполняющий подсчет слов. Как по мне гораздо нагляднее и проще чем на Rust и Nim. Обращаю внимание, что код не полностью идентичен решениям из статьи. Просто как пример взял.
import std.stdio, std.string;
void main() {
uint[string] dictionary;
foreach (line; stdin.byLine()) {
// Break sentence into words
// Add each word in the sentence to the vocabulary
foreach (word; splitter(strip(line))) {
if (word in dictionary) continue; // Nothing to do
auto newlD = dictionary.length;
dictionary[word] = newlD;
writeln(newlD, '\t', word);
}
}
}
www.sociomantic.com самая крупная использующая D повсеместно.
Переписывать понятно дело никто не будет, однако новые проекты проще на D писать или на C# (кому нужен .NET).
Сейчас вот с веб-сервером vibed разбираюсь. Пока очень радует.
Мне кажется было бы разумно взять ядро от helenos.org (Оно на Си) и продолжить поверх него писать Колибри. Просто ассемблер это конечно прикольно, но выйти на реальный рынок можно только с чем-то более высокоуровневым. Просто мне кажется сейчас порт на ARM был бы крайне востребован.
Ну вот и плохо, что она для мейнстрима не создавалась. Зачем собственно было плодить сущности? Язык гвоздями прибитый к одной очень узкой даже в рамках Linux платформе.
На Rust могут перейти только системщики. Да и то хардкорные. Может чистый Си он и заменит, но не более. Во всяком случае массовым он не будет никогда т.к. в ВУЗах его учить не станут, а переходить на него с какого нить Python'a согласится не каждый ввиду крайне своеобразности языка. Я не сморю может он чем то и крут, но я как программист средней руки вообще не понял где мне все его фишки применять.
>как в таковом — многие фички, которые так привлекали, перекочевали в новые C++
Тут проблема в том, что D тоже не стоит на месте и новые фишки в него добавлять быстрее и проще, чем пытаться расширить С++. SDC хороший тому пример. Чистый идиоматический код на D оказался значительно компактнее и проще кода на С++ (30K против 300K строк кода).
Фактически если у LDC появится полная поддержка C/C++ библиотек из коробки, то можно будет говорить о том, что практической потребности в самом С++ не будет, кроме случаев когда люди принципиально не хотят переучиваться.
Автор очень плохие аргументы о пользе Биткоина подобрал. Вот очень объективный документ который крест на аргументах статьи ставит bitomatics.com/bitfaq
Там даже многие текстовые поля до сих пор не масштабируются. В итоге приходится текст обращения писать в одну строку. Спасибо, что хоть не IE-6 Only сделали.
В куче проектов проще реально забить. Я давно сайты даже в IE не тестирую т.к. на моих площадках его доля составляет около 6%. Гораздо полезнее время потратить, чтобы доступность контента для людей с плохим зрением обеспечить, чем тратить кучу времени на поддержку малопопулярных браузеров.
«WebAssembly, that defines a portable, size- and load-time-efficient format and execution model specifically designed to serve as a compilation target for the Web».
Если я правильно понимаю, то скоро можно будет писать под Веб на любом языке поддерживающем эту технологию.
К сожалению обратная сторона этой силы чрезвычайная сложность изучения языка. В итоге вероятность написания говнокода сильно возрастает из-за неправильно понимания концепций работы со всей этой память.
Для кучи задач GC это добро т.к. позволяет больше думать про архитектуру приложения, чем про указатели и память.
Чтобы предотвратить развитие темы про не отключаемый GC в D уточню, что он в нем уже отключаемый.
Вот фрагмент из книги «The D Programming Language» выполняющий подсчет слов. Как по мне гораздо нагляднее и проще чем на Rust и Nim. Обращаю внимание, что код не полностью идентичен решениям из статьи. Просто как пример взял.
Переписывать понятно дело никто не будет, однако новые проекты проще на D писать или на C# (кому нужен .NET).
Сейчас вот с веб-сервером vibed разбираюсь. Пока очень радует.
Кстати нашел интересное сравнение Nim и Rust. Получается, что код на Rust в среднем получается на 50% длиннее кода Nim при этом обладает субъективно меньшей читабельностью arthurtw.github.io/2015/01/12/quick-comparison-nim-vs-rust.html
Мне интересно, минусующие реально верят в то, что Rust будут изучать в ВУЗах и на него начнут переходить к примеру с C#?
На Rust могут перейти только системщики. Да и то хардкорные. Может чистый Си он и заменит, но не более. Во всяком случае массовым он не будет никогда т.к. в ВУЗах его учить не станут, а переходить на него с какого нить Python'a согласится не каждый ввиду крайне своеобразности языка. Я не сморю может он чем то и крут, но я как программист средней руки вообще не понял где мне все его фишки применять.
Тут проблема в том, что D тоже не стоит на месте и новые фишки в него добавлять быстрее и проще, чем пытаться расширить С++. SDC хороший тому пример. Чистый идиоматический код на D оказался значительно компактнее и проще кода на С++ (30K против 300K строк кода).
Фактически если у LDC появится полная поддержка C/C++ библиотек из коробки, то можно будет говорить о том, что практической потребности в самом С++ не будет, кроме случаев когда люди принципиально не хотят переучиваться.
Интерфейс тоже очень запутанный.