Pull to refresh
4
0
Андрей Кутейко @andy128k

User

Send message

Сложные проценты зависят не только от тела, но и от срока. Поэтому разница всё же есть.

У Gtk есть минимум два визуальных редактора: традиционный Glade и новый Cambalache. Также появился новый язык разметки -- Blueprint. Это всё, конечно же, не rust-специфично и доступно для всех языков.

  1. Любой редактор с поддержкой языковых серверов + rust-analyzer. VS Code, например.

  2. Из приличных есть Gtk-rs, из кросс-платформенных -- Tauri, Slint.

  3. Есть, например, lib.rs как альтернатива crates.io

Пакетный менеджер для пакетных менеджеров? Никакой реальной технической проблемы это не решает. Только "проблему" зависимости от npm (github (Microsoft)).

Всё же лучше использовать более "всеядный" `Result<T, Box<dyn Error>>` или Error из крейта anyhow. Он больше похож на джавовский RuntimeException.

Строка может быть преобразована в `Box<dyn std::error::Error>` и поэтому можно писать `Err("Division by zero".into())`.

Вовсе нет. TypeScript это основной язык AWS CDK. При этом использование TypeScript и/или JavaScript в serverless архитектуре оказывается очень даже уместным.

Поэтому мы передаём аллокатор методу init, но не передаём его циклу событий.

Что мешает методу init сохранить аллокатор в объекте?

Ждать следующий пост про саундбары для бабушек?

Rust накладывает на программиста больше ограничений чем C++. И компилятору вроде как "проще" от этого.

Сишный компилятор тут как эталон. Rust сделан как фронтенд к LLVM. Точно так же сделан и Clang. И значит их можно как-то сравнивать в этом поле. Гипотеза (и вроде есть примеры) в том что Rust может передать тому же LLVM больше информации о коде чем Сlang.

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

Вот она какая, прикладная каббала! Интересно было бы разобраться в коде.

Чтобы CSS был отдельным файлом тот же webpack нужно отдельно настраивать. По-умолчанию стандартная связка style-loader/css-loader помещают стили в JS бандл.

> css in js это просто неоправданно срать в коде

Когда-то так же говорили про JSX, якобы это "html in js"

> срать в бандле итоговом.

Не уверен что это недостаток. С помощью того же url-loader картинки бандлят. Иногда может быть удобно иметь приложение в виде одного файла, например для встраивания.

Не знаю деталей про styled components, но вроде бы есть аналогичные библиотеки которые позволяют извлечь CSS (google подсказывает linaria и astroturf, может есть и другие). Так что я бы не стал обобщать на весь "css in js".

Ну а разве styled components делает что-то другое? Вроде как он тоже генерирует CSS и классы для селекторов, и так же генерирует `<style/>` узел в `<head/>`. Ну разве что в случае модулей это будет `<link/>`. Но в обоих случаях браузеру нужно загружать все стили.

Разве для тех же CSS-модулей ситуация не такая же?

В польском языке есть такое же слово -- dziadkowie. От слова dziadek -- дед.

Не один. Когда я в очередной раз разломал свой покетбук, то следующий брал намеренно без сенсорного экрана.

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

Во многих местах хорошей практикой (а иногда и обязательной) является указание ссылки на тикет в той же Jira в комментарии к коммиту. Это помогает понять не только сам код, но и причины его написания.

Потому что Rust это практичный компромисс между полным отсутствием проверок (С/С++) и слишком сложными и медленными системами доказательств.


И, как показывает опыт, компромисс вполне удачный. Этого самого unsafe кода исчезающе мало по сравнению с остальным кодом.

Ну можно впасть в крайность и разметить весь код как unsafe. И даже в этом случае получится язык более безопасный чем C/C++.


Процитирую мануал. В unsafe коде можно дополнительно делать:


  • разыменовывать указатель
  • вызывать другой unsafe код
  • обращаться к глобальным переменным
  • реализовывать unsafe traits
  • использовать union-ы

Всё! Все остальные инварианты и проверки сохраняются, в том числе и пресловутый borrow checker.

https://www.areweguiyet.com/ — вот тут собирают информацию о состоянии GUI в Rust.


Из личных наблюдений — есть очень приличный gtk-rs (привязка к gtk3), куча обвязок вокруг WebView, и написанные с нуля библиотеки со скупыми наборами виджетов.

1
23 ...

Information

Rating
Does not participate
Location
Донецк, Донецкая обл., Украина
Date of birth
Registered
Activity