Абстракция это что: Абстракция. Что такое «Абстракция»? Понятие и определение термина «Абстракция» – Глоссарий

Содержание

это, определение слова, понятие. Что такое Абстракция, значение, словарь, энциклопедия

— как на то указывает само слово — есть извлечение или отвлечение какого-нибудь содержания (какого-нибудь значения, общего признака и т. д.) из связного контекста, содержащего еще и другие элементы, комбинация которых, как нечто целое, является чем-то неповторимым или индивидуальным и потому не поддающимся сравнению. Единоразность, своеобразие и несравнимость мешают познанию; следовательно, другие элементы, ассоциируемые с каким-то содержанием, воспринятым в качестве существенного, будут рассматриваться как иррелевантные, не относящиеся к делу. Поэтому абстракция, или абстрагирование, есть та форма умственной деятельности, которая освобождает это содержание от своих ассоциаций с иррелевантными элементами с помощью отличения его от них, или, другими словами, путем дифференциации (см.). В широком смысле абстрактно все то, что извлечено из своей ассоциации с теми элементами, которые рассматриваются в качестве иррелевантных, несопринадлежащих представленному значению. Абстрагирование есть деятельность, присущая психологическим функциям (см.) вообще. Существует абстрагирующее мышление, равно как и чувство, ощущение и интуиция (см.). Абстрактное мышление выделяет какое-нибудь содержание, отличающееся мыслительными, логическими свойствами, из интеллектуально иррелевантной среды. Абстрактное чувство делает то же самое с содержанием, характеризующимся своими чувственными оценками; это относится и к ощущению, и к интуиции. Существуют, следовательно, не только отвлеченные мысли, но и отвлеченные чувства, которые Sully (Сулли) обозначает как интеллектуальные, эстетические и моральные. /93- V.II, ch.16/ Nahlowsky (Наловский) добавляет сюда все религиозные чувства. /94- S.48/ Абстрактные чувства содействовали бы, в моем понимании, высшим или идеальным чувствам Наловского. Абстрактные чувства я отношу к той же группе, что и абстрактные мысли. Абстрактное ощущение следовало бы обозначить как эстетическое ощущение в противоположность к ощущению чувственному (см. ), а абстрактную интуицию — как интуицию символическую в противоположность фантастической интуиции (см. фантазия и интуиция). В данной работе я связываю понятие абстракции с рассмотрением связанного с ним психоэнергетического процесса. Принимая по отношению к объекту абстрагирующую установку, я не позволяю объекту, как целому, воздействовать на меня; я концентрирую внимание на одной его части, исключая все прочие иррелевантные. Моя задача состоит в том, чтобы освободиться от объекта как единого и неповторимого целого и извлечь лишь одну из частей этого целого. Хотя осознание целого мне и дано, я тем не менее не углубляюсь в это осознание, поскольку мой интерес не вливается в целое как таковое, а отступает от него, прихватывая с собой выделенную из него часть и доставляя ее в мир моих понятий, мир, который уже готов или сконстеллирован для абстрагирования данной части объекта. (Я не могу абстрагироваться от объекта иначе, как при помощи субъективного установления понятий.) Интерес я понимаю как энергию, или либидо (см. ), которой я наделяю объект как ценностью или же которую объект привлекает к себе против моей воли или помимо моего сознания. Поэтому я представляю себе процесс абстракции наглядно, как отвлечение либидо от объекта, как утекание ценности от объекта в субъективное абстрактное содержание. Для меня поэтому абстракция сводится к энергетическому обесцениванию объекта. Другими словами, абстракция есть интровертирующее движение либидо (см. интроверсия). Я называю установку (см.) абстрагирующей тогда, когда она, с одной стороны, имеет интровертный характер, а с другой — ассимилирует часть объекта, воспринятую в качестве существенной, абстрактными содержания-ми, имеющимися в распоряжении субъекта. Чем абстрактнее содержание, тем более оно непредставимо. Я примыкаю к кантовскому пониманию, согласно которому понятие тем абстрактнее, чем больше в нем опущено отличий, присущих вещам /95- Bd.8, §6/, в том смысле что абстракция на ее высшей ступени абсолютно удаляется от объекта и тем самым достигает полнейшей непредставимости; такую абстракцию я называю идеей (см. ). Напротив, абстракция, которая обладает еще представимостью или созерцаемостью, является конкретным (см.) понятием.

