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
Офигенная статья о заблуждениях касательно лайфтаймов. Очень хорошее подспорье новичкам. Как пишет автор в своём первом посте:
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
GitHub
rust-blog/posts/common-rust-lifetime-misconceptions.md at master · pretzelhammer/rust-blog
Educational blog posts for Rust beginners. Contribute to pretzelhammer/rust-blog development by creating an account on GitHub.
p0lunin:
может выучить плюсы пойти в засраный люксофт и не *** себе мозги?
Sergey Korotkov:
учи плюсы, а люксофт не надо
Mike Lubinets:
Плюсы да на галеру
Stanislav Popov:
работать борроучекером )
Mike Lubinets:
БЛ* БУКВАЛЬНО
Я сейчас на плюсах пишу
И это буквально работа борроучекером
via https://www.tg-me.com/rust_offtopic/265359
может выучить плюсы пойти в засраный люксофт и не *** себе мозги?
Sergey Korotkov:
учи плюсы, а люксофт не надо
Mike Lubinets:
Плюсы да на галеру
Stanislav Popov:
работать борроучекером )
Mike Lubinets:
БЛ* БУКВАЛЬНО
Я сейчас на плюсах пишу
И это буквально работа борроучекером
via https://www.tg-me.com/rust_offtopic/265359
Telegram
p0lunin [BPL] in rust_offtopic
бля может выучить плюсы пойти в засраный люксофт и не ебать себе мозги?
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
Ну если архитектура просрана, то она просрана независимо от языка
Но бл*, раст просто невообразимо проще рефакторить, это да
Sergey Korotkov:
Та комон, причем тут плюсы. Я встречал код на шарпе (в юнити) в котором автор честно признался в комментах, что они так и не смогли понять какого хрена иногда шапка на персонаже пропадает при смене костюма, но если вызвать эту функцию дважды - то все ок.
Надо заставить себя в гамедев на расте вкатиться. Вдруг и правда лучше пойдет
Αλεχ Zhukovsky:
проблема с огромным мутабельном стейте на указателях. Полагаю, в расте было бы куда проще это распутать
Mike Lubinets:
В расте ты бы за***лся такой стейт объяснять компилятору и выбрал бы другое решение
Αλεχ Zhukovsky:
где-то у тебя были бы арки или ещё что-то, но в любом случае имхо им ПРИШЛОСЬ бы более простое и поддерживаемое решение сделать с самого начала
via https://www.tg-me.com/rust_offtopic/267163
Telegram
Sergey Korotkov in rust_offtopic
Та комон, причем тут плюсы. Я встречал код на шарпе (в юнити) в котором автор честно признался в комментах, что они так и не смогли понять какого хрена иногда шапка на персонаже пропадает при смене костюма, но если вызвать эту функцию дважды - то все ок.
Про автоматическое управление памятью без ГЦ, RC и аффинных типов:
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-908.pdf
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:
github.com/robpike/filter
Для 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
Законтрибьютил в
https://github.com/mitsuhiko/indicatif/pull/178
indicatif
, теперь можно делать ещё более изощерённые прогрессбары.https://github.com/mitsuhiko/indicatif/pull/178
Что думает опытный человек, но попробовавший раст впервые на одном контесте:
============================
Pavel:
как и многие, я начал изучать го во время контеста.
язык мне понравился. я решил переписать одну свою консольную утилиту с питона на го. код получился очень простым и понятным. и, что важно, у меня совершенно не было ощущения, что я написал плохой код, что мне нужно набраться опыта и так далее. нет, у меня получился хороший код. написание простого кода из коробки — это действительно фича языка.
вдохновившись, я решил заодно изучить раст и переписать утилиту и на него. и началось! куча unwrap'ов, куча преобразований типов, лесенки из Option'ов, непонятные заимствования по ссылке... в итоге код скомпилировался и работал. но он был ужасен. и никакой линтер не подсказывает как именно улучшить код. но я же понимаю, что его можно улучшить.
потом действительно удалось его отрефакторить и сильно упростить. убрал все unwrap'ы, преобразования типов, лесенки из Option'ов, и даже заимствования вдруг стали понятными. код теперь не сложнее кода на го.
раст больше не позиционирует себя как чисто системный язык. теперь он универсальный, в том числе и прикладной. и он одновременно и низкоуровневый, и высокоуровневый. писать на нем прикладной код оказалось не так уж и сложно.
но простота го все равно подкупает. в нем, кажется, довольно тяжело говнокодить, а вот в расте — легко.
============================
Pavel:
как и многие, я начал изучать го во время контеста.
язык мне понравился. я решил переписать одну свою консольную утилиту с питона на го. код получился очень простым и понятным. и, что важно, у меня совершенно не было ощущения, что я написал плохой код, что мне нужно набраться опыта и так далее. нет, у меня получился хороший код. написание простого кода из коробки — это действительно фича языка.
вдохновившись, я решил заодно изучить раст и переписать утилиту и на него. и началось! куча unwrap'ов, куча преобразований типов, лесенки из Option'ов, непонятные заимствования по ссылке... в итоге код скомпилировался и работал. но он был ужасен. и никакой линтер не подсказывает как именно улучшить код. но я же понимаю, что его можно улучшить.
потом действительно удалось его отрефакторить и сильно упростить. убрал все unwrap'ы, преобразования типов, лесенки из Option'ов, и даже заимствования вдруг стали понятными. код теперь не сложнее кода на го.
раст больше не позиционирует себя как чисто системный язык. теперь он универсальный, в том числе и прикладной. и он одновременно и низкоуровневый, и высокоуровневый. писать на нем прикладной код оказалось не так уж и сложно.
но простота го все равно подкупает. в нем, кажется, довольно тяжело говнокодить, а вот в расте — легко.
Как-то однажды знаменитый учитель Кх Ан вышел на прогулку с учеником Антоном. Надеясь разговорить учителя, Антон спросил: "Учитель, слыхал я, что объекты — очень хорошая штука — правда ли это?" Кх Ан посмотрел на ученика с жалостью в глазах и ответил: "Глупый ученик! Объекты — всего лишь замыкания для бедных."
Пристыженный Антон простился с учителем и вернулся в свою комнату, горя желанием как можно скорее изучить замыкания. Он внимательно прочитал все статьи из серии "Lambda: The Ultimate", и родственные им статьи, и написал небольшой интерпретатор Scheme с объектно-ориентированной системой, основанной на замыканиях. Он многому научился, и с нетерпением ждал случая сообщить учителю о своих успехах.
Во время следующей прогулки с Кх Аном, Антон, пытаясь произвести хорошее впечатление, сказал: "Учитель, я прилежно изучил этот вопрос, и понимаю теперь, что объекты — воистину замыкания для бедных." Кх Ан в ответ ударил Антона палкой и воскликнул: "Когда же ты чему-то научишься? Замыкания — это объекты для бедных!" В эту секунду Антон обрел просветление.
via https://ru-lambda.livejournal.com/27669.html
Пристыженный Антон простился с учителем и вернулся в свою комнату, горя желанием как можно скорее изучить замыкания. Он внимательно прочитал все статьи из серии "Lambda: The Ultimate", и родственные им статьи, и написал небольшой интерпретатор Scheme с объектно-ориентированной системой, основанной на замыканиях. Он многому научился, и с нетерпением ждал случая сообщить учителю о своих успехах.
Во время следующей прогулки с Кх Аном, Антон, пытаясь произвести хорошее впечатление, сказал: "Учитель, я прилежно изучил этот вопрос, и понимаю теперь, что объекты — воистину замыкания для бедных." Кх Ан в ответ ударил Антона палкой и воскликнул: "Когда же ты чему-то научишься? Замыкания — это объекты для бедных!" В эту секунду Антон обрел просветление.
via https://ru-lambda.livejournal.com/27669.html
Livejournal
для бедных
(перевод; английский оригинал напр. здесь ) Как-то однажды знаменитый учитель Кх Ан вышел на прогулку с учеником Антоном. Надеясь разговорить учителя, Антон спросил: "Учитель, слыхал я, что объекты - очень хорошая штука - правда ли это?" Кх Ан посмотрел на…
Forwarded from Roman
Offtopic: Прячу пароль пользователя в логах
RegistrationInfo { email: "r", nickname: "a", password: "🤷" }