История изменений
Исправление Obezyan, (текущая версия) :
это вообще как? есть ли разумное обьяснение(кроме атак корейских киберпартизан) таким вот результатам?
Есть, но не все его поймут. Дело в том что раст пытается уйти от проблем заложенных в самом фундаменте адресной арифметики, а не от небезопасности С как такового.
Для этого разработчики раста «творчески» адаптируют концепции успешно работающие в интерпретируемых языках, при этом оставаясь компилируемым языком.
Те они буквально ступили на terra incognita одной ногой, оттуда и повылазила куча всего. Это нормально.
Далее, на правах вещей обезьянки:
Дальше они уткнутся в то что эти концепции плохо работают со статической типизацией и стрикт алиасингом, в итоге мы увидим какое-то подобие правил автоматического приведения типов (основа этого уже заложена в расте).
После чего дошкрябуют до фундамента и поймут что надо фиксить адресную математику, причём не в столько в раст, сколько в слое ниже - в LLVM (проблемы с inttoptr(ptrtoint x) => x). И в конце нас ждёт грандиозная феерия с изменением Memory model, которая повлияет на все компилируемые языки.
Для Ъ: граница между интерпретируемым и и компилируемым языками будет продолжать размываться, как и между статический и динамической типизацией.
Исправление Obezyan, :
это вообще как? есть ли разумное обьяснение(кроме атак корейских киберпартизан) таким вот результатам?
Есть, но не все его поймут. Дело в том что раст пытается уйти от проблем заложенных в самом фундаменте адресной арифметики, а не от небезопасности С как такового.
Для этого разработчики раста «творчески» адаптируют концепции успешно работающие в интерпретируемых языках, при этом оставаясь компилируемым языком.
Те они буквально ступили на terra incognita одной ногой, оттуда и повылазила куча всего. Это нормально.
Далее, на правах вещей обезьянки:
Дальше они уткнутся в то что эти концепции плохо работают со статической типизацией и стрикт алиасингом, в итоге мы увидим какое-то подобие правил автоматического приведения типов (основа этого уже заложена в расте).
После чего дошкрябуют до фундамента и поймут что надо фиксить адресную математику, причём не в столько в раст, сколько в слое ниже - в LLVM (проблемы с inttoptr(ptrtoint x) => x). И в конце нас ждёт грандиозная феерия с изменением Memory model, которая повлияет на все компилируемые языки.
Для Ъ: граница между интерпретируемый и и компилируемым языками будет продолжать размываться, как и между статический и динамической типизацией.
Исправление Obezyan, :
это вообще как? есть ли разумное обьяснение(кроме атак корейских киберпартизан) таким вот результатам?
Есть, но не все его поймут. Дело в том что раст пытается уйти от проблем заложенных в самом фундаменте адресной арифметики, а не от небезопасности С как такового.
Для этого разработчики раста «творчески» адаптируют концепции успешно работающие в интерпретируемых языках, при этом оставаясь компилируемым языком.
Те они буквально ступили на terra incognita одной ногой, оттуда и повылазила куча всего. Это нормально.
Далее, на правах вещей обезьянки:
Дальше они уткнутся в то что эти концепции плохо работают со статической типизацией и стрикт алиасингом, в итоге мы увидим какое-то подобие правил автоматического приведения типов (основа этого уже заложена в расте).
После чего дошкрябуют до фундамента и поймут что надо фиксить адресную математику, причём не в столько в раст, сколько в слое ниже - в LLVM (проблемы с inttoptr(ptrtoint x) => x). И в конце нас ждёт грандиозная феерия с изменением Memory model, которая повлияет на все компилируемый язык.
Для Ъ: граница между интерпретируемый и и компилируемым языками будет продолжать размываться, как и между статический и динамической типизацией.
Исходная версия Obezyan, :
это вообще как? есть ли разумное обьяснение(кроме атак корейских киберпартизан) таким вот результатам?
Есть, но не все его поймут. Дело в том что раст пытается уйти от проблем заложенных в самом фундаменте адресной арифметики, а не от небезопасности С как такового. Для этого разработчики раста «творчески» адаптируют концепции успешно работающие в интерпретируемый языках, при этом оставаясь компилируемым языком.
Те они буквально с тупили на terra incognita одной ногой, оттуда и повылазила куча всего. Это нормально.
Далее, на правах вещей обезьянки:
Дальше они уткнутся в то что эти концепции плохо работают со статической типизацией и стрикт алиасингом, в итоге мы увидим какое-то подобие правил автоматического приведения типов (основа этого уже заложена в расте).
После чего дошкрябуют до фундамента и поймут что надо фиксить адресную математику, причём не в столько в раст, сколько в слое ниже - в LLVM (проблемы с inttoptr(ptrtoint x) => x). И в конце нас ждёт грандиозная феерия с изменением Memory model, которая повлияет на все компилируемый язык.
Для Ъ: граница между интерпретируемый и и компилируемым языками будет продолжать размываться, как и между статический и динамической типизацией.