Абстракция

Общая психология. Словарь. Под ред. А.В. Петровского

Абстракция [лат. abstractio — отвлечение] — одна из основных операций мышления, состоящая в том, что субъект, вычленяя какие-либо признаки изучаемого объекта, отвлекается от остальных. Результатом этого процесса является построение умственного продукта (понятия, модели, теории,…

Абстракция

Словарь Логики

Абстракция(от лат. abstractio — отвлечение)  — 1) процесс отвлечения от некоторых характеристик (свойств, отношений) изучаемых предметов и явлений, от реальных носителей интере­сующих нас характеристик; 2) результат этого отвлечения, пред­ставляющий собой некоторый абстрактный…

Абстракция

Символы; знаки; эмблемы: Энциклопедия / авт.-сост. В.Э. Багдасарян; И.Б. Орлов; В.Л. Телицын

АБСТРАКЦИЯ (от лат. abstractio — отвлечение) — в широком смысле символизирует отвлечение от конкретных свойств-предметов или от конкретных отношений между ними. Что же касается сферы искусства, та или иная степень абстракции присуща ему с момента его возникновения. Уже в эпоху…

Абстракция

Философский словарь

(от лат. abstractio — отвлечение) — 1) процесс отвлечения от некоторых характеристик (свойств, отношений) изучаемых предметов и явлений, от реальных носителей интересующих нас характеристик; 2) результат этого отвлечения, представляющий собой некоторый абстрактный предмет….

Абстракция

Философский словарь

— (от лат. absractio — отвлечение) — одна из форм представления отдельных сторон вещи в сознании человека, заключающаяся в мысленном отвлечении отдельных свойств и отношений вещей и выделении, вычленении какого-либо свойства или отношения. существует только в сознании человека…

Абстракция

Философский словарь

(от лат.-отвлечение): одна из главных мыслительных операций, при помощи которой человек познает окружающий мир. Мысленно он отвлекается от непосредственного чувственного восприятия и выделяет только некоторые его моменты. Эти моменты сохранившейся части восприятия, представления…

Абстракция

Философский словарь

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

Абстракция

Философский словарь

— процесс отвлечения от каких-либо свойств, связей объекта с целью выделения его общих, специфических или универсальных свойств, их рассмотрения «в чистом виде» по ходу решения теоретических и практических задач, осмысления духовных проблем. А. — это также и результат процесса…

Абстракция

Новейший философский словарь

АБСТРАКЦИЯ (лат abstractio — отвлечение, удаление — введено Боэцием как перевод греческого термина, употреблявшегося Аристотелем) — одна из важнейших операций мышления Мысль человека отвлекает нечто от непосредственно данного воспринимаемого представления и сохраняет этот. ..

Абстракция

Психологический словарь

(от лат. abstractio — отвлечение) — когнитивный процесс, в котором происходит вычленение из целостного предмета его отдельных свойств. служит базой для процессов обобщения — и образования понятий — . Эмпирическому и теоретическому уровням мышления соответствуют формальная…

Поделиться:


Понятие, виды и примеры абстракции. Абстрактное мышление — Новости Оптом

Содержание статьи:

  • Что это такое? Определение
  • Какой может быть абстракция? Примеры в жизни
  • Чем является абстрагирование? Определение
  • Абстрактное и конкретное
  • Виды абстракции
  • Что понимается под абстрактным мышлением
  • В чем польза отвлеченных понятий и мышления
  • В искусстве

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

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

Что это такое? Определение

Вам будет интересно:Философия возраста. Семилетние циклы жизни человека

Название этого термина происходит от латинского слова abstractio, которое переводится на русский язык, как «отвлечение». Именно в этом и заключается суть данного философского понятия.

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

Вам будет интересно:Абсолютный дух: понятие, теория

