ccache, sccache, bazel? Таке точно не повинно збиратись на одній машині.
Для мене було відкриттям, наскільки гарно працює xpra.
В порівнянні з Растом:
— nil everywhere замість Option, the billion dollar mistake
— весь стан mutable, взагалі без можливості const
— обробка помилок на чотири рядка, наворочування саморобних стектрейсів вручну
— відсутність перевантаження операторів, нормальних макросів, можливості робити DSL, уродський go:generate
— concurrency легка, але небезпечна, компілятор не допомагає розуміти і вивіряти код: горутини це занадто низькорівневий примітив замість нормально типізованих і перевірених borrow checker пулів потоків або Future із async/await. Контексти очевидні лише в найпростіших прикладах, реальний код із WithTimeout це завжди дебаг і wtf. Mutable shared memory by default, паніки горутин не ловляться, дедлоки і гонки.
— убогі і завжди динамічні інтерфейси замість повноцінних трейтів
— новозавезені дженерики часто куці і дивні
— defer замість RAII, забути підчищання якогось ресурсу елементарно.
— garbage collection, досить великий і важкий неопціональний рантайм, прибитий до мови
— жодного нормального ffi крім cgo, погана взаємодія із будь-якою іншою мовою.
Голанг є нішевою мовою, ідеальною хіба що для мережевих сервісів і девопсів. Він не скейлиться ні в GUI, ні в Data Science, ні в фронтенд (WebAssembly, JS interop), ні в нормальне системне програмування (embedded, драйвери, WebGPU).
Голанг, попри дуже якісну і вмілу реалізацію, практично не пропонує свіжих ідей і прогресу порівняно із існуючими мовами.
Чучхе за прикладом Швейцарії не таке вже й погане.
Так, із його точки зору виглядає дуже привабливо спробувати провернути сталінський хід конем: із дикої недорозвиненої напіваграрної держави, невизнаної половиною світу, за пʼять років світової війни стати світовою державою-переможцем, яка ділить світ на сфери впливу.
От тільки зараз не
Реальність внесе свої корективи: не хуйло вирішує, скільки триватиме ця війна, що б не хотілось маразматику-кагебісту.
ракета ПЗРК коштує дорожче дрона.
Години, витрачені мільйонами цивільних без електрики, також коштують дуже немало. Розбомблені електростанції також коштують немало.
Ох скільки ж у коментарях тролів, проплачених скрєпами із запоребрика.
Для відкриття рахунку в місцевому банку потрібен ідентифікаційний код Codice fiscale, процедура отримання якого дуже тривала.
— був туристом в Італії, формально треба був codice fiscale для купівлі сімки. Так от: це хеш із імені/дати і місця народження/статі, його можна було порахувати на ходу в телефоні (www.codicefiscale.com)
Але не туристом не був, мабуть важка частина це дійсно привʼязати цей код до того, що держава знає про людину.
Сила Раста не в мікрооптимізаціях і суперефективному суперрозумному компіляторі, а в тому, що він примушує програміста наводити порядок у голові, по можливості виражати інваріанти кодом, а не знаннями у одній-єдиній голові, та ставитись до памʼяті більш-менш уважно.
Про такі от обчислювальні ніші дійсно згодний, там Раст непрактичний, але ж як радує те, про що йдеться в статті, що навіть у тій ніші С++ відстає від заліза і поступово стає непотрібним.
Підтверджую.
«Нормальні умови для девелопменту» тільки в порівнянні із іншими: відсутність бачення щодо технічної інфраструктури та кодової бази (tirefire моноліт на Перлі), тестів, контролю якості, півтора роки компанія не могла вибрати CTO («business as usual»).
І це тільки вершина айсберга: відсутність чітких правил оцінювання та підвищення (найчіткіша картинка того, що насправді відбувається — на анонімному Blind), непрозорість менеджементу, відкритий наголос на видимості результатів замість суті, нерідко буллінг із сторони менеджменту, переважно non-EU девелопери як слухняна робоча сила, яку легко контролювати, скажені грошові потоки, які ідуть незрозуміло куди. Симптоматичні скандали із десятками мільйонів державної допомоги в той час, коли американським
На жаль, ваше незабутнє літо залишилось у
Можна юзати пакетні менеджери без модулів
— можна, але для чого завдавати собі подібний біль?!
В статті купа ілюстрацій від першої особи, як «чудово» ця проблема «вирішена» зараз в Україні.
Але ні, свідчення від першої особи менш важливі, ніж абстрактне знання про те, як більшовики все вирішили.
Про duktape: так, це embeddable скриптовий движок для інших програм, отже маленький і без великого API та вбудованих бібліотек (схожий на lua). Судячи із duktape.org, активно використовується як скриптовий движок в інших програмах, про standalone використання сказано мало. Я колись дивився на hs-duktape (байндинги для Хаскеля), про сам libduktape сказати нічого не можу, але hs-duktape давав лише куці базові інструменти.
Про quickjs: поки що це більше персональний проект Фабріса Беллара, але не слід забувати, що із цієї святої людини почався ffmpeg та qemu.
Про перформанс: ці два движка не мають JIT-компіляторів і за v8 угнатись у них немає шансів.
Висновок десь такий: із ядром мови (в розумінні стандартів EcmaScript) проблем практично не повинно бути (але цілком можливі якісь тонкі і складні для дебагу відхилення від того, як поводяться мейнстримні рантайми). Але про перформанс і всю вбудовану функціональність Ноди (nodejs.org/api) можна забути і будь-які неджаваскриптові бібліотеки доведеться обгортати вручну. Шлях сильно на любителя і треба бути готовим розуміти і міняти код движка під себе.
применить вместо node.js в качестве сервера
— думаю, що спочатку як мінімум доведеться написати на Сі і протестувати обв’язки для сокетів/http/tls.
Назва натякає на це, так.
+1, все вирішується лексером, яким заміняє слова (і можливо пунктуацію на ту, яку присутня в українській розкладці).
На будь-якому ліспі можна накрутити макроси (інше питання «чи потрібно»):
Синтаксис, основанный на языках с родами и падежами, обречен читаться как «суржик» или «албанский»
— не обов’язково: users.monash.edu/...apers/HTML/Perligata.html
В Расті нема шаблонізації, в Расті є справжні дженерики, які тайпчекаються до розкриття.