Минимализм (вычисления) - Minimalism (computing)

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

История

В конце 1970-х - начале 1980-х программисты работали в рамках относительно дорогих и ограниченных ресурсов обычных платформ. Восемь или шестнадцать килобайта из ОЗУ был распространен; 64 килобайта считались огромным объемом и представляли собой все адресное пространство, доступное 8-битным процессорам, преобладающим в первых поколениях персональных компьютеров . Самым распространенным носителем информации была 5,25-дюймовая дискета емкостью от 88 до 170 килобайт. Жесткие диски емкостью от пяти до десяти мегабайт стоят тысячи долларов.

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

Одним из примеров программы, системные требования которой когда-то дали ей репутацию тяжеловесной, является текстовый редактор GNU Emacs , получивший бэкроним «Восемь мегабайт и постоянная подкачка» в эпоху, когда 8 мегабайт были большим объемом оперативной памяти. Сегодня парадигма Emacs, основанная в основном на текстовом буфере, использует гораздо меньше ресурсов, чем графические среды IDE с графическим интерфейсом в виде метафор рабочего стола с сопоставимыми функциями, такими как Eclipse или Netbeans . В своем выступлении на Международной конференции по Лисп в 2002 году Ричард Столлман указал, что минимализм был предметом заботы при его разработке GNU и Emacs, основываясь на своем опыте работы с Лиспом и системных спецификациях миникомпьютеров низкого уровня в то время.

По мере того, как возможности и системные требования обычного программного обеспечения для настольных ПК и операционных систем росли в течение 1980-х и 1990-х годов, а в разработке программного обеспечения преобладали команды, поддерживающие конфликтующие, причудливые методологии разработки программного обеспечения , некоторые разработчики приняли минимализм как философию и решили ограничить свои программы заранее определенный размер или объем. Сосредоточение внимания на оптимизации программного обеспечения может привести к созданию минималистичного программного обеспечения, поскольку программисты сокращают количество операций, выполняемых их программой, чтобы ускорить выполнение.

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

Google «s браузера Chrome и Chrome OS часто приводятся в качестве примеров минималистского дизайна. В Windows 8 , Microsoft решила отказаться от графического ресурсоемких Aero пользовательского интерфейса в пользу «простой, квадратная» Метро внешнего вида, который требует меньше системных ресурсов. Это изменение было сделано отчасти из-за появления более компактных устройств с батарейным питанием и необходимости экономии энергии. Версия 7 из компании Apple «s прошивкого сделала аналогичные изменения для взаимодействия с пользователем причин.

использование

Разработчики могут создавать максимально простые пользовательские интерфейсы , удаляя кнопки и диалоговые окна, которые потенциально могут запутать пользователя. Минимализм иногда используется в его значении изобразительного искусства , особенно в промышленном дизайне аппаратного устройства или темы программного обеспечения .

Некоторые разработчики пытались создать программы для выполнения определенной функции в минимальном количестве строк кода или минимальном размере скомпилированного исполняемого файла, возможном на данной платформе. Некоторые дистрибутивы Linux упоминают минимализм как цель. Примеры: Alpine Linux , Arch Linux , Puppy Linux , Bodhi Linux , CrunchBang Linux , dynebolic и Tiny Core Linux . Ранняя разработка системы Unix происходила на маломощном оборудовании, и Деннис Ричи и Кен Томпсон заявили, что, по их мнению, это ограничение способствовало «элегантности дизайна» системы.

Разработчики языков программирования могут создавать минимальные языки программирования, избегая синтаксического сахара и обширных библиотечных функций . Такие языки могут быть тьюрингом из-за того, что не предлагают стандартной поддержки для общих задач программирования. Создание минимального интерпретатора Лиспа - это обычная учебная задача, которую ставят перед студентами, изучающими информатику . Лямбда - исчисление , разработанное Алонзо Церковь является минимальным языком программирования , который использует только работать определения и функции приложение. Scheme , Forth и Go приводятся как примеры практических минимальных языков программирования.

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

Джон Миллар Кэрролл в своей книге « Минимализм за пределами нюрнбергской воронки» указал, что использование минимализма приводит к появлению «мгновенных» устройств, таких как видеоигры, банкоматы , машины для голосования и киоски в торговых центрах с минимальной кривой обучения, которая не требовать от пользователя чтения руководств. Пользовательские исследователи Интерфейсные были проведены эксперименты , предполагающие , что минимализм, как показано конструктивными принципами экономности и прозрачности , эффективности валиками и обучаемость. Минимализм подразумевается в философии Unix «все является текстовым потоком» и «делай одно и делай это хорошо», хотя современные дистрибутивы Unix / Linux не придерживаются этой философии так строго.

Смотрите также

использованная литература