Что изменилось за 25 лет программирования для меня в геймдеве.
Если брать в целом, то сейчас время, которое раньше уходило на оптимизацию уходит на функционал.
Начинал c Turbo C во времена 386 без мат. сопроцессора и обычное умножение и деление было затратно по ресурсам даже для целочисленного типа.
Выполнять деление числа с плавающей точкой было непозволительная роскошь.
Библиотек на все случаи жизни не было. Даже декодирование формата PCX писал сам. Кто-то еще помнит про вызов функций BIOS через прерывания?
OpenGL был доступен для оооочень взрослых машин. Для реализации софтового рендера для PC приходилось осваивать затенение по Гуро, Фонгу самому.
3dfx с Glide был штукой дорогой и редкой. Потому только софт, только хардкор!
Битовый сдвиг для умножения/деления числе, массив со значениями синусов, косинусов, ассемблерные вставки, экономия каждого байта — реалии тех времен.
Пресловутый барьер по памяти 640кб (которой, как известно, хватит всем :-) ). Достать Watcom C++ с расширителем DOS4GW была та еще проблема.
Потому 4 Мб оперативки вроде и были, но использовать их было не так просто. Использование защищенного режима — та еще забава.
Отслеживание утечек памяти, неиспользуемых переменных и функций, мониторинг ресурсов, автоматическое форматирование кода и прочие вещи, которые сейчас делает IDE, раньше возлагались целиком на вас.
Документации не было толком. Лишь бумажные книги, конференции usenet и MSDN на дисках(это уже позже).
Сейчас есть Unity. Конструктор, где из кубиков можно собрать что-то красивое и бессмысленное буквально за день. Автоматическая сборка мусора, уйма библиотек на все случаи жизни. Тонны документации, примеров в интернете, Ютуб ролики и в целом низкий порог вхождения.
Платой за это является 20 мегабайтный exe с функционалом «Hello World!», сжирающий столько же оперативки.
Но зачем парится, современный компьютер и не такое стерпит.
Людской труд стоит гораздо дороже, чем условная железка. На оптимизацию в текущий реалиях тратится экономически невыгодно. И эта тенденция дальше будет лишь усиливаться.
Даешь больше тактов на сбор мусора, фоновую оптимизацию, интерпретацию, виртуальные машины! Больше гигабайт на обширный runtime, кэшируемые данные и непомерно разросшееся ядро OS!
Аналогично! После матового 4K 32 Бенка с вырвиглазным кристаллическим антиматом, IMac 27 2017 для 14 часового сидения в день перед монитором для меня оказался лучшим выбором, несмотря на приличную цену. Причем, как и в macOS, так и в Win10. Лучше монитора я в жизни не видел за более, чем 25 летнее сидение перед различными панелями. Следующий уровень — Apple XDR, т.к. всё уже на 27 не влазит. Честно пытался перейти на DELL и прочие, но нет, не то!
Да, сегментация. Ну у меня не пост обработка, а пре. С целью преобразовать входной набор перед распознанием и обучением, дабы облегчить жизнь сети. А то нейронке совсем плохо в части ошибок при работе с реальными данными. Не знаю, может это тупик. С другой стороны автопилот Теслы работает тоже не с чистыми данными, а с предварительно преобразованными.
В текущей реализации какой процент верного распознования получается?
Занимаюсь очень похожей задачей, но популярные сетки (YoloV3 и т.п.) не дают хорошего результата, если использовать регионы на фото в чистом виде. Пытаюсь улучшить показатели распознавания предварительной обработкой, перед тем как скормить сетке. Есть масса нюансов, когда объекты могут пересекаться, а то и сливаться с фоном и нужно очень точно определять градиент перехода объекта к объекту. Как у вас такие случаи распознаются?
В РФ ставка в ПФР и ФСС снижается, если доход нормальный ( от миллиона в год). Так что для тех, у кого все ОК с деньгами — налог еще и меньше (в процентах). В Штатах наоборот, чем доход выше, тем налог (в процентах) выше. Но в целом, затраты на налоги от зарплаты работника +- примерно равны.
У меня складывается ощущение, что из C++ пытаются сделать современный язык путем натягивания совы на глобус. Где нужна скорость, использую чистый C. Где надо быстро что-то сделать, использую C#. Кто для каких целей использует C++ с последними плюшками?
Взгляд программера (системщик, 25 лет опыта) на ОСи.
Windows 10 — это система наиболее близка к идеалу. Даже с учетом претензий (впрочем справедливых) к системе обновления, нелогичности организации мест настроек и многому другому. У самого стоит iMac. Провожу 90% времени в Windows 10. Взял лишь из-за качественной 5K панели.
MacOS красиво. Но не более. ОС не является конечным предметом использования, в большинстве случае, а лишь служит средой для запуска приложений. А вот здесь печаль. И если Linux для WEB дизайна еще может предложить софт под себя для этого, а для MacOS — видеомонтаж, то во всем остальном, софт по Windows на порядок(на порядки) богаче выбор (и функционал).
Спорно. Уже сейчас скорость разработки и низкий порог вхождения являются одним из самых важных факторов в разработке. И как следствие — стоимость разработки. Objective-C здесь чуть лучше чем С++, но сильно хуже чем тот же Swift.
Если брать в целом, то сейчас время, которое раньше уходило на оптимизацию уходит на функционал.
Начинал c Turbo C во времена 386 без мат. сопроцессора и обычное умножение и деление было затратно по ресурсам даже для целочисленного типа.
Выполнять деление числа с плавающей точкой было непозволительная роскошь.
Библиотек на все случаи жизни не было. Даже декодирование формата PCX писал сам. Кто-то еще помнит про вызов функций BIOS через прерывания?
OpenGL был доступен для оооочень взрослых машин. Для реализации софтового рендера для PC приходилось осваивать затенение по Гуро, Фонгу самому.
3dfx с Glide был штукой дорогой и редкой. Потому только софт, только хардкор!
Битовый сдвиг для умножения/деления числе, массив со значениями синусов, косинусов, ассемблерные вставки, экономия каждого байта — реалии тех времен.
Пресловутый барьер по памяти 640кб (которой, как известно, хватит всем :-) ). Достать Watcom C++ с расширителем DOS4GW была та еще проблема.
Потому 4 Мб оперативки вроде и были, но использовать их было не так просто. Использование защищенного режима — та еще забава.
Отслеживание утечек памяти, неиспользуемых переменных и функций, мониторинг ресурсов, автоматическое форматирование кода и прочие вещи, которые сейчас делает IDE, раньше возлагались целиком на вас.
Документации не было толком. Лишь бумажные книги, конференции usenet и MSDN на дисках(это уже позже).
Сейчас есть Unity. Конструктор, где из кубиков можно собрать что-то красивое и бессмысленное буквально за день. Автоматическая сборка мусора, уйма библиотек на все случаи жизни. Тонны документации, примеров в интернете, Ютуб ролики и в целом низкий порог вхождения.
Платой за это является 20 мегабайтный exe с функционалом «Hello World!», сжирающий столько же оперативки.
Но зачем парится, современный компьютер и не такое стерпит.
Людской труд стоит гораздо дороже, чем условная железка. На оптимизацию в текущий реалиях тратится экономически невыгодно. И эта тенденция дальше будет лишь усиливаться.
Даешь больше тактов на сбор мусора, фоновую оптимизацию, интерпретацию, виртуальные машины! Больше гигабайт на обширный runtime, кэшируемые данные и непомерно разросшееся ядро OS!
Занимаюсь очень похожей задачей, но популярные сетки (YoloV3 и т.п.) не дают хорошего результата, если использовать регионы на фото в чистом виде. Пытаюсь улучшить показатели распознавания предварительной обработкой, перед тем как скормить сетке. Есть масса нюансов, когда объекты могут пересекаться, а то и сливаться с фоном и нужно очень точно определять градиент перехода объекта к объекту. Как у вас такие случаи распознаются?
Windows 10 — это система наиболее близка к идеалу. Даже с учетом претензий (впрочем справедливых) к системе обновления, нелогичности организации мест настроек и многому другому. У самого стоит iMac. Провожу 90% времени в Windows 10. Взял лишь из-за качественной 5K панели.
MacOS красиво. Но не более. ОС не является конечным предметом использования, в большинстве случае, а лишь служит средой для запуска приложений. А вот здесь печаль. И если Linux для WEB дизайна еще может предложить софт под себя для этого, а для MacOS — видеомонтаж, то во всем остальном, софт по Windows на порядок(на порядки) богаче выбор (и функционал).
ЛГБТ (LTSB) на 100 р. дороже, чем home версия на ебее. Итого обойдется рублей 400, не меньше!