Комментарии 20
А ты можешь попросить нейронку, чтобы чуть покороче генерировала статьи?
Это моя нейронка просит, если что, устала читать. Говорит, что она тоже не железная (врёт).
Я переписываю xenforo с php на django/python - чесно говоря работает в 5-10 быстрее и убрал 90% всякого vendor мусора 90% ошибок прошлого (там как-бы всё как в PSR помните это?) Но на самом деле это все здорово но очень тупо - так как больше нету нужды в загрузчике - помните для composer и vendors?
И если дальше улучшить то и этот django-xf перепишу на pythorust...
Если нейронками делаете то поделитесь как это лучше делать
Но я просто через deepseek (copy & paste) на android + termux + NMM Files Manager даёт прямой доступ к всему в termux - а ещё стоит AutoStart Manager, для запуск termux + .bashrc для запуска сервисов всех одновременно
Там мои сайты и код и python, php, mariadb, cron, Django, xenforo 2.3.10
Ещё туда ррокинул туннель через cloudpub - доступ к всему через сеть интернет
Это круто и здорово 👍 только termux берите через f-droid а не play market
Если два телефона то можно со второго на свой сайт неделями сидеть
Xenforo, Nextcloud, WordPress, Django, Laravel, DLE и почти вообще все на samsung s21
Django PythRust это будущее веба...
Есть буквально все и всякое async, json, api...
Тип: лучше nonblocking sqlite чем mysql (mariadb)
Благодарю. Я буквально сегодня сделал порт с fastapi на ноду. Все прошло супер гладко. За 2 часа управился.
отличная статья
Зачем для этого раст?
Неправильный вопрос. Правильный — зачем брать не раст?
Долгое время компиляции, состояние экосистемы крейтов на уровне альфа-бета, куча потенциальных возможностей выстрелить себе в ногу(привет дропу future), необходимость тратить время на решение задач компилятора, а не бизнес решений, абсолютно кривая реализация async - можно продолжать и продолжать.
(привет дропу future)
Единственная реальная проблема здесь, остальное просто пропаганда
Как там дела с динамик async трейтами, работают из коробки? Как дела с рефлексией, она появилась? Как с временем компиляции, все еще пол часа потому что так не договорились сделать кэширование макросов и abi? Что там с контролем блокирующих операций - все еще один вызов мьютекса в async в одной библиотеке похоронит все приложение с thread pool starvation?
работают из коробки?
Если эта фраза намекает, что «не из коробки» они всё же работают (через крейт async_trait или что вы имеете в виду?), значит и проблемы в целом нет
Как дела с рефлексией
Не нужна, здесь вам не джава и не питон
Как с временем компиляции
Меня вполне устраивает, у некоторых C++ приложений время компиляции ещё больше
Что там с контролем блокирующих операций
То же самое, что и в любом другом языке — Rust не обещал защищать от логических ошибок
они всё же работают
через костыль, да.
Не нужна
Да, сделать 5(пять) способов метапрограммирования и не осилить сделать рефлексию, после чего заявить "она вам не нужна" - настоящий раст путь.
Меня вполне устраивает
А David Tolnay не устраивало, но кто он такой. Как там кстати с его отменой?
То же самое, что и в любом другом языке
В том же C# этой проблемы нет, async метод с await внутри lock просто не скомпилируется. И в Go этой проблемы нет, запаркуется горутина, а не поток ос. И в erlang/elixir этой проблемы нет, там в целом пожалуй лучшая реалиазция concurrency из всех, с акторной моделью и деревьями супервизоров. Раст же обещал fearless concurrency и наврал. А еще обещал memory safety и тоже наврал(наш привет циклам в Rc/Arc). Ну или как говорят фанатики раста "ваши ожидания это ваши проблемы мы имели ввиду другое".
через костыль, да.
Ну вы хитренький, сделать lock частью синтаксиса языка C# так-то тоже костыль (в C# много таких костылей). При желании ничего не мешает сделать похожий процедурный макрос и для раста и запретить вызывать mutex.lock() напрямую. Вы, кстати, не забывате запретить прямой вызов System.Threading.Lock.Enter() внутри асинхронных методов в C#?
А David Tolnay не устраивало
Его личные проблемы
И в Go этой проблемы нет
Зато в Go есть убогий defer, который помножает все его достижения в «лучшей реализации concurrency из всех» на ноль
(наш привет циклам в Rc/Arc)
Как с их помощью в safe Rust выполнить небезопасную операцию с памятью (double free, buffer overflow и т.п.)?
небезопасную операцию с памятью
А причем тут небезопастная операция, если с их помощью можно просто мемори лик сделать?
убогий defer
ну не менее убогий чем drop
lock частью синтаксиса языка C# так-то тоже костыль
В расте даже этого не смогли.
При желании ничего не мешает сделать похожий процедурный макрос
И как вы заставите другие крейты использовать ваш макрос? Он же, ахаха, не "часть синтаксиса языка".
Его личные проблемы
Да, вот только бы не он, с его serde, syn, thiserror, cxx и anyhow, раст давно был бы мертв.
А причем тут небезопастная операция, если с их помощью можно просто мемори лик сделать?
При том, что утечка памяти штука хоть и обидная, но никак не нарушает упомянутый вами memory safety
ну не менее убогий чем drop
Более убогий чем drop, потому что drop автоматический, а defer надо не забыть самостоятельно написать
В расте даже этого не смогли.
Или просто никто до сих пор не отправил соответствующий фичреквест?
Но в целом и без специального синтаксиса можно жить, предупреждение тоже сойдёт https://github.com/rust-lang/rust/issues/83310
И как вы заставите другие крейты использовать ваш макрос?
И как вы заставите другие C#-библиотеки использовать синтаксическую конструкцию lock? Им никто не запрещает игнорировать существование части синтаксиса языка
serde, syn, thiserror, cxx и anyhow
Несмотря на их популярность, я читал немало ругани про них, так что кто знает, может, если бы их не было, кто-нибудь другой изобрёл бы что-нибудь ещё более крутое
Раст это для Пети (pythorust) - это как нано ускоритель всяких enum или sortable, также через rust можно gc или alocations без участия самого python а к тому же через Rust возможно будет использовать Ai прямо на вашем устройстве или в проектах django с fast api
Вот какие возможности спрятаны там в rust без задействования python это как 2 языка одновременно - rust работает на ядре и если в django надо скопировать файл то python передаёт управление rust а тот уже syscall в ядро системы и таким образом ос все сделает за вас без ошибок и очистит память (если куча файлов и async) <- то есть это делает тоже rust автоматически без python
Таким образом ваш django сайт содержит в 10 раз меньше кода если rust библиотеки всё сделают - даже websockets или api db json router и entities manager + dispatcher, cache для django могут работать на rust (независимо от python) а сам сайт django работает далее на python (там только статика) таким же образом можно заставить laravel на php работать через rust (или даже go)

Пишем движок для блога на Rust