Технопром-2017

По телику показывают Технопром-2017. На сцене собрался круглый стол великих мыслителей русской промышленной революции.

Ведущий разражается речью про мощь сибирской школы алгебраистов, и объявляется слово ученику академика Ершова (на самом деле Герасимова, но что не сделаешь для понта), который якобы смог использовать алгебру на практике (sic!)

Названный сэр открывает рот и начинает говорить что-то внезапно разумное про отличие Искусственного Интеллекта и человека. [я готовлюсь выслать Себрант-like спич и сыто улыбаюсь] Речь внезапно прерывается невнятными всхлипами о психологических комплексах на тему “друзья свалили за бугор, а я нет, но почему?” и вопросами патриотического воспитания. Докладчик завершает мысль следующим: Человек отличается от ИИ тем, что в нём воспитана любовь к России и Новосибирской Области в частности.

Следующий докладчик пытается рассказать о дистанционном образовании, но его спешно прерывают, кажется из-за недостатка времени. Ну или потому что ведущий чувствует недоброе в свете Рособрнадзора, пачками закрывающего дистанционные вузы (интересно, кем это проплачено).

Дальше Технопром-2017 продолжается вручением призов на два конкурса, наиважнейших для смены российского технологического уклада:
– Менеджер года
– 3D-технологии (команды из студентов? Что такое 3D-технологии не объяснили, но скорей всего это про 3D принтеры).

Дальше я не смог смотреть, они должны мне новую пару глаз

WAT
Што это было

clang 5 + Visual Studio 2017

Лайфхак. Релизный Шланг только четвертой версии, и не работает на свежей вижуалке.
Можно последовать инструкции и собирать руками из SVN.
Но оказывается, у них уже есть ночные сборки, которые таки работают на свежей вижуалке.

http://llvm.org/builds/

Стадии знакомства с любым опенсорцным проектом

1 стадия – Отрицание (ну не может такого быть, наверное я что-то не понимаю и для Настоящих Профессионалов в этом коде всё отлично. Ух сейчас заберусь в пещеру на три месяца и разберусь!);

2 стадия – Гнев (бля, и здесь тоже понаписано говна, никакой документации, комментариев, какие-то куски залочки на проприетарщину приклеены, бэк зависит от фронта а фронт от бэка, чтобы понять как устроено здесь надо перечитать документацию от всех других проектов этой компании, явно всё посреди Большого Рефакторинга, всё выбросят через месяц и вот нахуй я это ковырял, блядь блядь блядь!);

3 стадия – Торг (ну допустим, понимание этих принципов поможет мне в будущем при создании своего проекта. Да и на этом можно вполне жить, если придумать – как. И в резюме строчка, опять же. И вообще я исследователь, это инженеру важно чтобы работало, а мне – чтобы было в чем копаться.);

4 стадия – Депрессия (на данном этапе человек может круглые сутки находится в депрессивном состоянии. Суть такова, что жизнь проходит зря, а ты ковыряешься в говне мамонта технологий 60-х годов прошглого века, и даже с этим не можешь разобраться. В то время как вокруг искусственный интеллект и не нужно больше программистов и компиляторов, блокчейн, диджитализация, аджайл);

5 стадия – Принятие (согласие с неизбежной участью, последовательное чтение всех исходников подряд в алфавитном порядке, в иллюзорном стремлении закэшировать в мозг как можно больше).

Начал разбираться в Котлине.

Проект состоит из двух частей – Kotlin и Kotlin/Native.

По идее мне нужно в Native, но с ним всё печально (хотя казалось бы, куда еще хуже), т.к. я не разбираюсь в LLVM, да и C++ для меня глубоко чужое пока. В очередь на изучение добавляется LLVM, т.к. уже очевидно, что без него жить нельзя.

Чтобы познакомиться, взял для начала джавовую часть. Процедура установки простейшая – пойти на гитхаб, форкнуть и выполнить несколько команд на Apache Ant и Maven. Вначале несколько покоробило использование Анта, но в конце концов, наверное, на это есть причины (начиная с нехватки времени на мимимишные плагины).

Добавим еще печальных известий: комментариев в исходнике практически нет. Код написан довольно ясно, но его объем поражает воображение. Поражает вот в каком смысле: когда ты пишешь очередное веб-приложение, у тебя есть скорей всего стандартная структура типа MVC фреймворка с контроллерами и сервисами, ты сразу идешь в сервисы и читаешь, что происходит. Дальше нужно прошарить, как устроена БД, и начать писать свои сервисы и методы в контроллерах, выставляя их наружу для фронтендщиков. В целом, код неважен, важна бытовая логика, лежащая за манипуляциями с глобальным состоянием. Здесь же код важен. (Наверное, потом его можно будет легко разделить на важное и мусор, но не сейчас).

На всякий случай я связался с Димой и Андреем и получил ту инфу, что никакой дельной документации о дизайне компилятора не существует. Всё что тут остается делать – это читать весь исходник подряд и комментировать. Дельные комментарии можно пул-риквестить.

По-моему, правильным подходом было бы аккуратно документировать всё что видишь, чтобы в результате через несколько месяцев как раз получилось бы что-то типа architecture reference guide