Говоря простым языком, это способ мысленного устранения ненужного, помогающий акцентировать внимание на главном. При этом важность может иметь как обобщенное, так и детальное.

Также данное понятие определяется как обобщение, достигнутое путем абстрагирования.

Какой может быть абстракция? Примеры в жизни

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

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

Но что возникает в голове при взгляде вверх? Просто слово «небо». Это пример естественной абстракции, не требующей специальных усилий. При этом в мозгу происходит отвлечение от известных смотрящему в небо человеку, но в данный момент времени ненужных подробностей и деталей. То есть нужный элемент определяется и вычленяется путем обобщения.

Вам будет интересно:Сознание, его происхождение и сущность. Проблема сознания в истории философии

Если же при взгляде вверх возникает в мыслях слово «тучи», то это уже более сложная абстракция. В ней задействуется не только обобщение, но и выделение конкретного, важного элемента. Однако она тоже является естественной, не требующей специального усилия.

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

Чем является абстрагирование? Определение

Примеры абстракции демонстрируют наличие определенных приемов в общении и, разумеется, образа мыслей. Совокупность этого и называется в философии абстрагированием. У этого понятия имеются два основных значения, которые являются родственными по смыслу, перекликаются между собой. Первое определяет данное понятие как сам процесс отвлечения или же способ, а второе – как метод.

То есть абстрагирование – это использование способа отвлечения в процессе познания или объяснения, рассуждения.

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

Абстрактное и конкретное

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

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

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

Виды абстракции

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

В соответствии с целью абстракция бывает:

  • содержательной;
  • формальной.

Содержательная форма подразумевает выделение частного через общее. То есть, вспоминая упомянутый выше пример, если при взгляде на небо в голову приходит слово «туча», то это содержательная абстракция.

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

К основным видам или же типам этой категории относятся:

  • чувственная примитивная;
  • обобщающая;
  • идеализирующая;
  • изолирующая;
  • конструктивизирующая.

Отдельно учеными выделяется так называемая абстракция актуальной бесконечности. Выделяется она потому, что примеры абстракции основных типов можно найти в повседневной жизни, а вот наблюдать этот вид невозможно. То есть данная философская категория – это полностью теоретическое понятие. В чем его суть? В том, чтобы мысленно отвлечься от аксиомы о том, что нельзя зафиксировать каждый из компонентов бесконечного множества. И тогда это множество станет конечным. Эта философская теория хоть и напоминает утопию, весьма серьезно рассматривается математиками. Вполне возможно, что в будущем она еще окажется востребованной на практике, например в процессе освоения космического пространства.

Что понимается под абстрактным мышлением?

Нередко приходится слышать, как о ком-то говорят, что он мыслит абстрактными категориями. При этом понятно, что речь идет о человеке, не отличающимся приземленностью и ординарностью, о том, кто склонен размышлять и рассуждать без какой-либо четкости и конкретики. Но что подразумевается под этим в философии?

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

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

В чем польза отвлеченных понятий и мышления?

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

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

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

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

В искусстве

Не только философии, но и искусству свойственно такое понятие, как «абстракция». Картины многих известных художников написаны в этом жанре.

Абстракционизм является направлением в искусстве, которое характеризует отказ от передачи чего-либо в виде реалистичного отображения. Это в первую очередь касается форм изображений в живописи и скульптуре. Однако абстрактным может быть любое произведение, например рассказ, стихотворение, театральные декорации, костюмы и многое другое.

Основоположником этого жанра принято считать российского живописца Василия Кандинского, а первым абстрактным произведением – его акварельную работу «Без названия», написанную в 1910 году.

Источник

Абстракция в программировании: приручение единиц и нулей

Ознакомьтесь с сеансами по требованию на саммите Low-Code/No-Code, чтобы узнать, как успешно внедрять инновации и добиваться эффективности путем повышения квалификации и масштабирования гражданских разработчиков. Смотреть сейчас .


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

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

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

Почему это? Компьютеры плохо работают с двусмысленностью и нюансами. Двоичный код предоставляет полностью однозначные инструкции «выключено» (ноль) или «включено» (единица). Они используют эти простые двоичные состояния в качестве основы для логических вычислений, которые отображают схемы компьютера как «включенные» или «выключенные». Эти простые схемы используются для создания логических элементов (например, И, ИЛИ и НЕ), которые позволяют программисту создавать операции и манипулировать данными различными способами. Затем это дублируется миллиарды раз для создания современных процессоров.

Мероприятие

Intelligent Security Summit

8 декабря вы узнаете о решающей роли ИИ и машинного обучения в кибербезопасности и конкретных отраслевых примерах. Зарегистрируйтесь, чтобы получить бесплатный пропуск сегодня

.

Зарегистрируйтесь сейчас

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

Что такое абстракция в программировании?

Абстракция в контексте программирования направлена ​​на то, чтобы скрыть как можно большую сложность, чтобы программисты могли сосредоточиться на том, что является наиболее важным и актуальным. Абстракция используется для маскировки большей части того, что жизненно важно для работы программы, но она изначально сложна из-за требований машин к двоичному вводу. Однако сокрытие сложности никоим образом не должно отрицательно сказываться на мощности и универсальности машины, а также на ее производительности. Наоборот, добавление уровней абстракции должно привести к более надежным и полезным результатам.

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

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

Потребность в абстракции.

На заре электронных вычислений программирование часто выполнялось с помощью карточек или длинных рулонов бумаги с отверстиями. Эти отверстия были созданы для представления двоичных строк, которые будут вводиться в компьютер.

Удивительно, но эта форма программирования была фактически изобретена в начале 1800-х годов французским ткачом по имени Жозеф-Мари Жаккард, который использовал перфокарты для направления нитей в ткацком станке для создания тканых тканей причудливых цветов.

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

Очеловечивание машинного кода

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

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

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

Поколения языков программирования

Как упоминалось выше, языки программирования можно разделить на языки высокого уровня и языки низкого уровня. Еще более детальное деление — это поколения. Первые два поколения состоят из языков низкого уровня, а с третьего по пятое поколения — из языков высокого уровня. Каждое последующее поколение представляет собой эволюцию в сторону использования более естественного языка, что достигается путем добавления уровней абстракции.

В настоящее время существует пять поколений языков программирования, но пятое поколение, известное как 5GL, все еще находится в стадии разработки и в основном используется в исследованиях искусственного интеллекта (ИИ). Однако эволюция от первого к четвертому поколению дает исчерпывающую иллюстрацию того, насколько абстракция изменила способ работы программистов.

Языки первого поколения (1GL)  

Эта языковая группа состоит из машинного кода, необходимого аппаратному обеспечению для генерации вывода. Он полностью двоичный, и только единицы и нули дают указание непосредственно ЦП компьютера выполнять свои вычисления. Хотя написать программу 1GL было бы невероятно утомительно, если бы она была безошибочной, она работала бы очень быстро, поскольку не требовалось бы дополнительного перевода с языка кодирования на язык, который может обрабатывать компьютер.

Этот способ программирования, однако, имеет больше проблем, чем преимуществ:

  • Если существуют какие-либо ошибки кодирования, найти их среди моря единиц и нулей будет чрезвычайно сложно.
  • Архитектура каждой машины немного отличается, поэтому каждая требует своего собственного уникального способа программирования.
  • Люди просто не мыслят единицами и нулями, но этот метод заставил программистов поступить именно так.

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

Языки второго поколения (2GL)

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

2GL обеспечивают те же возможности хранения, поиска и обработки данных, что и 1GL. Однако вместо использования всех единиц и нулей в 2GL используются мнемоники — комбинации символов, которые представляют операции, такие как MOV для перемещения и SUB для вычитания, — чтобы указать машине, какую операцию следует выполнить. Синтаксис определяет, на что воздействуют операции, например на ячейку памяти (MOV может перемещать данные из одного места в памяти компьютера в другое) или числовую константу (SUB позволяет вычитать одну числовую константу из другой).

