1. Старые игры довольно просто устроены, для сомневающихся есть исходники игр id, которые можно как-нибудь поизучать на досуге: https://github.com/id-Software 2. Сложность программного обеспечения выросла настолько, что если раньше у вас в одном проекте мог условно "шарить" один программист, то теперь и их целый отдел до конца не знает, как оно работает на самом деле, в работе присутствует изрядная доля магии по типу "этот код не должен работать, но почему-то он работает". Приложения раньше были значительно проще, а сейчас у нас на среднем вебсайте ехала адаптивная вёрстка с красивыми анимациями под все устройства от мобильника до телевизора, чатбот, нейронка для изучения вкуса покупателей, рекламные библиотеки, фейсбук-контейнер и ещё черт знает что. 3. Чтобы унять постоянно растущую сложность программных систем, в кодовую базу вносят теперь системы для логгирования, аудита изменений, юнит- и прочее тестирование, чтобы поймать ошибки раньше чем они попадут в прод, потому что системы стали настолько сложны, что без дополнительного кода отследить все потенциальные подводные камни уже просто не представляется возможным. Разработанный код по максимуму переиспользуются, городятся дополнительные абстракции типа тех же паттернов проектирования, у которых, очевидно, есть оверхед. 4. Долго и качественно никого не интересует, всем нужно максимально быстро, потому что пока там твои программисты выдрачивают идеальную архитектуру и упражняются в имплементации всего по заветам отцов-основателей CS, конкуренты выкатят кривую поделку и займут весь рынок. 5. Среднее приложение эпохи конца девяностых-начала нулевых было написано под крайне узкий список платформ, пресловутые 512кб покемон под консоль нинтенды запускались, сюрприз, на одной платформе, что позволяет простую примитивную игру просто отполировать до блеска. Сейчас же всем нужна кроссплатформа, какой-нибудь Mono тащит за собой зоопарк платформозависимого кода в каждую сборку.
В общем, могу сказать, что это не проблема образования, это проблема того что программируемые системы стали сильно "больше" того, чем способен объять человеческий разум отдельно взятого индивида.
1. Старые игры довольно просто устроены, для сомневающихся есть исходники игр id, которые можно как-нибудь поизучать на досуге:
https://github.com/id-Software
2. Сложность программного обеспечения выросла настолько, что если раньше у вас в одном проекте мог условно "шарить" один программист, то теперь и их целый отдел до конца не знает, как оно работает на самом деле, в работе присутствует изрядная доля магии по типу "этот код не должен работать, но почему-то он работает". Приложения раньше были значительно проще, а сейчас у нас на среднем вебсайте ехала адаптивная вёрстка с красивыми анимациями под все устройства от мобильника до телевизора, чатбот, нейронка для изучения вкуса покупателей, рекламные библиотеки, фейсбук-контейнер и ещё черт знает что.
3. Чтобы унять постоянно растущую сложность программных систем, в кодовую базу вносят теперь системы для логгирования, аудита изменений, юнит- и прочее тестирование, чтобы поймать ошибки раньше чем они попадут в прод, потому что системы стали настолько сложны, что без дополнительного кода отследить все потенциальные подводные камни уже просто не представляется возможным.
Разработанный код по максимуму переиспользуются, городятся дополнительные абстракции типа тех же паттернов проектирования, у которых, очевидно, есть оверхед.
4. Долго и качественно никого не интересует, всем нужно максимально быстро, потому что пока там твои программисты выдрачивают идеальную архитектуру и упражняются в имплементации всего по заветам отцов-основателей CS, конкуренты выкатят кривую поделку и займут весь рынок.
5. Среднее приложение эпохи конца девяностых-начала нулевых было написано под крайне узкий список платформ, пресловутые 512кб покемон под консоль нинтенды запускались, сюрприз, на одной платформе, что позволяет простую примитивную игру просто отполировать до блеска. Сейчас же всем нужна кроссплатформа, какой-нибудь Mono тащит за собой зоопарк платформозависимого кода в каждую сборку.
В общем, могу сказать, что это не проблема образования, это проблема того что программируемые системы стали сильно "больше" того, чем способен объять человеческий разум отдельно взятого индивида.
Не означает ли это, что средства разработки говно, которое не соответствует реалиям современности?