Обновить

Комментарии 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 часа управился.

Вы имеете в виду node.js или что

Но это уже не совсем программирование - а хаккинг осторожно говоря - там все пакеты всяким ооп забиты и никакого фп...

Жалко это дер...мо какое

Даже go уже намного лучше - главное сразу переход из react мира в reflection или ast и никаких потом

отличная статья

Зачем для этого раст?

Неправильный вопрос. Правильный — зачем брать не раст?

Долгое время компиляции, состояние экосистемы крейтов на уровне альфа-бета, куча потенциальных возможностей выстрелить себе в ногу(привет дропу 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)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации