[01:09:32] <valexey_> Ухты! Семинар Джеймса Гослинга про роботов: https://www.youtube.com/watch?v=E56w1I9Fnh8
[09:01:57] <Kemet> модула 3 таки живет поманеньку, то сигнальный процессор замутили теперь Implementation of the Viola-Jones face detection system.

[13:30:36] <valexey> хм. посмотрел этих черепашек. да, 50ые были круты. И нет сомнений, что до луны могли добраться.
[14:49:52] <valexey> " А зачем в провинции C++? Разве что работать на оборонку инженером-программистом тыщ за 20. " (c) rsdn
[15:01:24] <valexey> кстати: http://cpp-russia.ru/?p=1422
[15:02:39] <prospero3000> Все докалды на английском?))
[15:02:58] <prospero3000> Надо стуканут ьв РосПотребПозор.
[15:03:19] <prospero3000> Пуст ьони повысят степень любви к Родине))
[15:03:48] <prospero3000> А вообще ,абстракция течёт дико))
[15:04:05] <valexey> у Sean Parent с любовью к родине все нормально :-)
[15:04:41] <prospero3000> (*стёб моде офф *). Родина своей конурой не ограничивается.
[15:05:19] <valexey> ну да. поэтому глупо любить одну лишь россию. :-D
[15:05:37] <valexey> вот US - отличная страна, достойная любви и уважения.
[15:06:08] <prospero3000> Все страны достойны любви и уважения.
[15:06:25] <prospero3000> Если бы это было не так -- таких бы стран не было.
[15:12:21] <valexey> ну, скажем так, люди очень редко живут в стране на добровольных началах
[15:12:33] <valexey> это оочень редко осознанный выбор
[15:45:40] <prospero3000> Это осознанный выбор.
[15:49:05] <valexey> какой нафиг осознанный, если большинство умирают в той же стране где и рождаются?
[16:07:59] <valexey> "Мозг набора — Iskra JS, миниатюрный компьютер, говорящий на JavaScript. Лаконичные скрипты управляют внешними электронными модулями."
[16:08:08] <valexey> http://amperka.ru/product/robonyasha-iskra-js
[16:08:19] <valexey> рашн продакшн! детей к js надо смолоду приучать!
[16:49:04] <valexey> Kemet: ну, виола-джонс это ж практически хелло ворлд в CV
[16:49:09] <valexey> причем такой, устаревший уже
[16:51:50] <Kemet> Ну норм для изучения, можно понять покрутить
[16:52:08] <Kemet> Может жто
[16:52:22] <Kemet> Может это начало)
[16:52:28] <valexey> ну, то да конечно. другое дело, что обычно сейчас это все крутят и изучают юзая opencv
[16:52:33] <valexey> для начала
[16:53:00] <valexey> т.е. когда у тебя все кубики, все операции уже есть. и ты что-то более восокоуровневое уже из этого собираешь. ту же виолу например
[16:53:17] <valexey> без такого базиса довольно тяжко
[16:53:43] <Kemet> Opencv не дает теплого лампового ощущения
[16:56:19] <valexey> хм. ну, когда как :-)
[17:00:36] <valexey> "Before uploading, the Web IDE scans your code for functions with the "compiled"; keyword. It then sends those functions to our server which parses them, converts them to C++ code, compiles that code with GCC, and sends the binary back so that it can be uploaded to Espruino as a native function."
[17:35:16] <vlad2> valexey: если смотреть по вакансиям у нас, то С++ ценится не хуже .NET/JavaScript. А конкуренция (количество кандидиатов) - меньше ;) Правда оно сместилось в embedded и прочих роботов.
[17:36:05] <valexey> то есть это очень удачно, что я тоже туда же сместился? :-)
[17:36:36] <vlad2> Дык.
[17:37:35] <vlad2> Т.е. я со своип апликэйшином начинаю маргинализироваться, надо что-то делать :)
[17:38:30] <valexey> меняй ориентацию! это нонче модно :-)
[17:39:05] <valexey> на самом деле львиная доля серьезного десктопа это тоже плюсы
[17:39:22] <valexey> да и на серваках плюсового кода не мало.
[17:39:26] <valexey> в том же гугле
[17:39:38] <valexey> а, ну игры исчо.
[17:40:18] <valexey> собственно js и .net это современный VB
[17:40:20] <vlad2> Ну десктоп мигрирует в связку Web морда + C++ нутро (Electron и т.д.)
[17:42:33] <valexey> угу. или просто браузер + node.js :-)
[17:42:51] <valexey> но проф. софт это всё же что-то более нативное.
[17:43:32] <valexey> всё что не профессиональное, т.е. что имеет дело с малым объемом данных или где задержки не важны, то уходит или ушло в веб
[17:43:42] <valexey> в локальный ли, в глобальный ли, но веб.
[17:45:08] <valexey> ну, например если ты разрабатываешь софт который должен обрабатывать хотя бы терабайты данных из базы, то разрабатывать такой софт ты уже, скорее всего, будешь в браузере. просто потому, что данные у тебя не локальны, они где-то в датацентре.
[17:45:28] <valexey> а твое дело - написать кошерный map-reduce для работы с этим всем. плюс еще пачку всякого.
[20:01:31] <valexey> "Голодавшим строителям космодрома Восточный пообещали выдать зарплату за апрель"
[20:03:59] <ilovb> "В C++17 появились операторы if и switch с инициализатором"
[20:04:04] <ilovb> https://habrahabr.ru/company/pvs-studio/blog/340014/
[20:04:15] <ilovb> Херасе. Это ж как Go
[20:04:44] <valexey> ну, это давно напрашивалось :-)
[20:05:10] <valexey> если уж присваивание можно сделать и сразу сравнить, то что бы локально переменную не объявить?
[20:05:44] <valexey> а теперь сравним с обероном, где объявление переменной вообще за километр от места использования
[20:05:56] <ilovb> угу
[20:06:09] <ilovb> довольно удобная штука
[20:06:26] <ilovb> не знаю чего народ плюется на oberoncore
[20:07:00] <valexey> и, заметь, никто не кричит что "это теперь не с++!"
[20:07:21] <valexey> точнее, есть покрикивающие, но их в общей массе не видно особо
[20:07:23] <ilovb> я смотрю в плюсах теперь еще и несолько значений можно вернуть
[20:07:37] <ilovb> и в цикле range тоже
[20:08:23] <ilovb> это я про "структурное связывание"
[20:09:10] <ilovb> мда, любопытно плюсы эволюционируют )
[20:09:34] <valexey> кстати, в плюсах и раньше например вот такое можно было:
   if (int a = foo()) {
       std::cout << a;
   }

