#prog #python #c #abnormalprogramming #article
Writing a C compiler in 500 lines of Python
С небольшим нюансом: компиляция в WASM и, понятное дело, только весьма небольшого подмножества C. Ну и для достижения ограничения на количество строк компилятор однопроходной.
Writing a C compiler in 500 lines of Python
С небольшим нюансом: компиляция в WASM и, понятное дело, только весьма небольшого подмножества C. Ну и для достижения ограничения на количество строк компилятор однопроходной.
vgel.me
Writing a C compiler in 500 lines of Python
Blog about linguistics, programming, and my projects
👍3💩1
Forwarded from Ты в тренде или уходи
This media is not supported in your browser
VIEW IN TELEGRAM
Лол, в российских кинотеатрах блюрят сцену, где Райана Гослинга во время танца целуют в щёку два других актёра и называют это версией «без ЛГБТ».
¯\_(ツ)_/¯
¯\_(ツ)_/¯
😁22🤡5👍2
Блог*
#gamedev — Вы используете C++ в Unity? — Нет, мы стреляем себе в ногу иначе. Ещё одна печальная новость вчерашнего дня: Unity собирается начать собирать плату с разработчиков игр за каждую установку игры. При этом: * деньги хотят брать начиная с порога…
Народ всё ещё негодует (и вполне справедливо негодует)
3dnews.ru/1093020/unity-popitalas-uspokoit-razrabotchikov-naschyot-komissii-za-ustanovku-igr-no-chtoto-poshlo-ne-tak
3dnews.ru/1093020/unity-popitalas-uspokoit-razrabotchikov-naschyot-komissii-za-ustanovku-igr-no-chtoto-poshlo-ne-tak
3DNews - Daily Digital Digest
Unity попыталась успокоить разработчиков насчёт комиссии за установку игр, но что-то пошло не так
Производитель движка Unity прокомментировал шквал критики и недовольства, обрушившийся на него вслед за анонсом комиссии Unity Runtime Fee, которая будет взиматься с разработчика при превышении определённого количества установок игры.
👍4🤣1
Челлендж старых игр: попробуй не умереть.
Челлендж новых игр: попробуй не умереть со скуки.
Челлендж новых игр: попробуй не умереть со скуки.
😁17😐3👍1🫡1
Тяжело смотреть на губы, которые не можешь поцеловать, и на скидки на игры, которые всё равно не можешь купить
😢13
#prog #rust #article
Semver violations are common, better tooling is the answer
Самая мякотка:
Across more than 14000 releases of the top 1000 most downloaded crates, on average:
* Around 1 in 31 releases had at least one semver violation – we found one or more violations in 464 releases (3.22%).
* More than 1 in 6 crates violated semver at least once – 172 crates (17.2%) had at least one release with a semver violation!
И это даже при том, что весьма большое количество запланированных проверок в cargo-semver-checks ещё не реализованы. Вот вам и довод в пользу использования подобного инструмента.
Semver violations are common, better tooling is the answer
Самая мякотка:
Across more than 14000 releases of the top 1000 most downloaded crates, on average:
* Around 1 in 31 releases had at least one semver violation – we found one or more violations in 464 releases (3.22%).
* More than 1 in 6 crates violated semver at least once – 172 crates (17.2%) had at least one release with a semver violation!
И это даже при том, что весьма большое количество запланированных проверок в cargo-semver-checks ещё не реализованы. Вот вам и довод в пользу использования подобного инструмента.
predr.ag
Semver violations are common, better tooling is the answer
An analysis of semver compliance in Rust finds accidental semver violations are common even in the most popular crates. Human error is not the cause, and better tooling is the way forward.
👍6💩2❤1😁1
#prog #rust #python #performancetrap #article
Rust-Python FFI
Или о некоторых возможных проблемах при интеропе Rust и Python, включая проблемы производительности и проблемы с эргономикой.
Rust-Python FFI
Или о некоторых возможных проблемах при интеропе Rust и Python, включая проблемы производительности и проблемы с эргономикой.
#prog #rust #article (надо ли хештег для постов на тему образования?)
Teaching Rust in 5 days
Опыт автора по преподаванию Rust в университете.
Должен сразу предупредить, что курс был (а) факультативный (потому на него шли люди, которые в принципе мотивированы учить Rust) и (б) уже подразумевал наличие базовых знаний о программировании, так что опыт автора навряд ли переносим напрямую на изучение Rust в других контекстах.
Автор честно признаётся, что писал курс не с нуля, а взял за основу Comprehensive Rust от команды разработчиков Android. Курс, тем не менее, подвергся сильным модификациям — главным образом, избавлению от Android-специфичных частей.
Каждый день состоял из двух половинок с перерывом между ними, в каждой половинке были теоретическая и практическая части. Для практической части автор использовал форк Rustlings, модифицированный под содержимое и порядок материала в плане курса. Одним из интересных нововведений автора была интеграция Rustlings с собственным сетевым приложением для отображения сводки индивидуальных прогрессов каждого из учеников. По словам автора:
> The mix of Rustlings and
За 5 дней автору с учениками удалось покрыть множество тем. Ученики сами были удивлены тому, как много они успели изучить за столь короткое время:
> We were not able to finish all 90 exercises, but the majority of students finished about 2/3 of them.
Автор предлагает практические советы на тему того, на какие именно темы нужно упор для людей с опытом программирования в других языках, а также предлагает объяснять нужду в borrow checker путём демонстрации того, к чему может привести сосуществование мутабельной и иммутабельной ссылки на один и тот же объект. В статье автор иллюстрирует это примерами на Python с модификацией списка в процессе итерации по нему:
В заключении автор заявляет, что трудности с изучением Rust связаны не только и не столько со сложностью языка как такового:
> I used to agree with the statement that Rust is complicated because some tend to say that.
But now, after giving the 5-day Rust course at my university, I believe that it is a problem of having more learning resources AND willing to go out of the comfort zone to learn completely new concepts like ownership and borrowing.
After the course, students are not Rust experts. But they will not panic on the first borrowing or lifetime compiler error they encounter.
<...>
Rust is neither easy nor complicated, it is a language that requires you to learn new concepts and read a book or take a course before being able to start hacking.
Rust already has excellent resources for learning on your own. We have the official Rust book (available for free) and Rustlings as leading examples. But we need more resources and initiatives in organizations that teach programming (like universities).
Teaching Rust in 5 days
Опыт автора по преподаванию Rust в университете.
Должен сразу предупредить, что курс был (а) факультативный (потому на него шли люди, которые в принципе мотивированы учить Rust) и (б) уже подразумевал наличие базовых знаний о программировании, так что опыт автора навряд ли переносим напрямую на изучение Rust в других контекстах.
Автор честно признаётся, что писал курс не с нуля, а взял за основу Comprehensive Rust от команды разработчиков Android. Курс, тем не менее, подвергся сильным модификациям — главным образом, избавлению от Android-специфичных частей.
Каждый день состоял из двух половинок с перерывом между ними, в каждой половинке были теоретическая и практическая части. Для практической части автор использовал форк Rustlings, модифицированный под содержимое и порядок материала в плане курса. Одним из интересных нововведений автора была интеграция Rustlings с собственным сетевым приложением для отображения сводки индивидуальных прогрессов каждого из учеников. По словам автора:
> The mix of Rustlings and
collective-score
[вышеупомянутого приложения автора] was a gamification that was very positively received! It was also a good way to monitor student's progress without watching over their shoulders.За 5 дней автору с учениками удалось покрыть множество тем. Ученики сами были удивлены тому, как много они успели изучить за столь короткое время:
> We were not able to finish all 90 exercises, but the majority of students finished about 2/3 of them.
Автор предлагает практические советы на тему того, на какие именно темы нужно упор для людей с опытом программирования в других языках, а также предлагает объяснять нужду в borrow checker путём демонстрации того, к чему может привести сосуществование мутабельной и иммутабельной ссылки на один и тот же объект. В статье автор иллюстрирует это примерами на Python с модификацией списка в процессе итерации по нему:
l = [1, 2, 3]
# бесконечный цикл
for item in l:
print(item)
l.append(item)
l = [1, 1, 2, 3]
for item in l:
if item == 1:
l.remove(item)
l == [1, 2, 3] # True
Также автор предлагает аналогию с ковриком для объяснения принципов, которые энфорсит borrow checker. Если коротко: на коврике могут стоять люди, переместить коврик, пока на нём стоит человек, нельзя, если человек всего один (мутабельная ссылка), то он может сойти с коврика, чтобы перенести его в другое место (и далее распространение на прочие концепции Rust). Автор указывает, что ученики нашли эту аналогию полезной. Он также признаёт, что у неё, как и у любой аналогии, есть ограничения, но она полезна для выработки интуиции в первом приближении.В заключении автор заявляет, что трудности с изучением Rust связаны не только и не столько со сложностью языка как такового:
> I used to agree with the statement that Rust is complicated because some tend to say that.
But now, after giving the 5-day Rust course at my university, I believe that it is a problem of having more learning resources AND willing to go out of the comfort zone to learn completely new concepts like ownership and borrowing.
After the course, students are not Rust experts. But they will not panic on the first borrowing or lifetime compiler error they encounter.
<...>
Rust is neither easy nor complicated, it is a language that requires you to learn new concepts and read a book or take a course before being able to start hacking.
Rust already has excellent resources for learning on your own. We have the official Rust book (available for free) and Rustlings as leading examples. But we need more resources and initiatives in organizations that teach programming (like universities).
Mo8It
Teaching Rust in 5 days
Can you learn Rust in 5 days? And how was my experience teaching Rust at my university?
👍9🔥1🍌1
Forwarded from Generative Anton
Лучшие практики open-source
`lodash` just declared issue bankruptcy and closed every issue and open PR.
`lodash` just declared issue bankruptcy and closed every issue and open PR.
😁16🤯5👍3🤡3🔥1💯1