Поскольку в 2GL используются комбинации символов, более узнаваемые людьми, написание, модификация и отладка программ могут выполняться намного проще, чем при программировании с 1GL. Хотя это был шаг в правильном направлении, переносимость и ограниченное практическое использование по-прежнему оставались проблемами для 2GL. Несмотря на то, что это несколько более естественно, чем единицы и нули 1GL, 2GL по-прежнему требовали огромного внимания к мелочам, связанным с достижением желаемого результата.

Языки третьего поколения (3GL)

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

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

Можно сказать, что этот подход очень вычислительный, что заставляет разработчика сосредоточиться в основном на отдельных задачах, которые должны выполнять машины. 3GL — это первый шаг к тому, чтобы программисты могли решать более масштабные и разнообразные задачи, как они это делают при программировании корпоративных приложений. И они могут сделать это с помощью менее сложного или просто меньшего количества кода.

На этом уровне абстрагируются не только фактический язык и синтаксис. Некоторые 3GL заботятся о других проблемах программирования, которые раньше выполнялись вручную, таких как удаление неиспользуемых объектов, засоряющих память, или предоставление библиотек шаблонов и других инструментов с проверенными блоками кода, готовыми к использованию. Примеры 3GL включают COBOL, BASIC, Fortran, C, C++, Java и Pascal. Хотя 3GL используют целые слова и утверждения, образованные этими словами, что является значительным шагом вперед по сравнению с 2GL, они по-прежнему представляют собой очень много процедурных языков, которые требуют явных инструкций для каждого шага, связанного с выполнением задачи.

Языки четвертого поколения (4GL)

Как стало ясно из эволюции до этого момента, 4GL — это следующий шаг к тому, чтобы сделать программный код меньше связанным с написанием инструкций для машин для выполнения отдельных задач, а больше с использованием язык для определения желаемых результатов программы. Это то, что известно как декларативное программирование, и оно отличается от императивного программирования, которое фокусируется на средствах достижения цели, а не на самой цели. Подумайте о чем-то столь же простом, как печать документа. В лучшем случае пользователь должен нажать кнопку «Печать», выбрать, какой принтер должен выполнять задачу, и дело сделано. Это декларативное действие. Императивный подход к печати требует, чтобы вы сообщали машине, где именно в памяти машины находится печатаемый элемент, как его следует буферизовать, куда поместить в очередь с другими заданиями и т. д. 

4GL позволяют программистам сосредоточиться на том, чего они хотят достичь с помощью своих программ, а не на всех отдельных шагах, необходимых для этого.

Одной из наиболее часто используемых иллюстраций того, как абстракция упростила программирование, является программа «Hello World». Простая программа для отображения слов «Hello World» требует 56 строк кода на языке ассемблера. В Ruby, 4GL, инструкции могут быть даны одной строкой.

Благодаря такому повышенному уровню абстракции 4GL предлагают гораздо более широкий спектр применений, чем их предшественники. 4GL обычно представляют собой не языки общего назначения, а скорее специализированные языки, которые можно использовать для запросов к базам данных, создания отчетов, автоматизации задач, управления данными, создания приложений и графических пользовательских интерфейсов (GUI), создания веб-сайтов и многого другого.

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

От написания сценариев к перетаскиванию: абстракция через low-code

До недавнего времени постепенные улучшения, вызванные каждым уровнем абстракции, в основном сводились к использованию большего количества слов, сокращений и синтаксиса, понятных людям, а не к машинному коду, который могут обрабатывать машины. Low-code, хотя и относится к категории 4GL, продвигает эту абстракцию на шаг вперед и позволяет разработчикам назначать функциональность своим программам с очень небольшим кодированием.

Low-code, возможно, более точно можно описать как «скрытый код» из-за уровня абстракции инструментов платформы разработки приложений с низким кодом.

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

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

Low-code также позволяет отдельным лицам создавать более крупные приложения, управляемые процессами, для чего обычно требуется команда разработчиков high-code, разбирающихся в текстовых языках, таких как Java, Python, C++, Ruby и SQL. Поскольку многие распространенные шаблоны приложений с низким кодом являются предварительно созданными и являются частью платформы, разработчикам нужно только указать приложению, что делать. Это может включать в себя такие команды, как «получить электронные письма из Outlook» — и никогда — как это сделать, что делает low-code одним из самых гипердекларативных доступных методов программирования.

Например, создание корпоративного приложения для управления делами с помощью 4GL с высоким кодом может занять месяцы. С 3GL на это могут уйти годы, но с low-code разработчик может создать приложение корпоративного уровня за недели или даже дни. Более того, даже непрофессиональные разработчики, так называемые гражданские разработчики, могут научиться программировать с помощью low-code и создавать полезные корпоративные приложения без необходимости овладевать более глубокими знаниями, необходимыми для написания приложений на традиционных языках high-code.

Какое будущее у абстракции в программировании?

Основываясь на том, что было сделано ранее, мы можем сделать некоторые обоснованные предположения о том, какие формы абстракции программирования примут в будущем. Чтобы сделать жизнь программистов еще проще, будущие абстракции должны будут:

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

Какими бы ни были формат и механика будущих типов абстракций, они обязательно найдут свою долю как сторонников, так и противников. Исторически сложилось так, что программисты неохотно принимали более высокие уровни абстракции из-за предполагаемой потери контроля над фактическим вводом данных в компьютер — ниже всякой абстракции. Факт остается фактом: сейчас мы полагаемся на то, что машины могут делать гораздо больше, чем они могли делать, когда программирование выполнялось в машинном коде.

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

Именно здесь блещет low-code. С помощью low-code разработчики могут сосредоточиться исключительно на решении бизнес-проблем, которые беспокоят их деловых партнеров, не связанных с ИТ, вместо того, чтобы бороться с различными проблемами high-code. Low-code — это логический следующий шаг в эволюции абстракции, но уж точно не последний.

Сьюзен Коулман — менеджер по контент-маркетингу в Appian .

DataDecisionMakers

Добро пожаловать в сообщество VentureBeat!

DataDecisionMakers — это место, где эксперты, в том числе технические специалисты, работающие с данными, могут делиться знаниями и инновациями, связанными с данными.

Если вы хотите читать о передовых идеях и актуальной информации, передовых методах и будущем данных и технологий обработки данных, присоединяйтесь к нам на DataDecisionMakers.

Вы даже можете рассмотреть возможность публикации собственной статьи!

Узнайте больше от DataDecisionMakers

Абстракция

Абстракция
Следующий: Точка зрения Up: Некоторые фундаментальные доктрины Предыдущий: Некоторые фундаментальные доктрины

Процесс установления декомпозиции проблемы на более простые и понятные примитивы является основой науки и разработки программного обеспечения. Этот процесс имеет много основных методов абстракции.

Абстракция — это модель. Процесс преобразования одной абстракции в более подробную абстракцию называется уточнением. Новую абстракцию можно назвать усовершенствованием исходной. Абстракции и их уточнения обычно не сосуществуют в одном описании системы. Именно так что имеется в виду под более подробной абстракцией, точно не определено. Должна быть поддержка взаимозаменяемости понятий от одной абстракции к другой. Композиция возникает, когда две абстракции используются для определения другой более высокой абстракции. Декомпозиция происходит, когда абстракция разбивается на более мелкие абстракции.

Управление информацией является одной из целей абстракции. Сложные функции одной абстракции упрощаются в другую абстракцию. Хорошие абстракции могут быть очень полезными в то время как плохие абстракции могут быть очень вредными. А хорошая абстракция приводит к многократно используемым компонентам.

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

Абстракция в традиционных системах естественным образом формирует слои, представляющие разные уровни сложности. Каждый слой описывает решение. Затем эти слои накладываются друг на друга. Таким образом, абстракции высокого уровня материализуются абстракциями более низкого уровня, пока не может иметь место простая реализация.

Как Хор [#!Хор:1994!#] сказал,



См. рисунок C.4 на стр. .

  

Рисунок C.4: Абстракции

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

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

Традиционно абстракция данных и функциональная абстракция объединяются в концепцию абстрактных типов данных (ADT). Сочетание АТД с наследованием дает сущность объектно-ориентированной парадигмы.

В абстракции процесса детали потоков выполнения не видны потребителю процесса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *