Jump to content

Минимализм (компьютерный)

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

История [ править ]

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

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

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

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

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

Google Chrome Браузер и ChromeOS часто называют примерами минималистского дизайна. [8] [9]

Другим примером является Windows 8 , где Microsoft реализовала «простой, квадратный» внешний вид Metro , который был менее требовательным к графике, чем предыдущий интерфейс Aero, использовавшийся в Windows 7 и Windows Vista . Это изменение было внесено отчасти из-за появления небольших устройств с батарейным питанием и необходимости экономить энергию. [10] [11] [12] В седьмой версии Apple от iOS были внесены аналогичные изменения из соображений удобства пользователей . [13]

Использование [ править ]

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

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

Разработчики языков программирования могут создавать минимальные языки программирования, избегая синтаксического сахара и обширных библиотечных функций . Такие языки могут оказаться тупицами Тьюринга из-за отсутствия стандартной поддержки общих задач программирования. Создание минимального интерпретатора Lisp — обычная учебная задача, которую ставят перед студентами, изучающими информатику . [18] Лямбда -исчисление , разработанное Алонзо Чёрчем, представляет собой минимальный язык программирования, который использует только определения функций и приложения функций. [19] [20] Схема , [21] [22] Далее , [23] и вперед [24] [25] приводятся в качестве примеров практических, минимальных языков программирования.

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

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Хаген, Уильям фон (13 мая 2010 г.). Библия Ubuntu Linux: Ubuntu 10.04 LTS . ISBN  9780470881804 .
  2. ^ «Пять причин, почему Emacs всегда будет лучше» .
  3. ^ «Мой опыт работы с Lisp и разработка GNU Emacs» . ...Я стремился сделать абсолютно минимальную реализацию Lisp. Размер программ вызывал огромную озабоченность. В те времена, в 1985 году, были люди, у которых были одномегабайтные машины без виртуальной памяти. Они хотели иметь возможность использовать GNU Emacs. Это означало, что мне пришлось сделать программу как можно меньшей. Например, в то время единственной конструкцией цикла была while , которая была чрезвычайно простой. Не было никакого способа выйти из оператора while, вам просто нужно было выполнить catch и throw или протестировать переменную, которая запускала цикл. Это показывает, как далеко я зашел, чтобы сделать вещи маленькими. У нас не было «каар», «кадр» и так далее; «выжать все возможное» — таков был дух GNU Emacs, дух Emacs Lisp с самого начала.
  4. ^ «dwm — динамический оконный менеджер» .
  5. ^ ne был написан с целью экономного использования ресурсов.Были предприняты все возможные усилия, чтобы сократить использование процессорного времени ипамять, количество системных вызовов и количество выводимых символов.к терминалу. -- новая информационная страница
  6. ^ Стрикленд, Джонатан (12 февраля 2009 г.). "HowStuffWorks "Чем отличаются ноутбуки, нетбуки и ультра-моби" " . Computer.howstuffworks.com . Проверено 8 июля 2013 г.
  7. ^ «5 способов увеличить время автономной работы вашего приложения» .
  8. ^ «Google Chrome Cr-48, образец минималистского дизайна» . Журнал ПК . 13 декабря 2010 г.
  9. ^ Пилчер, Пэт (13 июля 2009 г.). «Битва браузеров – кто хозяин сети?» . Независимый . Лондон. Архивировано из оригинала 15 мая 2022 года.
  10. ^ Чанг, Александра (21 мая 2012 г.). «Microsoft отказывается от пользовательского интерфейса Aero Glass в Windows 8 | Лаборатория гаджетов» . Проводной . Wired.com . Проверено 8 июля 2013 г.
  11. ^ Маккракен, Гарри (22 мая 2012 г.). «Windows Aero: почему я рад, что он мертв | TIME.com» . Время . Techland.time.com . Проверено 8 июля 2013 г.
  12. ^ В 2009 году настольные компьютеры занимали 44% мирового рынка, а ноутбуки — 56%. Всего 3 года спустя более 61% проданных ПК составляют ноутбуки, и эта тенденция ускоряется — это глобальный показатель, если учитывать все проданные ПК с Windows. Среди потребителей в США, покупающих ПК в этом году, более 76% купят ноутбуки — абсолютное количество всех проданных настольных компьютеров в США будет меньше, чем количество планшетов в 2012 году!
  13. ^ «Почему Джони Айв убивает скевоморфизм в iOS 7» . 10 июня 2013 г.
  14. ^ «Создание крошечного исполняемого файла Mach-O» .
  15. ^ «Минималистическое программирование какао» .
  16. ^ «Дружелюбен к окружающей среде» . Архивировано из оригинала 2 февраля 2014 года . Проверено 31 января 2014 г. Эта операционная система предназначена для работы на процессорах Pentium2 с 256 МБ оперативной памяти, при этом даже жесткий диск не требуется. Раскройте весь потенциал компьютеров даже с помощью подержанного ПК.
  17. ^ «Искусство программирования для Unix» . В статье 1974 года, опубликованной в журнале Communications of the ACM, Unix впервые была представлена ​​публике. В этой статье ее авторы описали беспрецедентно простую конструкцию Unix и сообщили о более чем 600 установках Unix. Все они были на машинах, недостаточно мощных даже по меркам того времени, но (как писали Ричи и Томпсон) «ограничения способствовали не только экономичности, но и определенной элегантности дизайна».
  18. ^ «Создайте свой собственный Лисп» .
  19. ^ Стюарт, Том (15 мая 2013 г.). Понимание вычислений . ISBN  9781449330118 .
  20. ^ «7 строк кода, 3 минуты: реализация языка программирования с нуля» .
  21. ^ «Эволюция Лиспа» (PDF) . В первоначальном отчете о Scheme [Sussman, 1975b] описывается очень скудный язык с минимумом примитивных конструкций, по одной на концепцию. (Зачем брать два, если достаточно одного?)
  22. ^ "Схема-faq-общее" . Схема — это диалект Лиспа, который подчеркивает концептуальную элегантность и простоту.
  23. ^ Бьянкуцци, Федерико; Хроматический (21 марта 2009 г.). Вдохновители программирования: беседы с создателями основных языков программирования . ISBN  9780596555504 . Форт — компьютерный язык с минимальным синтаксисом.
  24. ^ "Идти" . Go — это язык программирования с открытым исходным кодом, который позволяет легко создавать простое, надежное и эффективное программное обеспечение.
  25. ^ «Интервью с Кеном Томпсоном» . ... мы начали с идеи, что всех нас троих нужно обсудить с каждой функцией языка, чтобы в язык не добавлялось постороннего мусора по какой-либо причине.
  26. ^ «Wik Wiki Wiki на 1287 символов PHP» .
  27. ^ Джон Миллар Кэрролл (1998). Минимализм за пределами Нюрнбергской воронки . Кембридж, Массачусетс: MIT Press. ISBN  0-262-03249-Х . Проверено 21 ноября 2007 г.
  28. ^ Рен, К.; Рейнольдс, К. (2004). «Минимализм в повсеместном дизайне интерфейсов» (PDF) . Персональные и повсеместные вычисления . 8 (5). Спрингер: 370–373. дои : 10.1007/s00779-004-0299-2 . S2CID   14851897 . Проверено 29 июля 2008 г.
  29. ^ «Узбл — инструменты веб-интерфейса, соответствующие философии unix» . Общая идея заключается в том, что Узбл по умолчанию очень простой.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1ee06d6b654a9ac593b85ddec51983d5__1712411160
URL1:https://arc.ask3.ru/arc/aa/1e/d5/1ee06d6b654a9ac593b85ddec51983d5.html
Заголовок, (Title) документа по адресу, URL1:
Minimalism (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)