Kirill
не существует!
Ты шуток не понимаешь по жизни или только сейчас?
Alexander
Просто стоит делить синтаксис языков с gc и без, все же несколько иной подход.
Нави
fn configuration(cfg: Struct) {}
error[E0412]: cannot find type Struct in this scope —> src/main.rs:19:23 | 19 | fn Configuration(cfg: Struct) { | ^^^^^^ not found in this scope
Alexander
В расте раздражает что надо обязательно тип описывать для параметров приватных функций.
Sergey
Например - когда выполнится setTimeout 300?
приведение типов например)) что все но не все объект примитивы по значению, а объекты по ссылке передаются и такого много
Alexander
типа мог бы выводить?
Да. Понятно зачем это для pub, но для приватных ты думаешь - вынесу в функцию, а потом начинаешь ещё раз описывать параметр типа: Option<Vec<MyStruct<Index,.... и пальцы болеть начинают и думаешь ну его - не буду выносить.
Alexander
Да, это типа даже оффициально совет, но не всегда так гладко выглядит.
Нави
ну так структуру надо создать же
вынес создание структуры из main и заработало)
Anton
Можно константу
можно статик
Маjко
можно статик
Ну тогда можно и lazy_static :)
Anton
Ситаксис раста не самый дружелюбный, но тем не менее ко всему привыкаешь, как уже сказали выше раздражает только повторение лайфтаймов, я всегда мыслил в парадигме ооп, раст немного изменил мой мировозрение "все есть выражение" это круто, некоторые вещи получаются читабельными и лаконичными, мой внутренний перфекционист писается от восторга
Anton
Правда ингда он ссыт кипятком не только от восторга, бывает накоторые простые вещи приходится решать через жопу
Max
+
Anton
Мне кажется это скорее проблема futures - который хочет 'static
Anton
кто нить щупал 0.2 ?
Маjко
Хотя с futures-await прям счастье какое-то Еще б сделали его умнее, чтобы можно было как с обычными фьючами держать ссылку на &self и клонировать оттуда Rc внутри тела функции — ваще было бы шикарно
Anton
А потом ты начинаешь писать асинхронку и внутренний перфекционист пытается убедить тебя вздернуться на близжайшем суку бгг
У мну в основном сеть и их заява внушает надежду Now, Tokio provides a reactor to drive I/O resources (like TcpStream and UdpSocket) separately from the task executor. This means that it is easy to create Tokio-backed networking types from any thread, making it easy to create either single or multi threaded Tokio-backed apps.
Anton
Единственная фишка го - это горутины можно выполнять в несколько потоков
Anton
еслибы еще глобальный шедулер, который футуры раскидывал между тредами
Маjко
Единственная фишка го - это горутины можно выполнять в несколько потоков
Фишка го — в том что у тебя полноценные легкие потоки, в которых можно держать стейт и писать простой синхронный код
Маjко
И не париться вообще
Anton
Ну прям вобще не парится не получится, у гошников есть гонка, какие то локи в каких то случаях и т.д.
Anton
Но в любом случае в плане удобства, получше чем у раста, да
Маjко
еслибы еще глобальный шедулер, который футуры раскидывал между тредами
Главное чтобы не обязательный — а то будут те же проблемы что у гошников и придется везде душить производительность мутексами
Маjко
Сейчас то можно просто Rc<RefCell<T» воткнуть
Маjко
Который практически бесплатен
ne_on
а чо там у го, сборщик мусора?
Маjко
Да
ne_on
фууу
Anton
GOMAXPROCS
Маjко
Ну естественно настраиваемый, например - задать количество тредов
Это не меняет того, что он будет требовать Sync+Send)
Маjко
Который не везде нужен, вообще говоря. Я предпочту руками отправлять данные на тяжелую обработку в тредпул и иметь однопоточный сервис для всего остального без блокировок
Маjко
Шедьюлеру, который за меня всё сделает, но будет тормозить на локах
Anton
А может на расте пока такое красиво и не сделать
Маjко
Ну либы для корутин были
Anton
Когда там следующий релиз?
Anton
Ну либы для корутин были
Ты на идею перешел?
Anton
О блин, только заметил куда снеговика из названия дели?
Anton
Anton
То есть я хотел сказать похоже все идет к Sync + Send
Anton
чето-как то непонятно алекс кричтон - отдал крейты tokio и tokio-service (переименован в tower) Карлуше, Карл и Шон МакАртур (автор Hyper) сотрудники BuoyantIO, и вместе с другими сотрудниками пилят tower
ne_on
не гуглится
ne_on
https://crates.io/crates/tower
Маjко
Ты на идею перешел?
Нет, но перешел на линукс снова, теперь мне не больно
Anton
не гуглится
https://github.com/tower-rs/tower/commit/d5f253c577a98210f4bda336677da95dd91142b0
Loo
Loo
պլհկ
http://aturon.github.io/2018/02/09/amazing-week/
Loyd
Фишка го — в том что у тебя полноценные легкие потоки, в которых можно держать стейт и писать простой синхронный код
Ну так реализация стейтфул корутин уже несколько есть и у всех одни и теле проблемы с мьютексами
Loyd
Но и без этих проблем сильно больше людей за стейтлесс
Loyd
С async-await не сильно хуже, имхо
Loyd
Правда сыро, да
պլհկ
Early adopters должны страдать. К концу года по красоте все будет
Anton
А я про что
Anton
В крейте токио "токио ауторс" на себю поменял
Anton
Гофер в раст чатеге
Anton
Кекс