Telegram Web Link
Forwarded from Блог*
#prog #rust #article

Офигенная статья о заблуждениях касательно лайфтаймов. Очень хорошее подспорье новичкам. Как пишет автор в своём первом посте:

While learning Rust I was struggling with certain concepts so I tried to organize my thoughts by writing them down in markdown files and well... I soon had several markdown files. I thought "Maybe I should start a blog?" but then I realized "I probably shouldn't, my posts will never be as good as anything written on Rust by Niko Matsakis, Saoirse Shipwreckt, Huon Wilson, David Tolnay, Alexis Beingessner, Daniel Keep, Carl Fredrik Samson, Aleksey Kladov, Amos Wegner, Pascal Hertleif, Dimitri Sabadie, Daniel Henry-Mantilla, Steve Klabnik, Jake Goulding, or Carol Nichols". That list isn't even exhaustive, there's easily dozens of people I left out! There's lots of super smart folk who are already writing about Rust. However, I have one unique advantage that none of those people have: I'm dumb. Super smart people tend to write super smart articles that only other super smart people understand. There's a gap in the market for us dummies, and it's that gap I intend to fill with my writing.

Советую приглядывать за этим блогом, это явно что-то многообещающее.

github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
p0lunin:
может выучить плюсы пойти в засраный люксофт и не *** себе мозги?

Sergey Korotkov:
учи плюсы, а люксофт не надо

Mike Lubinets:
Плюсы да на галеру

Stanislav Popov:
работать борроучекером )

Mike Lubinets:
БЛ* БУКВАЛЬНО
Я сейчас на плюсах пишу
И это буквально работа борроучекером

via https://www.tg-me.com/rust_offtopic/265359
Forwarded from Αλεχ Zhukovsky
дада, программист может написать

alter table companies add column "ParentCompanyId" uuid
create index if not exists "Companies_IX_ParentCompanyId"
on companies ("ParentCompanyId");

А вот от

modelBuilder.Entity<Company>()
.HasIndex(b => b.ParentCompanyId)

Руки отвалятся
Mike Lubinets:
Ну если архитектура просрана, то она просрана независимо от языка

Но бл*, раст просто невообразимо проще рефакторить, это да

Sergey Korotkov:
Та комон, причем тут плюсы. Я встречал код на шарпе (в юнити) в котором автор честно признался в комментах, что они так и не смогли понять какого хрена иногда шапка на персонаже пропадает при смене костюма, но если вызвать эту функцию дважды - то все ок.

Надо заставить себя в гамедев на расте вкатиться. Вдруг и правда лучше пойдет

Αλεχ Zhukovsky:
проблема с огромным мутабельном стейте на указателях. Полагаю, в расте было бы куда проще это распутать

Mike Lubinets:
В расте ты бы за***лся такой стейт объяснять компилятору и выбрал бы другое решение

Αλεχ Zhukovsky:
где-то у тебя были бы арки или ещё что-то, но в любом случае имхо им ПРИШЛОСЬ бы более простое и поддерживаемое решение сделать с самого начала

via https://www.tg-me.com/rust_offtopic/267163
Про автоматическое управление памятью без ГЦ, RC и аффинных типов:
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf
Forwarded from Deleted Account
Forwarded from Deleted Account
Люблю растовый асинк
Linker Unsafe
GIF
Как из простых математических конструкций путём композиции получается красота. Люблю такое.
Если кто забыл, for loops делают невозможным отделение итерирования по структуре данных от её обработки. Но Роб Пайк уверен, что вы не должны хотеть такое :-)
Forwarded from Блог*
#prog #go #menacingopensource

Для Go есть пакет filter. Это реализация некоторых FP-like примитивов, написанных самим Робом Пайком. Как он сам пишет в README:

"I wanted to see how hard it was to implement this sort of thing in Go, with as nice an API as I could manage. It wasn't hard.

Having written it a couple of years ago, I haven't had occasion to use it once. Instead, I just use "for" loops.

You shouldn't use it either."

Внутри есть всё то, что мы так любим в Go: interface{}, рефлексия, отсутствие ленивости, захардкоженность слайсов. Но, конечно, вишенка на торте — это единственный PR, который так и не был смержен, и реакция Пайка на него.

github.com/robpike/filter
This media is not supported in your browser
VIEW IN TELEGRAM
Законтрибьютил в indicatif, теперь можно делать ещё более изощерённые прогрессбары.
https://github.com/mitsuhiko/indicatif/pull/178
Точнее, можно будет, когда (если) примут.
Что думает опытный человек, но попробовавший раст впервые на одном контесте:
============================
Pavel:

как и многие, я начал изучать го во время контеста.

язык мне понравился. я решил переписать одну свою консольную утилиту с питона на го. код получился очень простым и понятным. и, что важно, у меня совершенно не было ощущения, что я написал плохой код, что мне нужно набраться опыта и так далее. нет, у меня получился хороший код. написание простого кода из коробки — это действительно фича языка.

вдохновившись, я решил заодно изучить раст и переписать утилиту и на него. и началось! куча unwrap'ов, куча преобразований типов, лесенки из Option'ов, непонятные заимствования по ссылке... в итоге код скомпилировался и работал. но он был ужасен. и никакой линтер не подсказывает как именно улучшить код. но я же понимаю, что его можно улучшить.

потом действительно удалось его отрефакторить и сильно упростить. убрал все unwrap'ы, преобразования типов, лесенки из Option'ов, и даже заимствования вдруг стали понятными. код теперь не сложнее кода на го.

раст больше не позиционирует себя как чисто системный язык. теперь он универсальный, в том числе и прикладной. и он одновременно и низкоуровневый, и высокоуровневый. писать на нем прикладной код оказалось не так уж и сложно.

но простота го все равно подкупает. в нем, кажется, довольно тяжело говнокодить, а вот в расте — легко.
Не, ну каково а, "легко говнокодить на расте" 🤯
Как-то однажды знаменитый учитель Кх Ан вышел на прогулку с учеником Антоном. Надеясь разговорить учителя, Антон спросил: "Учитель, слыхал я, что объекты — очень хорошая штука — правда ли это?" Кх Ан посмотрел на ученика с жалостью в глазах и ответил: "Глупый ученик! Объекты — всего лишь замыкания для бедных."

Пристыженный Антон простился с учителем и вернулся в свою комнату, горя желанием как можно скорее изучить замыкания. Он внимательно прочитал все статьи из серии "Lambda: The Ultimate", и родственные им статьи, и написал небольшой интерпретатор Scheme с объектно-ориентированной системой, основанной на замыканиях. Он многому научился, и с нетерпением ждал случая сообщить учителю о своих успехах.

Во время следующей прогулки с Кх Аном, Антон, пытаясь произвести хорошее впечатление, сказал: "Учитель, я прилежно изучил этот вопрос, и понимаю теперь, что объекты — воистину замыкания для бедных." Кх Ан в ответ ударил Антона палкой и воскликнул: "Когда же ты чему-то научишься? Замыкания — это объекты для бедных!" В эту секунду Антон обрел просветление.

via https://ru-lambda.livejournal.com/27669.html
Forwarded from Roman
Offtopic: Прячу пароль пользователя в логах
RegistrationInfo { email: "r", nickname: "a", password: "🤷" }
2025/09/30 23:35:39
Back to Top
HTML Embed Code: