March 7, 2018

Образовательный кризис

Мне очень больно наблюдать образовательный кризис в нашей стране. Я переживаю его как личную трагедию. Эту заметку меня заставил написать случай, который произошел в одном из чатов на программистскую тематику.

В один из дней участник чата выложил фотографию теоретических задач, которые ему выдали на собеседовании. Среди прочих задач и вопросов были такие: "Сколько бит в байте? Переведите число из десятичной системы в шестнадцатеричную. Посчитайте количество бит в числе". Меня удивила реакция начинающих программистов:

— Ха-ха-ха! Где это в реальных проектах нужно считать количество бит в байте?
— Пффф... Что за идиотские задания, зачем это нужно фронтендщику?

Драма разыгралась уже на следующий день. Один из участников чата обратился за помощью с такой вот проблемой:

— Спасите! Помогите! Складываю 0,1 и 0,2 и в результате получаю не 0,3, а 0,30000000000000004!

Те люди, которые еще вчера высмеивали задания про биты в байте, уже сегодня спотыкнулись о свое невежество и нежелание изучать фундаментальные основы работы компьютеров.

Современные компьютеры — дискретные. Числа хранятся как целые и вещественные. Вещественные хранятся в формате с фиксированной точкой или в формате с плавающей точкой. Основная особенность, что вес каждого разряда: кратный двойке. Для целых чисел это 2⁰, 2¹, 2², 2³ и так далее. А для дробей то же самое, но в знаменателе: 2⁻¹, 2⁻², 2⁻³ и так далее. Т. е. 0,5, 0,25, 0,125 и так далее. Если у нас на дробную часть отводится два двоичных знака, то мы можем записать числа кратные 0,25: 0, 0,25, 0,5, 0,75, 1 и так далее. Но с такой разрядной сеткой не получится записать ни 0,2, ни 0,1 ни 0,3.

А сколько еще разных курсов и дисциплин, которые игнорируются современным обществом программистов? Дискретная математика, алгебра, высшая математика, теория графов, теория вероятности, статистика, структуры данных и алгоритмы, объектно-ориентированное программирование, системы управления базами данных, системотехника, теория информации и кодирования, математическое моделирования и так далее до полных четырех лет бакалаврата.

Геополитический кризис привел к экономическому кризису. Экономический привел к культурному. Культурный привел к образовательному. Образовательный привел к профессиональному. Профессиональный ведет к промышленному кризису.