вторник, 16 октября 2018 г.

IT Заметки. Когда аналитики просчитались.

Видя упрощения интерфейсов современных девайсов и программ большинство аналитиков предполагает, что нас ждет и упрощение разработки софта. Интерфейсы будут создаваться перетаскиванием контролов, программа обработки - перетаскиванием кубиков.
С внешней сороны может быть должно выглядить так, но люди хотят большего разнообразия и лучшего качества. Растет объем данных, растут нагрузки на каналы связи, усложняются алгоритмы. Сегодня частоты процессоров уже достигли своих пределов. Рост производительности компьютеров идет за счет параллеллизма. Каналы связи близки к физическим ограничениям пропускной способности. Куда расти в передачи данных непонятно - выше частота - уже не электроны, а фотоны и сужение зоны покрытия, шире полоса - сокращение количества абонентов.
Причем все это? А притом, что упрощение разработки и перетаскивание квадратиков требует создания универсальных алгоритмов и универсальных форм для универсальных данных, что резко повышает требование к производительности системы и к скорости передачи данных по каналам. Поэтому универсальные средства обработки данных предлагают только базовый простенький функционал. На базе них можно создать убогое приложение.
Хочешь удовлетворить свои требования - кастомизируй продукт. Ищи технологии, которые обеспечат тебе оптимальную скорость приложения и хороший дезайн. Поэтому растет применение отличных от реляционной аритектур хранения данных, используются нестандартные решения доступа к данным, собственные контролы, протоколы передачи данных. Сейчас стек технологий состоит не просто C# и SQL, ка 20-30 лет назад.
Вторая важная причина отсутствия универсальных продуктов - экономика. Чем больше функционала, чем дороже разработка. Сложность и затраты растут нелинейно. Универсальный продукт не может быть дешевым.
Третья причина - ошибки в ПО никто не отменял. Чем сложней продукт, тем их больше и сложнее их найти.

Поэтому ошибаются аналитики. Всеобщее упрощение не влияет на разработку. Там всегда все будет сложно.

Кстати, рост стека технологий и их постоянное совершенствование средств реализации програмных продуктов резко повышает требования к разработчикам. Воин-одиночка уже не катит, есть пределы человеческого мозга. Разработчик должен создавать продукт и  постоянно совершенствоваться и раширять свои возможности. Нужна команда. Нужна хорошая команда. Если команда плохая, ресурсов недостаточно или разработчику некогда развиваться, то продукт устареет еще до окончания разработки. Кто виноват? Разработчик или жадный заказчик?

Комментариев нет:

Отправить комментарий