LINUX.ORG.RU

В Rust хотят заменить &mut на &uniq и убрать константность по умолчанию

 


1

8

Я тут на днях постил ссылку про значительные изменения в синтаксисе Ржавчины - заменили тильду на «box» - В Rust убрали ~ синтаксис . Так вот это микроскопическое изменение, по сравнению со свежими эпическими идеями разработчиков.

One sentence summary

I would like to remove the distinction between immutable and mutable locals and rename &mut pointers to &my, &only, or &uniq (I don’t care). There would be no mut keyword.

Серьезно подумывают убрать классную и всеми любимую константность по-умолчанию и вообще ключевое слово «mut» и вместо этого сосредоточиться на концепции владения и ввести ключевое слово «uniq» или «only».

Краткий пересказ мотивации затрудняюсь сделать, лучше просто прочитать пост:

http://smallcultfollowing.com/babysteps/blog/2014/05/13/focusing-on-ownership

Срач в реддите:

http://www.reddit.com/r/rust/comments/25i544/babysteps_focusing_on_ownership_...

Я пока не определился с мнением по этому вопросу. Вроде как мотивация вполне разумная, но мне как-то стремно думать о жизни без иммутабельности по-умолчанию.

P.S.: Если кто-то раньше думал и сейчас думает «Rust не нужен», то можно это не писать, я и так предполагаю «ненужна!» точкой зрения по-умолчанию каждого лоровца по любому вопросу.


Ответ на: комментарий от anonymous

Вывод регионов так и не сделал никто полноценный.

Дисциплина?

KblCb ★★★★★
()
Ответ на: комментарий от anonymous

D шёл в этом направлении чуть ли не меньше, чем rust

Кхм. В D есть большая часть из того, что есть в Си++, а из твоего списка - рефлексия и зачатки контрактов.

направление должно быть в эту сторону...

Даже если получится, это снова будет Ada - язык, которым никто не захочет пользоваться,

Вместо шаблонов/дженериков + макросов, все делается на шаблонах, которые еще сложнее, чем крестовые.

«Всё»? В D есть CTFE.

tailgunner ★★★★★
()
9 июля 2014 г.
22 октября 2014 г.
Ответ на: комментарий от anonymous

У кого-то оригинал сохранился?

Хм, боюсь что не сохранилось. Я уже и не помню, что он там говорил). Раз в языке ничего не стали менять, то и черт с постом, наверное.

ozkriff
() автор топика

я и так предполагаю «ненужна!» точкой зрения по-умолчанию каждого лоровца по любому вопросу

Так они же первые начали. Придумали очередное ненужно в своем ненужно.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

ненужно через реку
видит ненужно в реке ненужно
сунул ненужно ненужно в ненужно
ненужно ненужно ненужно НЕНУЖНО!!1111

Я рад узнать, что тебе Rust не нужен. А, допустим, мне он очень даже нужен.

ozkriff
() автор топика
Ответ на: комментарий от ozkriff

Я не очень знаю подробности ситуации в D, но разработчики Ржавчины, как я понимаю, через какое-то время (пара лет как минимум) после выпуска версии 1.0.0 хотят выпустить 2.0.0, где сломают обратную совместимость.

Грубо говоря, примерно так и произошло с D. Именно из-за этого многих данный язык отпугивает (меня, например): где гарантия, что через некоторое время не выкатят D3? Хватит с нас и одного питона.

Если с растом будет такая же хрень - то да, лучше C++ пока ещё ничего не придумали. Я не хочу каждые несколько лет переписывать работающий код из-за интриг маркетоидов.

В общем-то, единственное, что мне категорически не нравится в плюсах - это полное отсутствие модульности как элемента языка (есть только раздельная компиляция плюс костыли в виде инклудов и неймспейсов). В этом отношении даже современные версии паскаля, пинать который здесь считается хорошим тоном, куда лучше плюсов. Но плюсы побеждают в другом :)

hobbit ★★★★★
()
Ответ на: комментарий от ozkriff

Ну хз, эта проблема же не только языков и их стандартных библиотек касается. Она так же к, например, Qt относится. И ничего, как то же толпы народа его используют и с версии на версию переходят.

Разумеется. Поэтому после той сцены группового изнасилования, которая шла по всем земному шару под названием «переход с Qt3 на Qt4», кутешники при переходе на Qt5 постарались ломать по минимуму. В общем-то, у них почти получилось.

Вообще-то, и переход Qt3-Qt4 мог запросто убить сообщество библиотеки. Но их спасло то, что среди многофункциональных кроссплатформенных тулкитов, поддерживающих ЯП с нативной компиляций, конкурентов практически не было.

hobbit ★★★★★
()
Ответ на: комментарий от ozkriff

Ну и кроме того, с ЯП ситуация всё-таки хуже, чем с прикладной библиотекой. Если есть проект с большой расчётной частью, например, можно разделить расчётную часть и UI - и в первую часть не тащить Qt вообще, даже QtCore. У меня, кстати, был один проект, связанный с моделированием, где мы так и сделали. Некоторые программисты поначалу были недовольны (ибо такую реализацию изначально писать сложнее, чем всё-в-куче), но в итоге получилось неплохо. Да и поддерживать её ПОТОМ легче.

А вот если сам язык мутировать начал - отступать уже некуда, земля под ногами горит везде.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от ozkriff

Почему?

Потому что в Rust последнее время все только отменяют

И что «все»?

В Rust уберут все и оставят один Python

vertexua ★★★★★
()
Ответ на: комментарий от hobbit

Если с растом будет такая же хрень - то да, лучше C++ пока ещё ничего не придумали

Как это, обычный C же лучше!

anonymous
()
Ответ на: комментарий от anonymous

В обычном C напрягает глобальность во все щели, которую никак не отменишь. В проектах уровня ядра Linux спасает только жёсткая дисциплина кодирования и псевдо-ООП.

А так да, язык хороший, заслуженный.

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.