Telegram Web Link
Как для меня, Rust в плане расширения функционала старых проектов очень похож на шахматы.

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

Если сравнивать в этом плане с С++ - С++ похож на сапера.
😁32👍2
Когда работаешь в канадской энергетике

месяц: там проблемы в той, ну на севере, со странным названием
пол года: надо починить кое-что на этой, Куу...
год: как там станция в Кууджуарапике?
5 лет: ᓄᑖᙳᕆᐊᓚᐅᖅᑕ ᑰᔾᔪᐊᕌᐱᖕᒥ
😁21👍2💩1
Если вы внезапно в Грузии, 18 ноября в субботу в Тбилиси организуют небольшую сисопку по Rust. Или как там сейчас это называется.

https://www.meetup.com/tbilisi-rustaceans/events/297231022/
👍7🔥3😁2
началось?
👍15😁5💩2👎1
Только что впервые починил на проде багу в коде, который писал AI.

Никогда не доверяйте регуляркам, обязательно что-то пропустите. Особенно тем, которые писал ChatGPT.

ChatGPT, ты уволен. Иди в копирайтеры.
👍23😁15🔥1
- а как ты дебажишь Rust в проде?
- я заливаю специальную сборку
- что за сборка? ты же не просто обложил её принтами?
- ...
😁42👍5
тебе за 20: как можно пользоваться в 2000 году компом выпуска 1990??

тебе за 40: хороший же сервак, только в 2010 покупали...
👍19😁14🔥4💩1
еще тебе за 40: держишь на канале пару чужих спам-ботов, чтобы с ними ругаться
😁28👍6🔥2💩2
Сегодня видел, как на филдбасе кто-то сделал писать аптайм устройства в 4 регистра - дни, часы, минуты и секунды. В результате, этот кто-то словил целую кучу матюгов - мы-то наивные привыкли, что аптайм - это один регистр в секундах, максимум, для больных, в наносекундах. Но всё случается в первый раз.

Уверен этот кто-то сделал бы и месяцы, но к счастью в месяцах динамическое количество дней и нельзя просто взять и поделить (ц). Видимо ему это тоже пришло в голову, поэтому заебался уже на днях.
😁22👍1
А в Rust chrono выдаёт year() аж в i32.

Во-первых, сделано на века. Во-вторых, я вам скажу, они большие оптимисты.

Или у них телевизора нет.
😁48
Писать что-то системное на nodejs - еще тот адок.

- Как можно взять uid юзера?
- Элементарно - os.UserInfo()!
- Я про другого юзера, а не текущего
- А тут нельзя... Но вот есть Модуль!

- Модуль, а зачем ты за собой сишный биндинг тянешь?
- Потому что я не парсаю /etc/passwd руками, а делаю это через glibc!
- А зачем?
- Потому что я POSIX compatible!
- Понятно. Ты работаешь на каких-то POSIX-системах, кроме Linux?
- Эм... Хороший вопрос... Пока нет...
😁31👍3
Кто там JS/TS на жизнь зарабатывает, есть интимный вопрос.

Сколько раз вы удаляли автокомплитом package.json вместо package-lock.json?
😁15💩2🔥1
У нас в модулях lib.ts
А у них в крейтах - index .rs
😁9💩2👍1
Закончим с ерундой по самому TypeScript и разберем Deno внутри. Кто не в курсе, Deno - это альтернативный серверный рантайм для JS, от того же автора, что и нода.

Поскольку Deno несколько лет назад перешли на Rust, движком можно легко играться в собственных интересах. Основные крейты, которые вам понадобятся - deno-core и (возможно) deno-ast.

С deno-core вы получаете примерно голый Rusty V8 JS engine, но в гораздо более девелопер-френдли обертке. У вас, само собой ничего нет, даже console (всё это дает deno-std в самом Deno), но сам рантайм уже полностью готов к использованию.

Главный краеугольный камень любого JS-рантайма - это модули. deno-core дает для этого трейт ModuleLoader, который довольно легко имплементировать и самому решать где, как и зачем брать модули и куда их хранить. И когда вы загружаете в рантайм главный модуль, и когда один модуль импортирует другой, рантайм будет вызывать вашу impl ModuleLoader, чтобы она отдала ему исходник.

Гибкость позволяет вытворять с модулями примерно всё, что пожелается. Например, стандартный префикс Deno для модулей npmjs: import { ... } from "npm:somelib" вы можете поменять на "mycompany:somelib" и разрешить юзерам грузить модули с вашего собственного хранилища. Попутно кешируя их локально или нет - это уже дело ваше.

На этом можно было бы остановиться, но нельзя не упомянуть deno-ast. Как уже понятно из названия - это парсер от команды Deno, который умеет в CJS, TypeScript, React JSX, а также умеет делать некоторые оптимизации. Поэтому вы можете легко разрешить юзерам использовать и эти языки в своих скриптах и сервисах, просто пропуская код модуля через функции крейта и получая готовый JS на выходе. Строкой или токенами.

Пользоваться готовым Deno или ембеддить его к себе в проект - это уже решать вам. Команда разработчиков старается, чтобы удобно было и то, и другое.
🔥16👍8💩1
И что я думаю по поводу JS-рантаймов и прочего.

JavaScript, как язык - ужасен, вы все знаете сотни анекдотов про сложения строк и чисел и поведение this, не буду повторяться. А TypeScript и всё прочее будущее естественно везде и всегда будут наследовать все косяки и упоротую легасню родителя.

Но у него есть два коммерческих козыря, которые бьют по конкурентам - во-первых добрая половина (пусть через жопу) IT кодит фронт и даже не стремится в WASM, им оно не нужно. Во-вторых есть куча корпораций с миллиардами долларов, которые эти миллиарды вкладывают в развитие движков языка.

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

Тоесть если TLDR: JS - урод, но у него очень и очень много денег. Поэтому он пережил и переживёт еще многих. И если сегодня ставить, например, на питон или жс, я выберу жс чисто из меркантильных интересов.
👍16💩4👎3
Что делать с спам-ботами в комментах?
Anonymous Poll
49%
Оставить, они веселые
27%
Забанить, надоели
25%
Там есть боты???
👍1😁1
После месяца JS/TS целый день кодил на крестах.

Никогда не думал, что буду так рад крестам. Как родным.
😁33🔥14👍2
У Rust весьма продвинутый FFI. Вот что происходит, если вы вызвали foreign function на крестах, а она выкатила крестовый exception:

fatal runtime error: Rust cannot catch foreign exceptions


И никто никуда в корки не падает. Культурно намекают и уходят в safe panic.
👍25🔥4💩2
Пощупал что нового в крестах за те 10 лет, когда мы к счастью не виделись. Как и ожидал, ничего полезного нет.

Интеграция новых фич в кресты выглядит как будто у деда почки отваливаются, а он покупает ховерборд.
😁42👍6👎4
2025/09/16 13:11:12
Back to Top
HTML Embed Code: