Спортивное программирование и старость
От: mrTwister Россия  
Дата: 01.03.21 12:07
Оценка: 44 (5) +4
Когда-то в давно я занимался олимпиадным программированием. Побеждал на школьных олимпиадах, поступил в университет без экзаменов, выступал за вуз (тут правда без особых успехов). С тех пор утекло много воды, почти двадцать лет я после этого занимался промышленным программированием, тимлидил команды. И вот, интереса ради решил тряхнуть стариной, зарегистрировался на https://leetcode.com/ и порешал задачки. Честно скажу, было страшно: возраст все-таки, мозги стареют, костенеют. И с удивлением обнаружил, что я сейчас себя 20-летного в олимпиадном программировании бы обыграл по полной. У меня 20-летного бы просто не было шанса ни единого. Раньше я как задачи решал: писал много лапша-кода, потом долго его отлаживал, потом время заканчивалось. Сейчас я думаю в более высокоуровневых абстракциях и код начинает работать почти сразу, на задачу много времени не трачу. В общем, возраст в программировании не так уж и решает даже в алгоритмических задачах, не говоря уже об архитектуре. Может быть, конечно, если касаться условно "спорта высших достижений", то там молодой возраст может дать какое-то преимущество, не знаю. Я говорю про обычного программиста, то есть себя.
лэт ми спик фром май харт
Re: Спортивное программирование и старость
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 01.03.21 12:31
Оценка: +2
Здравствуйте, mrTwister, Вы писали:

T>В общем, возраст в программировании не так уж и решает даже в алгоритмических задачах, не говоря уже об архитектуре.


Мне становится лень, очень лень изучать новые фреймворки и переписывать под них код. И поймал себя на мысли, что хочется всё оставить по старому, лишь только сменить фасад. Но иногда это очень плохо, надо именно что следовать рекомендациям от авторов, чтобы добиться максимума.
Re[2]: Спортивное программирование и старость
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 01.03.21 15:22
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>изучать новые фреймворки и переписывать под них код.


А насколько часто нынче встречаются не фреймворки, куда нужно вставлять свой "вторичный" (то есть, вызываемый из фреймворка, который сам всем рулит) код, а библиотеки, функциональность которых можно гибко задействовать из своего "первичного" кода (с возможностью организации обратных вызовов, само собой)?
Re[3]: Спортивное программирование и старость
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 01.03.21 16:03
Оценка: 5 (1)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А насколько часто нынче встречаются не фреймворки, куда нужно вставлять свой "вторичный" (то есть, вызываемый из фреймворка, который сам всем рулит) код, а библиотеки, функциональность которых можно гибко задействовать из своего "первичного" кода (с возможностью организации обратных вызовов, само собой)?


Кажется, что в нейросетях сейчас рулят исключительно фреймворк, где ты лишь собираешь из кирпичиков свою архитектуру и как-то жонглирует процессом обучения (TensorFlow, PyTorch, Keras, Darknet).
Потом, когда дело доходит до продакшена, то становится поразнообразней. Тут уже C++ вместо Питона, можно всячески оптимизировать пайплайн, параллелить, что-то придумывать. Потом код вырастает до того, что поддерживает выполнение на куче устройств и куче разных библиотек. Тут случается чуть ли не комбинаторный взрыв: Windows или Linux, x86 или ARM, CPU или GPU (OpenCL, CUDA, TensorRT). Библиотеки: TensorFlow, TensorRT, OpenVINO, OpenCV, Darknet. Многие умеют разные комбинации, что-то где-то быстрее, а где-то нет. Кому-то хватает видеопамяти, а другим нет.
И это я ещё для мобильных не пишу и для спецвычислителей. Потом ещё думать, откуда видео и картинки получаются. Можно видео декодировать на разных устройствах разными декодерами. Иногда выгоднее запускать ffmpeg с декодером на CUDA, чтобы кадры сразу копировались во входной тензор, оставаясь в видеопамяти. Иногда нет, лучше аппаратным декодером. Как-то много телодвижений.
Re: Спортивное программирование и старость
От: johny5 Новая Зеландия
Дата: 05.03.21 08:15
Оценка: +1
Здравствуйте, mrTwister, Вы писали:

T>Когда-то в давно я занимался олимпиадным программированием.


Наверно повезло с работой. У меня та же фигня, но когда 20 лет спустя взялся за leetcode — освоился не сразу, hard задачки шли со скрипом. Пришлось освежать знания в разных местах.

Зато выписал себе детских журналов с олимпиадными задачками и "отжимаюсь" там. Разнообразие оч. помогает.
Re[2]: CodinGame
От: Qbit86 Кипр
Дата: 05.03.21 08:30
Оценка: 14 (3)
Здравствуйте, johny5, Вы писали:

J>Зато выписал себе детских журналов с олимпиадными задачками и "отжимаюсь" там. Разнообразие оч. помогает.


Попробуй CodinGame!
Глаза у меня добрые, но рубашка — смирительная!
Re[3]: CodinGame
От: johny5 Новая Зеландия
Дата: 05.03.21 11:49
Оценка:
Q>Попробуй CodinGame!

Оооо.. круто, дитю своему подкину!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.