Может быть, но на практике обычно удается локализовать unsafe. В том числе и для итераторов. Мне сложно представить ситуацию, когда это сделать нельзя или слишком накладно. Если у вас есть пример, то хотелось бы на него взглянуть.
unsafe во внешнем API нужен только системным функциям. Изначально речь шла о списочных структурах данных и хитрых алгоритмах на них. Я сказал, что можно использовать unsafe, но нужно сделать к нему безопасный внешний API. Только и всего, так в Rust делается часто. Необходимости использовать unsafe в API тут нет.
Вы очень здоровые люди! Мне сложно представить, как добиться такого железного здоровья не покидая квартиры, не проводя время на свежем воздухе и на солнце.
Часто хочется писать код, который потом можно будет хорошо соптимизировать и сэкономить на количестве серверов. Или хочется писать легковесные бинари (тут еще может пригодиться Go). Или хочется пользоваться развитой системой типов, при этом делая небольшую и эффективную программу (и тут Go уже не подходит). Или хочется писать приложения под WebAssembly. Или хочется писать клиент и сервер на одном языке. Или хочется писать модули к другим языкам (Python, PHP, ...). Или хочется безопасного и предсказуемого параллелизма, без всяких volataile. Или хочется иметь одну коллекцию модулей и библиотек, которые будут применимы во всех вышеперечисленных случаях.
Конечно, при всем при этом нужна безопасность памяти, и C# тут не применим.
Нет. Если все обернуть в unsafe, то наружу будет торчать модификатор unsafe. С тем же успехом можно на С/С++ писать функции, вставляя слово unsafe в название.
Видимо вы имеете ввиду, что ваш unsafe используется во внешнем публичном API. Но вопрос: зачем так делать? Такое нужно только для низкоуровневых системных функций, которые небезопасны по призванию.
Судя по всему вы просто не понимаете, как используется unsafe в Rust. Посмотрите реализацию чего-нибудь в стандартной библиотеке, там во многих местах используется unsafe, скрытый за безопасным внешним API.
Rust возник из критики C++ и претендует на его нишу. Так что вашу просьбу удовлетворить не получится, прекратить критиковать плюсы для него равносильно остановке в развитии.
Не забывайте, что unsafe - это полноправный элемент языка Rust. Смысл в том, что ваша небезопасная реализация с указателями будет изолирована внутри вашего модуля и наружу будет торчать только safe-интерфейс. Именно так и именно для этого и используется unsafe.
И за два года у вас даже ни разу температуры не было? Вот мы когда с женой первый раз болели в прошлом году, то была только легкая температура и все. Узнали, что COVID только потому, что ребенок попал в больницу.
А давайте взглянем на проблему чуть глубже: а есть ли он этот момент? Почему мы не можем относиться ко времени и изменению величины взаимодействия как к непрерывным величинам?
Волна - то есть колебание электромагнитного поля (читай, материи). Согласен, что колебание материи и сама материя - это не одно и то же. Но все-таки, а материальную частицу с массой точно порождает именно колебание как таковое, а не колеблющееся материальное поле? Потому что в таком случае материя просто меняет форму, а не появляется из ниоткуда.
Пишите под каждым купленным отзывов "вы все врете", но не в истеричной, а в уважительно-ровной форме. Пишите, куда жаловаться и что вас "заказали", поэтому вы просите показать чек и фотографию проблемного товара для подтверждения.
Другие пользователи - не дураки, и многие всегда, когда встречают резкие отзывы думают, а не фейк ли это.
На всю )
Может быть, но на практике обычно удается локализовать unsafe. В том числе и для итераторов. Мне сложно представить ситуацию, когда это сделать нельзя или слишком накладно. Если у вас есть пример, то хотелось бы на него взглянуть.
unsafe во внешнем API нужен только системным функциям. Изначально речь шла о списочных структурах данных и хитрых алгоритмах на них. Я сказал, что можно использовать unsafe, но нужно сделать к нему безопасный внешний API. Только и всего, так в Rust делается часто. Необходимости использовать unsafe в API тут нет.
Сделать срочно компьютерную томографию головы!
Вы очень здоровые люди! Мне сложно представить, как добиться такого железного здоровья не покидая квартиры, не проводя время на свежем воздухе и на солнце.
И в этом нет ничего плохого. Плюсы тоже критикуют Rust, например, за урезанные возможности.
Часто хочется писать код, который потом можно будет хорошо соптимизировать и сэкономить на количестве серверов.
Или хочется писать легковесные бинари (тут еще может пригодиться Go).
Или хочется пользоваться развитой системой типов, при этом делая небольшую и эффективную программу (и тут Go уже не подходит).
Или хочется писать приложения под WebAssembly.
Или хочется писать клиент и сервер на одном языке.
Или хочется писать модули к другим языкам (Python, PHP, ...).
Или хочется безопасного и предсказуемого параллелизма, без всяких volataile.
Или хочется иметь одну коллекцию модулей и библиотек, которые будут применимы во всех вышеперечисленных случаях.
Конечно, при всем при этом нужна безопасность памяти, и C# тут не применим.
Видимо вы имеете ввиду, что ваш unsafe используется во внешнем публичном API. Но вопрос: зачем так делать? Такое нужно только для низкоуровневых системных функций, которые небезопасны по призванию.
Судя по всему вы просто не понимаете, как используется unsafe в Rust. Посмотрите реализацию чего-нибудь в стандартной библиотеке, там во многих местах используется unsafe, скрытый за безопасным внешним API.
Rust возник из критики C++ и претендует на его нишу. Так что вашу просьбу удовлетворить не получится, прекратить критиковать плюсы для него равносильно остановке в развитии.
Кажется, что вебу на Rust все-таки быть, по крайней мере его экосистема в эту сторону неплохо развивается.
Не забывайте, что unsafe - это полноправный элемент языка Rust. Смысл в том, что ваша небезопасная реализация с указателями будет изолирована внутри вашего модуля и наружу будет торчать только safe-интерфейс. Именно так и именно для этого и используется unsafe.
И за два года у вас даже ни разу температуры не было?
Вот мы когда с женой первый раз болели в прошлом году, то была только легкая температура и все. Узнали, что COVID только потому, что ребенок попал в больницу.
А вы уверены, что вы не болели в легкой форме и не были переносчиком?
А давайте взглянем на проблему чуть глубже: а есть ли он этот момент? Почему мы не можем относиться ко времени и изменению величины взаимодействия как к непрерывным величинам?
Лучше их называть квантами электромагнитного излучения, так понятнее.
Нет вещества, но есть поля (то есть материя все равно есть).
Волна - то есть колебание электромагнитного поля (читай, материи). Согласен, что колебание материи и сама материя - это не одно и то же. Но все-таки, а материальную частицу с массой точно порождает именно колебание как таковое, а не колеблющееся материальное поле? Потому что в таком случае материя просто меняет форму, а не появляется из ниоткуда.
Напомните, а почему свет - это не материя?
Пишите под каждым купленным отзывов "вы все врете", но не в истеричной, а в уважительно-ровной форме. Пишите, куда жаловаться и что вас "заказали", поэтому вы просите показать чек и фотографию проблемного товара для подтверждения.
Другие пользователи - не дураки, и многие всегда, когда встречают резкие отзывы думают, а не фейк ли это.