вторник, 31 марта 2020 г.

Теперь еще и немного IOS разработчик

        Я не люблю зависеть от других людей, особенно в плане понимания/реализации своих идей. Мне проще самому залесть в код, почитать его и понять что происходит в системе и принять решение о том что и как нужно делать. А иногда и закодить все самому. Примерно так я стал немного IOS разработчиком. 
          Что хочется сказать - после простоты Golang конечно чувствуется перегруженность Swift. Огромное количество синтаксических конструкций, огромное количество правил их применения. Такое ощущение что хотели всем угодить, чтобы у всех все было. В общем я считаю что надо стараться упрощать вещи, а не усложнять их. Также бросается в глаза что многое похоже на Rust. Не знаю кто там на кого влиял, но определенная степень влияния имеет место быть.
           

среда, 11 марта 2020 г.

Vector и Rust

      В последнее время к сожалению не так много нового удается узнать, из того что бы зацепило.  Все основном приходиться get shit done заниматься, не вдаваясь в подробности. Но недавно наткнулся на коллектор логов под названием Vector (vector.dev). Запустил в проде, посмотрел сколько он памяти/cpu ест и удивился. Там что-то вроде 60mb всего. Решил заглянуть внутрь - а там Rust. Тут то я и проникся к нему уважением. Ибо при такой нагрузке то же самое на Golang кушало бы заметно больше ресурсов. Тоже filebeat написаный на Golang - оказалось тем еще говном, слабо пригодным к использованию в нагруженном проде. В ozon его переписали и заменили своей поделкой, которую к сожалению никто не торопиться выкладывать в open source. 
           Дальше я принялся разглядывать Rust. Его девиз - zero cost abstraction. Где-то я уже видел подумал я. А точно, то же самое старина Bjarne Stroustrup вещал:

Только ему приходится поддерживать совместимость с миллиардами строк плюсового кода написанного за последние 30 лет. А у создателей Rust такой цели нет. И надо сказать - у них пока очень не плохо получается. Я не знаю насколько прокачен компилятор Rust в плане оптимизации, но теоретически то что получается на выходе должно быть то же самое как если бы это написать на плюсах с использованием умных указателей, контейнеров и прочих конструкций без которых современный плюсовый код не мыслим.