История изменений
Исправление www_linux_org_ru, (текущая версия) :
Наркоман, ты понимаешь, что всем пофиг на то, что рантайм реализован на unsafe-языке?
мне не пофиг
то, что рантайм реализован на unsafe-языке, означает что раст все же слабый и/или неудобный язык, т.к. основная задача языка в том, чтобы корректный код воспринимался как корректный компилятором и легко писался человеком, а в рантайме ничего суперумного нет — скорее это пример того, что реально будет на языке писаться
при этом польза от использования safe-подмножества для прикладного кода (дергая unsafe библиотеку/runtime/whatever) конечно есть, правда достаточно ли она, чтобы уйти допустим с с++ на раст — это открытый вопрос
вообще после того, как растаманы отказались решать вопрос об указателях в графе и двухсвязном списке, мой мнение о них очень сильно поубавилось
при этом, конечно, сам процесс разработки этого языка несет кучу полезной информации
btw, когда речь шла об ооп-на-расте (там разговор к сожалению не закончился, т.к. я опять глубоко задумался о личном) несколько незаметно было мое предложение написать «trait OOPObject с таблицей виртуальных функций» — то, что в расте есть таковой уже прямо в языке мое предложение не отменяет (это чем-то сродни ранним упражнениям «написать лисп на лиспе»)
я к тому, что это может оказаться хорошим тестом для системы типов языка: «можно ли на языке сделать ооп (с vtable и желательно множественным наследованием), не уходя в unsafe»
второй, более простой тест, который все современные языки проходят: «можно ли на языке написать интерпретатор лиспа, обязательно используя стек языка как стек лиспа» — правда, если потребовать continuations в лиспе, то вопрос становится совсем не однозначным
Исходная версия www_linux_org_ru, :
Наркоман, ты понимаешь, что всем пофиг на то, что рантайм реализован на unsafe-языке?
мне не пофиг
то, что рантайм реализован на unsafe-языке, означает что раст все же слабый и/или неудобный язык, т.к. основная задача языка в том, чтобы корректный код воспринимался как корректный компилятором и легко писался человеком, а в рантайме ничего суперумного нет — скорее это пример того, что реально будет на языке писаться
при этом польза от использования safe-подмножества для прикладного кода (дергая unsafe библиотеку/runtime/whatever) конечно есть, правда достаточно ли она, чтобы уйти допустим с с++ на раст — это открытый вопрос
вообще после того, как растаманы отказались решать вопрос об указателях в графе и двухсвязном списке, мой мнение о них очень сильно поубавилось
при этом, конечно, сам процесс разработки этого языка несет кучу полезной информации
btw, когда речь шла об ооп-на-расте (там разговор к сожалению не закончился, т.к. я опять глубоко задумался о личном) несколько незаметно было мое предложение написать «trait OOPObject с таблицей виртуальных функций» — то, что в расте есть таковой уже прямо в языке мое предложение не отменяет
я к тому, что это может оказаться хорошим тестом для системы типов языка: «можно ли на языке сделать ооп (с vtable и желательно множественным наследованием), не уходя в unsafe»
второй, более простой тест, который все современные языки проходят: «можно ли на языке написать интерпретатор лиспа, обязательно используя стек языка как стек лиспа» — правда, если потребовать continuations в лиспе, то вопрос становится совсем не однозначным