Размытая абстракция что такое
Абстракция — что это такое и как абстрактное мышление (абстрагирование) помогает увидеть суть
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Вспомните скучные уроки в школе или университете, на которых вам хотелось спать. Что в них было общего? Обилие научных понятий, общих тезисов (что это такое?) и размытых формулировок.
Вводный теоретический урок предполагает работу с абстракциями. Из-за них он такой обобщённый, как бы оторванный от предмета.
Что такое абстракция? Зачем она нужна? И как она связана с другими сложными понятиями: абстрагированием, абстрактным мышлением? В этой статье мы разберём все вопросы по полочкам. Поехали!
Абстракция и абстрагирование — это упрощение реальности
Абстракция – это мысль, которая родилась в процессе абстрагирования (процесса исключения и отделения несущественного в данный момент, чтобы увидеть главное). Разочарованный читатель, наверное, подумал: «Ну вот, опять нет чёткого определения, а только размытая фраза». Наберитесь терпения, до истины (что это?) осталось совсем чуть-чуть.
У слова «abstractio» три варианта перевода с латыни:
Это мыслительные операции, которые проводит мозг над объектами реального мира в процессе абстрагирования. И появляются абстракции.
Вот несколько примеров для понимания.
Чтобы этого не произошло, вы отвлекаетесь от несущественных сторон, свойств и связей объекта. Выбрасываете из головы слои атмосферы, химический состав и формируете общую мысль – «небо».
Так вот, «небо» — это и есть абстракция. Вы можете пойти дальше и выделить другие существенные признаки объекта: цвет, погоду, время суток. Тогда возникнут такие абстрактные понятия: «голубое небо», «пасмурное небо», «ночное небо».
Например, связи с банковским учреждением и работодателем. Разве вам интересно, какой длинный путь прошли титульные знаки перед тем, как оказались в вашем кошельке? Вряд ли. Важно то, что это деньги.
Таким образом, вы постоянно занимаетесь абстрагированием и порождаете абстракции. Без этого процесса голова бы просто лопнула от мыслей.
Тогда почему так трудно высидеть на скучных лекциях?
Абстрактные понятия — это высшая форма абстракции
Обобщать можно не только объекты реального мира, но и сами абстракции. Так формируются абстракции высокого порядка – абстрактные понятия. Ими оперируют фундаментальные и точные науки, чтобы описывать сложные закономерности.
Рассмотрим упрощённый пример того, как рождается абстрактное понятие.
На землю выпали атмосферные осадки из кристалликов льда. Это снег. Небо полностью закрыто облаками. Небо и снег белые. На улице белизна.
«Белизна» — это абстрактное понятие. Попробуйте его обобщить. Не получится. Другие примеры абстрактных понятий: истина, справедливость, время, вещество, информация.
От простой абстракции до её высшей формы иногда проходит так много мыслительных этапов, что абстрактное понятие оказывается сильно оторванным от реальности и сложным для восприятия.
Поэтому так трудно слушать теоретические лекции преподавателя.
Виды абстракций
Абстрагирование – это мыслительный процесс, который преследует определённую цель. Вычленить какой-то существенный признак, получить общую картину явления или выработать идеальную схему.
В зависимости от цели абстрагирования выделяют три вида абстракций.
Цель – получить общую картину явления. Для этого вы отвлекаетесь от частных признаков. Пример обобщающей абстракции – это математические уравнения. Они решаются по определённым правилам. Нет смысла мысленно «дробить» математические уравнения на цифры, плюс, минус, знак равенства, переменную.
Цель – выработать идеализированную схему объекта, отбросив несущественные реальные атрибуты. Идеализация – это метод познания, без которого не обходятся точные и естественные науки. Вспомните пресловутого «сферического коня в вакууме».
В реальности нет изолированных точек, прямых линий, времени. В отрыве от конкретного объекта их нельзя потрогать, измерить. Это абстракции, которые используются в математике и физике для описания закономерностей реальных явлений.
Что такое абстрактное мышление
Если абстрагирование – это процесс выработки абстракций, то абстрактное мышление – это оперирование ими.
Строгий экзаменатор критикует молодого человека, отвечающего слишком пространно: «Давайте ближе к предмету билета».
Почему студент так бросается умными фразами? Чтобы скрыть пробелы в знаниях, а то и полное их отсутствие. И в этом кроется суть абстрактного мышления.
Знания человека о реальном мире не являются полными, исчерпывающими, конкретными. Но ему нужно как-то ориентироваться среди неизвестных явлений и вещей, поэтому он мыслит абстрактно.
Если бы не было понятия времени, то как бы люди договаривались о встречах? Как бы учёные описывали новые галактики, не имея представления о форме, расстоянии, скорости, веществах? А как бы без общих понятий взаимодействовали науки?
Абстрактное мышление – это форма познания, которая позволяет выйти из интеллектуального тупика, хотя бы на обобщённом уровне описать неизвестные явления. С его помощью строят догадки и видят проблему с разных углов.
Вы стали свидетелем семейной ссоры. Вашему другу на телефон звонит жена, плачет, кричит, ругается. Какие выводы делает мозг?
Краткое резюме
Итак, если говорить совсем уж простым языком, то термин, вынесенный в заголовок этой статьи, представляет из себя общую мысль, которая приближает нас к сути объекта (явления).
Абстракция – это посредник между человеком и сложным миром с его тайнами, законами.
Глупо противопоставлять конкретные понятия абстрактным, потому что без последних невозможен сам процесс познания.
Автор статьи: Наталья Белоусова
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
Эта статья относится к рубрикам:
Комментарии и отзывы (8)
Спасибо за развернутую и крайне понятную подачу материала, выручили!
Автор статьи явно молодец.
Абстрактное мышление может быть очень полезно при решении любых задач, причем как теоретических, так и практических. Жаль только, что в школах и других учебных заведениях толком не учат правильным и эффективным методикам.
Мы можем мыслить абстрактно, чтоб объяснить для себя некоторые неосязаемые категории, однако дальше этого, навыки мышления идут редко.
Это всё здорово, но вот когда так называемый художник выплескивает на полотно свои абстрактные идеи, вот тут не по себе становится. Одно дело создание абстракции для решения задач, совсем же другое, когда абстракция создается ради самой абстракции или для подтверждения бредовых идей.
Что такое абстракция и как её понять
Термин может применяться к искусству, в основе которого лежит объект, фигура или ландшафт, где формы были упрощены или представлены схематично. Он также применяется к искусству, использующему такие формы, как геометрические фигуры или жестовые знаки, которые вообще не имеют источника во внешней визуальной реальности.
Некоторые художники этой «чистой» абстракции предпочитают такие термины, как «конкретное искусство» или «необъективное искусство», но на практике слово «абстракция» используется повсеместно, и различие между ними не всегда очевидно.
Абстрактное искусство часто рассматривается как несущее моральное измерение в том смысле, что оно выступает за такие добродетели, как порядок, чистота, простота и духовность. С начала 1900-х годов абстрактное искусство сформировало центральный поток современного искусства.
Василий Кадинский
Казаки
1910-1911
В начале 20-го века экспрессионистские работы включали в себя интенсивный цвет и не натуралистическую кисть, часто основанную на внутренних чувствах художника.
Кандинский видел в своих абстрактных картинах альтернативный путь к духовной реальности.
Хуан Гри
Бутылка рома и газеты
Кубизм всегда начинался с предмета из реальности (часто это объекты и фигуры), а затем его элементы разбивались на отдельные области или плоскости, показывая разные точки зрения в одно и то же время.
Кубизм непосредственно влиял на другие формы абстракции.
Соня Делоне
Электрические призмы
1913
Орфизм. Название происходит от музыканта Орфея из древнегреческих мифов, так как считалось, что живопись должна быть как музыка. Главные художники Роберт Делоне и Соня Делоне также использовали термин симултанизм для описания своих работ этого периода.
Казимир Малевич
Динамический супрематизм
1915 или 1916
Супрематизм. Малевич создал новую форму абстракции, чтобы освободить искусство от реального мира. Помимо «супрематического квадрата», Малевич разработал целый ряд форм, часто производимых в насыщенных цветах, плавающих на обычно белом фоне.
Моррис Луи
Альфа-Фи
1961
Невозможно догадаться, но на этой картине изображено поместье Морриса Луи. Пост-живописная абстракция. Эта форма абстракции больше, чем когда-либо, фокусировалась на основных элементах живописи: форме, цвете, фактуре, масштабе, композиции и была безжалостной, отвергая мистику и любые ссылки на внешний мир.
Виктор Вазарели
Баня
1964
Идея, выведенная древнегреческим философом Платоном, о том, что высшая форма красоты заключается не в формах реального мира, а в геометрии, также используется в обсуждении абстрактного искусства, как и идея абстрактного искусства, поскольку она не представляют материальный мир, можно увидеть, чтобы представлять духовный.
Абстракции в глазах смотрящего
Один из самых часто встречающихся мне споров — спор о выборе нужного уровня абстракции при кодинге. Граница между перегруженностью и ненужной многословностью очень размыта, она стала одним из причин бесконечных дебатов.
К сожалению, маловероятно, что эти споры будут когда-нибудь решены, по одной простой причине — универсального правильного ответа не существует. Простота кода в глазах смотрящего. Точнее, она сильно зависит от способности читающего воспринимать абстракции. То, что одному кажется чрезвычайным усложнением, идеально выразительно и понятно для другого. И оба имеют полное право на восхваление/порицание кода, а любые изменения идут одному из них в ущерб.
Простой пример
Некоторые считают, что все абстракции снижают простоту, но это неправда. Для примера изучим два фрагмента кода:
Первый фрагмент кода вообще не требует знать от вас абстракции Multimap. Вся функциональность второго примера в первом примере достигнута при помощи простого Map и ничего больше. Взгляните, как же просто! Если производительность нас не волнует, то, возможно, стоит отойти и от абстракции Map, использовав вместо неё просто примитивные массивы?
Тем не менее, многие сочтут, что со вторым фрагментом кода работать проще и легче. Особенно те, кому знакомы Multimap. После того, как поймёшь абстракцию, реализовав её один раз и многократно её применив, то получишь более простой код — единственное put() содержит в себе большой объём знаний в легко усваиваемом виде. В психологии это называется «группированием» и является важным инструментом из арсенала мозга для управления сложностью.
Открытость к абстракциям
Однако недостаток второго подхода заключается в том, что когда с этим кодом встречается тот, кто ещё не «грокнул» эту абстракцию, она покажется ему более сложной, чем первый пример. Ему не просто сначала придётся осознавать эту абстракцию, он должен будет понять абстракцию целиком, а не только использованные в коде части.
Хуже того — для понимания этой абстракции ему нужно будет изучить что-то другое (совершенно другой метод/класс, который, в свою очередь, может ссылаться на ещё какие-то методы и классы). А потом возвращаться к коду, чтобы понять, как абстракция использована в этом конкретном контексте.
И в этом заключается причина трений. То, что одному кажется очень простым, кому-то другому кажется переусложнённым. И оба они правы — было бы ошибкой говорить, что код универсально «прост» или «сложен». Он «прост» или «сложен» только для читающего.
Приведённый выше пример может показаться надуманным, и это справедливо. Я намеренно выбрал абстракцию, которую легко понять, чтобы показать, что абстракции могут упрощать код. Это стоит подчеркнуть, потому что очень просто попасть в ловушку восприятия «абстракции всегда усложняют код». Когда дело касается абстракций, которые мы хорошо понимаем, то легко увидеть, что это не так. Реальная сложность возникает из-за абстракций, с которыми читающий ещё не сталкивался.
Допустим, в вашей кодовой базе есть какой-то многократно повторяющийся «паттерн».
Алиса видит, что этот паттерн можно выделить в полноценную абстракцию. Что эту абстракцию можно перенести в собственный класс или вспомогательный метод, чтобы её можно было логически сгруппировать и лаконично вызывать из различных мест. Боб способен понять достаточно быстро и считает, что код стал намного проще. Кэрол гораздо сложнее понять эту абстракцию, и она считает новый код переусложнённым бардаком.
За этим следуют оживлённые споры о том, является ли код «хорошим» или «плохим». Каждый думает, что он прав, и что код нужно изменить в соответствии с его мнением. Ни одна из сторон не осознаёт, что правы обе — тот же код, который Боб считает более простым для понимания, теперь стал сложнее для понимания Кэрол.
Важность выбора инструментов
Но это только половина истории. Очень важную роль могут играть и инструменты. Использование абстракций, вспомогательных методов и сторонних утилит может значительно повысить читаемость кода для разработчиков, применяющих мощные инструменты, например IDE. Просмотр нужного вспомогательного метода и переход к нему для лучшего понимания его нюансов становится вопросом одного клика.
Однако если разработчик предпочитает писать код в «Блокноте», тот же код становится понимать экспоненциально дольше. Ему приходиться использовать инструменты типа grep, чтобы сначала найти конкретный файл, содержащий код, открыть этот файл, перейти к конкретному методу и повторять весь этот процесс для каждого метода/абстракции, на которые выполняются рекурсивные ссылки.
Первый тип разработчиков с большей вероятностью предпочтёт краткость и сокрытие информации с помощью таких техник ООП, как вспомогательные классы/методы. Второй тип обычно склонен к встраиванию кода. «Просто помести всё в один файл, чтобы я мог прочитать весь код за раз!» Снова возникают перепалки относительно того, что «хорошо» и «плохо». Но ни одна из сторон не является правой или неправой — обе они оптимизируют собственную продуктивность в условиях ограничений своих инструментов.
Каков твой уровень абстракции?
Это приводит нас к неудобной правде об абстракциях. Будучи объективными, стремящимися к равенству инженерами, мы любим считать, что «хороший» код «хорош» для каждого, и что все программисты способны увидеть и оценить «хороший» код.
К сожалению, это просто неправда. «Хорошесть» кода совершенно относительна. То, что «хорошо» для одного, может быть «переусложнённым уродством» для другого, и «дублированным многословным бардаком» для третьего.
Такая ситуация складывается не потому, что «хороший код» субъективен, это не так. Хороший код по определению объективно очень хорошо влияет на продуктивность программистов. К сожалению, один и тот же код может повысить производительность одних разработчиков и снизить продуктивность других.
В качестве полезной аналогии можно привести уровень чтения. Уровни чтения людей сильно варьируются, и их читательские предпочтения сильно коррелируют с уровнем чтения. Некоторым читателям больше подходит использование кратких и абстрактных слов, описывающих сложные мысли. Такие читатели ценят использование слов наподобие «капитулировать», «солидарность» и даже «абстрактный».
Другим же такие слова кажутся раздражающими и им больше подходят их более простые аналоги. Такими аналогами могут быть «сдаться», «поддержка», «высокого уровня» … или просто замена слова целой фразой, выражающей ту же мысль. Аналоги при этом более многословны или не передают то же богатство значений.
То же самое можно сказать и о способности читать код. Некоторые программисты «читают» на уровне выпускников вузов. Они способны быстро понимать абстракции, даже многоуровневые, ценить вносимую ими краткость и логическое группирование. Они отдают преимущество таким принципам, как Don’t-Repeat-Yourself, Single-Level-of-Abstraction и Small-Functions.
А некоторые программисты «читают» на уровне шестого класса школы. Им очень сложно понимать абстракции и умещать в своей голове разные уровни абстракций. Они предпочитают меньшее количество уровней абстракций, даже если это означает многократное повторение или встраивание всей функциональности.
Оба типа программистов будут утверждать, что их цель — простота. И оба типа правы. Реальное отличие между ними в том, что один использует абстракции как инструмент для борьбы со сложностью, а другой воспринимает абстракции как причину сложности.
Ищем баланс
Часто говорят о «правильных» и «неправильных» способах писать код, и во многих случаях это очень полезно. Некоторые абстракции обеспечивают замечательную краткость и группирование, оставаясь при этом простыми и лёгкими в понимании. Допустим, никто и не мечтает встраивать в код такие абстракции, как ArrayList, или HashMap, или Heap.
Но существуют и другие абстракции, обычно сокрытые от глаз в плохо поддерживаемых кодовых базах. Они обеспечивают минимальную краткость, оставаясь комплексными и сложными в понимании.
Во многих случаях вторые можно рефакторить в первые таким образом, чтобы новый код объективно был качественнее старого. Если такие возможности существуют, то мы определённо должны ими пользоваться и совершенствовать свои способности в создании правильно спроектированных абстракций. Писатели книг часто призывают по возможности пользоваться словами попроще, и то же самое определённо справедливо и для программистов.
Однако как бы мы не старались, всегда существуют трения между предоставляемыми абстракциями преимуществами и усилиями, необходимыми для понимания этих абстракций. Когда такие трения выходят на поверхность, нужно осознать, что не существует «правильных» или «ошибочных» ответов, и что нужно соответствовать уровню способностей своей аудитории.
Здесь нам сильно поможет описанная выше аналогия с чтением. Если вы Дональд Трамп, то лучше всего общаться со своей аудиторией, разговаривая на уровне пятого класса школы. Если же вы автор, пищущий для NYTimes, то аудитории больше подойдёт, если вы будете писать на уровне десятого класса.
Если вы один из тех, кто недолюбливает используемые коллегами абстракции, задайтесь вопросом — есть ли способ упростить эти абстракции, сохранив при этом их преимущества. Если да, то вы нашли более совершенное решение и вам стоит рекомендовать его в качестве альтернативы. Если нет, то, вероятно, вам стоит попробовать повысить свой «уровень чтения». Этот навык послужит вам хорошую службу на протяжении всей карьеры.
Если вы один из тех, чьи коллеги постоянно жалуются на «переусложнённость» (overengineering) кода, задайтесь вопросом — есть ли способ сделать его проще без добавления излишней многословности. Если да, то это определённо стоит сделать. Если нет, примите тот факт, что ваши абстракции недостаточно доступны для коллег. Соответствуйте своей истинной, а не желаемой аудитории.
NYTimes не случайно пишет на уровне десятого класса, а ABC news — на гораздо более простом уровне. Ни один из источников нельзя назвать «правым» или «неправым» — оба они обслуживают свою целевую аудиторию. Стремитесь поступать так же в своём коде.
На правах рекламы
VDSina предлагает безопасные серверы на Linux или Windows — выбирайте одну из предустановленных ОС, либо устанавливайте из своего образа.
Абстракция. Техники рисования, в которых важна фантазия
Что нужно знать новичку?
Новичкам может показаться, что для рисования достаточно безграничной фантазии, которая сама «ляжет» на холст или бумагу, но это не совсем так. Изучить теорию цвета все-таки придется. Достаточно знать базовые понятия, принципы смешивания красок и их сочетания: насыщенность, малонасыщенность, теплые и холодные, основные и дополнительные, противоположные и родственные цвета.
Посмотрите на цветовой круг. Оттенки, расположенные друг напротив друга – это те самые противоположные цвета. Если обратить внимание на внешний край цветового круга, вы увидите, что все цвета как будто бы сгруппированы по 3: оттенки желтого, красного, синего и зеленого. В итоге получилось 4 группы, а цвета каждой из них и называют родственными.
С теплыми и холодными оттенками гораздо проще. Холодные цвета на цветовом круге справа, а теплые – слева. Чистые цвета называют насыщенными, а более сложные смеси – малонасыщенными. Это лишь некоторые понятия работы с цветом. Углубляться в эту область можно бесконечно.
Виды творчества, которые созданы для абстракций
Алкогольные чернила
Для творчества лучше обзавестись алкогольными чернилами фабричного качества. К примеру, в этом наборе для новичка есть все необходимое:
Приготовьте фен, именно с его помощью и получаются всевозможные разводы, переливы, фактуры и оттенки, а еще он помогает быстро сушить чернила во время работы. Кстати, испортить картину невозможно. Исправьте работу, вытерев неудавшиеся кусочки картины спиртом.
Флюид-арт
Флюид-арт – это техника рисования жидким акрилом. Именно благодаря ему получаются такие космические сюжеты. Чтобы познакомиться с флюид-арт, нужны следующие материалы:
Чтобы начать рисовать, нужно приготовить краски: смешайте акрил с медиумом и водой в стаканчике. Соотношение 2:2:1. То есть, из расчета на 10 мл. акрила вам понадобится 10 мл. медиума и 5 мл. воды. Тщательно перемешайте эту смесь.
А теперь начинается самое интересное. Вылив на основу подготовленные краски, наклоняйте холст в разные стороны, чтобы краска растекалась так, как вам нужно. Палочками можно провести линии, чтобы добиться разных визуальных эффектов.
Эпоксидная смола
Эпоксидная смола – это еще один материал для работы в стиле абстракционизм, который сейчас стремительно развивается. Эпоксидка не так проста, как остальные материалы, однако освоить ее все-таки можно. Для этого нужен двухкомпонентный состав эпоксидной смолы (смола и отвердитель) и пигмент. Особенность работы в том, что цвета не смешиваются между собой, а образуют отдельные зоны. Если вы совсем новичок, выберите набор для создания картины. Так вы не запутаетесь в материалах и сможете опираться на инструкцию в процессе работы.
До полного высыхания осталось 24 часа. Накройте картину коробкой, чтобы сохранить ее от пыли.
Эбру – это рисование на воде. Вот только художник готовит воду перед нанесением красок, добавляя туда загуститель. Это вещество сгущает жидкость и превращает его в вязкую массу, благодаря чему краски не тонут и не смешиваются между собой. С помощью спиц и гребней, а также других инструментов художник рисует абстракции и создает настоящие шедевры. А после переносит всю эту красоту на бумагу, опуская лист в жидкость.
Какие материалы вам пригодятся?
Картины с поталью
Поталь – это декоративный материал, который используется в интерьерной живописи. Серебристые, золотые, оттенки металла – это все дает поталь. Она бывает листовая, жидкая, а также в виде хлопьев или ваты.
Что понадобится для творчества?
После того, как вы нарисуете абстракцию акрилом, приходит время потали. Кусочки потали приклеивают к сырой краске, вдавливая края поглубже. А после высыхания картины на золотые области наносят лак-герметик.