[20:10:00] <ilovb> точки с запятой не было, да?
[20:10:21] <ilovb> в выражении в смысле
[20:10:49] <valexey> не было
[20:10:59] <valexey> точказапятая это ж statement'ы разделяет
[20:11:29] <valexey> ну, по сути, сделали if частным случаем не while а for
[20:11:35] <valexey> нормуль :-)
[20:11:48] <ilovb> угу
[20:12:46] <valexey> плюсы эволюционируют в сторону удобства и наглядности кода, чо. т.е. борятся за то, чтобы на них было ПРОЩЕ программировать новичку.
[20:13:15] <valexey> при желании новичек конечно может заглянуть в чахлое легаси, но лучше бы ему туда не смотреть, и программировать по новому.
[20:13:41] <valexey> А Оберон, кажется, предлагают уже отлить в граните и закопать :-)
[20:13:51] <ilovb> :D
[20:14:16] <valexey> ну info21 же что-то про гранит как раз говорил обероновый
[20:14:28] <ilovb> да да, я видел
[20:14:33] <valexey> правда я так и не понял, какое именно ядро он имел в виду - оберон виртовский свежий, или же КП
[20:14:45] <valexey> ибо у них даже эти базовые ядра отличаются. несовместимым образом.
[20:14:57] <valexey> даже если ООП-штуки выкинуть.
[20:15:09] <ilovb> Ну ваще он прется по КП
[20:15:22] <valexey> ну он и с оберона-07 и далее прется.
[20:15:24] <ilovb> Т.е. не по православному оберону
[20:15:26] <valexey> прется, но не юзает :-)
[20:15:34] <valexey> но прется, ибо мелкий и от Вирта
[20:15:50] <valexey> видимо для него он как сувенир
[20:16:22] <ilovb> хз, но на мой взгляд 07 как он есть бесполезен
[20:16:34] <ilovb> для микроконтроллеров разве что
[20:16:38] <ilovb> и для обучения
[20:16:52] <valexey> для обучения БОЛИ
[20:17:20] <valexey> на самом деле он хорош для обучения писанию компиляторов - чтобы воодушевить народ первым успехом.
[20:17:20] <ilovb> ну это самый строгий из известных мне языков
[20:17:33] <valexey> а потом уже к компиляторам для нормальных языков в современном мире перейти
[20:17:41] <ilovb> он просто заставит правильно мыслить
[20:18:06] <ilovb> и потом при переходе на промышленный язык будет незабываемый оргазм же ! ))))
[20:18:16] <valexey> хез. меня не заставляет :-) т.е. не сказал бы что там прям правильно мыслить он как-то особо заставляет.
[20:18:27] <ilovb> valexey: ты уже испорченый
[20:18:29] <ilovb> :D
[20:18:29] <valexey> в обероне в порядке вещей наплодить 100500 глобальных переменных и радоваться.
[20:18:48] <ilovb> ну тут уже от препода зависит
[20:18:58] <valexey> ну вот взять код вирта...
[20:19:03] <valexey> не, ну нафиг. не буду брать :-)
[20:19:21] <ilovb> у Вирта в целом годный код
[20:19:30] <valexey> если его переписать, то да :-)
[20:19:31] <ilovb> Он просто отформатирован паршиво
[20:20:08] <ilovb> и даже известно почему :D
[20:20:18] <ilovb> В редакторе оберона стрелки не работают
[20:20:28] <valexey> его код абсолютно не гибкий. например его компилятор совершенно не способен (без серьезного рефакторинга) компилировать в несколько потоков.
[20:20:46] <ilovb> А там оно и не надо
[20:20:46] <valexey> ибо юзает, сволочь, глобальные переменные
[20:21:00] <valexey> и не является stateless
[20:21:00] <ilovb> Это конкретная реализация под конкретное использование
[20:21:33] <valexey> ну да. у Вирта вечно так - один пользователь, одна задача, один язык под одного разработчика и под одно железо
[20:21:34] <valexey> :-)
[20:21:54] <valexey> под такую задачу, там все более-менее норм. минималистично и достаточно.
[20:22:13] <valexey> но когда это поделие пытаются масштабировать и натянуть на всю отрасль...
[20:22:15] <valexey> ооой...
[20:22:22] <ilovb> valexey: глобальные переменные - это придирки. Он же очевидно модуль как объект использует
[20:22:45] <valexey> как синглетон
[20:22:49] <ilovb> Ну замени тут модуль на RECORD - особо то ничего не поменяется
[20:23:00] <valexey> ибо в его системе модуль может быть только в виде одного инстанса загружен
[20:23:14] <ilovb> угу
[20:25:23] <valexey> в общем, у Вирта в принципе довольно обычный код. которого я видел предостаточно. бывает лучше, бывает хуже. бывает СИЛЬНО лучше
[20:25:56] <valexey> Баги есть. Хаки тоже есть. Всё как у всех :-)
[20:26:11] <ilovb> Тут два момента
[20:26:30] <ilovb> В данном случае модуль тупо удобнее чем RECORD
[20:26:38] <ilovb> Типа эмуляция ООП
[20:26:56] <ilovb> второй момент: это код для студентов же
[20:27:11] <valexey> правильно. пусть страдают!
[20:27:16] <ilovb> :D
[20:27:38] <ilovb> Ну компилятор Go написан на пару порядков лучше
[20:27:39] <valexey> итого, в Обероне нет нормального ООП, но ООП хочется. Поэтому давайте все фигачить на синглетонах, ака модулях!
[20:27:45] <valexey> Ура, товарищи!
[20:27:47] <ilovb> но студент в нем заебется разбираться
[20:29:00] <valexey> ну, мы же вначале студенту покажем gcc, точнее его c++ фронтенд.
[20:29:07] <valexey> а потом уже Гошный компилятор дадим :-)
[20:29:13] <valexey> после плюсового думаю он обрадуется
[20:29:13] <ilovb> :D
[20:29:23] <ilovb> хороший/плохой полицейский?
[20:29:40] <valexey> ага
[20:32:35] <valexey> ilovb: а черепашки круты
[20:32:53] <ilovb> ага
[20:33:05] <ilovb> помимо черепашек в те времена еще че то было
[20:33:05] <valexey> хороший аргумент для тех, кто считает что человечество до луны так и не долетело, агументируя тем, что МОЩНЫХ КОМПОВ НЕ БЫЛО.
[20:33:12] <ilovb> но я не помню что именно
[20:33:18] <ilovb> надо гуглить
[20:35:40] <ilovb> во
[20:35:55] <ilovb> книга "Машины: эксперименты с синтетической психологией"
[20:36:04] <ilovb> вроде че то там годное было
[20:36:15] <ilovb> но перевода на русский ее вроде нет
[20:36:31] <valexey> ну и ладно. кому нужен перевод? :-)
[20:36:55] <ilovb> https://myrobot.ru/articles/stuff_braitenberg.php
[20:37:14] <ilovb> точно
[20:37:25] <ilovb> "МАШИНКИ БРАЙТЕНБЕРГА" - вот это было помимо черепашек
[20:37:40] <valexey> на русском по теме вообще не особо много. т.е. достаточно много на тему теории управления, что к робототехнике очень близко. её базис. но вот что-то именно в плане роботов современных - кот наплакал.
[20:38:08] <ilovb> да на русском ваще какой-то срез реальности только
[20:38:18] <ilovb> унылый....
[20:39:06] <valexey> ну, не унылый. т.е. он хорош как дополнение к англоязычному срезу
[20:39:14] <valexey> но нельзя только в нем вариться.
[20:39:25] <ilovb> я имею ввиду что переведено
[20:39:49] <ilovb> переводят хз по какому принципу - куча годноты только на английском
[20:39:49] <valexey> так что дома у меня фильмы - на английском (ибо netflix), папиры - на ангийском, новости тоже, лекции - на английском. в общем, норм
[20:40:54] <ilovb> причем не просто годноты, а исторических наиважнейших вещей
[20:43:27] <valexey> многие знания - многие печали
[21:00:29] <ilovb> комменты к статье с++17 доставляют )
[21:00:55] <ilovb> https://habrahabr.ru/company/pvs-studio/blog/340014/#comment_10471826
[21:01:09] <ilovb> И ведь он прав! )))
[21:02:07] <ilovb> Я вот хотел поколупаться в современных дельфях
[21:02:16] <ilovb> но чет не уидел бесплатной версии
[21:03:43] <ilovb> ахах https://habrahabr.ru/company/pvs-studio/blog/340014/#comment_10470876
[21:04:40] <valexey> ну, вообще то уже удаляют
[21:04:47] <valexey> точнее, кое-что уже удалили
[21:05:21] <ilovb> ну я думаю автор коммента имел ввиду когда будут больше удалять чем добавлять )
[21:06:06] <valexey> ну, когда мир IT начнет уменьшаться, а не расширяться, тогда и...
[21:06:08] <valexey> :-)
[21:06:24] <ilovb> или вселенная )
[21:06:35] <valexey> хы
[21:07:09] <valexey> не, ну допустим и железо и задачи перестали меняться. т.е. совсем. вот тут то какой-нибудь оберон рано или поздно догонит по качеству реализации плюсы
[21:07:15] <valexey> и может даже где-то поборет
[21:11:16] <ilovb> воу https://github.com/isocpp/CppCoreGuidelines
[21:11:22] <ilovb> чет интересное
[21:12:13] <valexey> да, видел, знаю.
[21:13:17] <valexey> https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#S-gsl
[21:13:24] <valexey> https://github.com/Microsoft/GSL
[21:14:07] <valexey> например вот: https://github.com/Microsoft/GSL/blob/be43c79742dc36ee55b21c5d531a5ff301d0ef8d/include/gsl/gsl#L59
[21:14:19] <valexey> // Restricts a pointer or smart pointer to only hold non-null values.

[21:14:34] <valexey> на этапе компиляции гарантирует, что указатель будет не нулевым.
[21:14:42] <ilovb> прикольно
[21:15:33] <valexey> и всё средствами языка :-)
[21:15:46] <valexey> а теперь расскажите наскоклько плюсы плохой и небезопасный язык :-)
[21:16:06] <valexey> в Аде такое делается только на уровне языка, а не либы.
[21:17:42] <ilovb> меня в плюсах пугает не отстрел ног
[21:17:48] <ilovb> а его необъятность
[21:18:16] <ilovb> слишком дохера особенносттей на квадратный сантиметр кода
[21:18:22] <valexey> ну, та же Ада тоже необъятна. и шарпец
[21:18:23] <ilovb> язык для профи
[21:18:35] <valexey> угу
[21:18:45] <ilovb> valexey: шарпец как то попроще по ощущениям
[21:18:55] <valexey> по ощущениям - да. но стандарт еще толще плюсового.
[21:18:56] <ilovb> в нем фич дохера, но они.... не отстрельные
[21:19:33] <ilovb> там сахара дофигище, который тащемта понятен и без изучения
[21:19:49] <valexey> но да, в плюсах надо разбираться. и нужна хм-гм.. некая склонность к любви поковыряться в интсрументе. выдвинуть гипотезу, спланировать эксперимент, поставить эксперимент. оценить результат.
[21:19:55] <valexey> сделать презентацию :-)
[21:20:27] <ilovb> это когда тебе 20 огонь
[21:20:33] <ilovb> а мне вот чет уже не прет
[21:20:48] <valexey> ну, меня прёт :-)
[21:20:51] <ilovb> да и времени нет
[21:21:01] <valexey> но это именно когда фултайм этим занимаешься.
[21:21:30] <valexey> если не занимаешься, а хочется посто что-то слабать дома побыстрому пока есть 2 часа времени, то ясное дело, с языком возиться не захочется. даже если это окупится через год.
[21:21:44] <ilovb> ага
[21:23:08] <valexey> не каждый проф. инструмент хорош для хобби или для pet project'a
[21:23:38] <valexey> это примерно как ASN.1 юзать для конфига hello world'a
[22:51:30] <vlad2> /me поборол Windows Defender.
[22:53:21] <vlad2> Привет BB - я б хотел посмотреть как бы там пришлось поизвращаться.