Объектно-ориентированный язык программирования Ассемблер
Запись от Энтомолог размещена 03.05.2019 в 21:42
Показов 6583
Комментарии 12
|
Ассемблер (от англ. assembler) - язык объектно-ориентированного программирования (ООП), что бы ни утверждали некоторые маркетологи. Под объектом здесь будем понимать любой артефакт - нечто, созданное человеком. Под объектно-ориентированным языком программирования я понимаю такой, в котором возможно конечными средствами реализовать объектно-ориентированный подход, заключающийся в применении принципов абстракции, инкапсуляции, полиморфизма, наследования, декомпозиции и вытекающих из них. Абстракция (от англ. abstraction) означает выделение или извлечение частей среди какого-либо целого. В нашем случае мы имеем дело с написанием инструкций по распределению ресурсов ЭВМ, в чём у ассемблера богатый выбор - можно выделить и извлечь для целей решения задачи любое подмножество подмножеств среди доступных регистров процессора и прочих ёмкостей и источников ресурсов, чтобы в дальнейшем оперировать ими при решении задачи в терминах предметных областей. Это подразумевает возможность декомпозиции (от англ. decomposition) - разделения целого на части c целью упрощённого представления сложного объекта (задачи) в виде совокупности других объектов (задач), в том числе с устранением взаимовлияния (сама инструкция ассемблера представима в форме взаимодействия сигналов в аппаратуре ЭВМ и подвержена анализу и синтезу с точки зрения цифровой обработки сигналов, проходящих в и между КМОП и другими элементами и компонентами), так как использованием одного единственного регистра (ёмкости, источника) в решении задачи большинство программистов ЭВМ не обходятся. Инкапсуляция (от англ. incapsulation) - размещение одного в другом. В нашем случае ассемблер представляет богатый выбор ёмкостей, как одиночных, так и комбинированных, которые можно использовать для произвольной группировки, хранения и обмена различными данными, включая напрямую соответствующие предлагаемым архитектурами ЭВМ типам, причём эти процессы могут быть более детальными и эффективными по сравнению с использованием аналогичных возможностей в других языках, предлагающих объектно-ориентированный подход, что объясняет наличие у языка ассемблера полиморфизма (от англ. polymorphism) - возможности подмены разнородных манипулируемых объектов с сохранением интерпретации манипуляции, например, возникающей в ассемблере при использовании одного регистра как динамической переменной в языках-аналогах неопределённости его содержимого предполагает возможность произведения разнообразных действий над этим содержимым с сохранением его инкогнито в отдельно взятой абстракции. Наследование (от англ. inheritance) - возможность передачи данных с сохранением части абстракций, изначально присущих объекту-источнику данных. В языке ассемблера передача данных возможна из различных источников в различные приёмники, при этом возможно как сохранение абстракций, предполагавшихся программистом, в полном объёме (например, при передаче одного значения из одного регистра в равноценный другой с сохранением этого значения), так и частично (например, при сложении одного числового значения с другим результат может оставаться числовым). В связи с этим, предлагаю дальнейшие дискуссии о категоризации языка программирования (ЯП) ассемблера перевести в русло конструктивного обсуждения необходимости наличия термина ООП, а также rich internet application (RIA) и rapid application development (RAD).
|
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 12
Комментарии
-
Какая странная попытка опопсить язык Богов...
Артефакт не может считаться объектом, это во-первых! Во-вторых, Вы концептуально неправильно подходите к вопросу... Вы пытаетесь сравнивать ООП с машинным языком, тогда как отличия надо искать между машинным языком и ООП... Ассемблер - это рок-н-ролл... Команды машинно-ориентированного языка позволяют, напрямую обращаться к процессору... Могут ли языки ООП себе это позволить? На мой взгляд здесь даже дискутировать не о чем... Ассемблер хоть и низкоуровневый, но при этом не настолько примитивный, чтобы его за уши притягивать к высокоуровневым языкам... В этом нет никакого практического смысла... В конце концов любой эксплойт в разы опаснее в исполнении на ассемблере нежели, чем на любом другом языке... В этом его прелесть...Запись от Fedor92 размещена 04.05.2019 в 12:14
-
Запись от CoderHuligan размещена 04.05.2019 в 17:40
-
Да и вообще, Ассемблер - не язык, а инструмент для ассемблирования. И для решения этой задачи Ассемблеру может пригодиться понимание нескольких (разных) входных языков.Запись от politoto размещена 06.05.2019 в 11:55
-
“Ассемблер (от англ. assembler) - язык объектно-ориентированного программирования (ООП),”
Брехня.
https://ru.wikipedia.org/wiki/Ассемблер
“Абстракция (от англ. abstraction) означает выделение или извлечение частей среди какого-либо целого.”
Брехня.
https://ru.wikipedia.org/wiki/АбстракцияЗапись от Excalibur921 размещена 06.05.2019 в 16:50
-
Запись от Энтомолог размещена 19.05.2019 в 12:27
-
Запись от Энтомолог размещена 19.05.2019 в 12:28
-
класс!
Сообщение от Энтомолог
понял что это означает!
преимущество очень скоростного языка, лежащего в основе ПК, в ООП обертке? очень классная идея!
да, понял что здесь речь идет, автор поста [это репост, да?], пытается, все таки, доказать что asm это ООП язык. либо, что его можно использовать как ООП язык.
очень хорошая идея, добавить синтаксические конструкции class, extends, public, protected, private в синтаксис записи инструкций.
Не по теме:
никогда еще такого не читал. когда изучал ООП, и все еще изучаю, очень удивило и обрадовало то, что с помощью ООП достигается возможность реализации очень больших по размеру кода проектов! обрадовало то, что если смогу применять ООП, то смогу поднять очень крупный проект, сам! ООП нужно для прояснения очень большого проекта в процессе его реализации. ты сидишь, программишь - и постоянно понимаешь что делаешь! проект по размеру несколько десятков тысяч строк - но используя ООП, все равно понимаешь что делаешь!
Запись от elnorbert размещена 07.06.2019 в 22:01
-
Не ожидал, что кто-то может абстракцию с анализом перепутатьЗапись от tamplquest размещена 07.06.2019 в 22:48
-
в любом языке программирования можно применять любую парадигму программирования! для каждой парадигмы программирования есть синтаксические конструкции. в ассемблере для ооп парадигмы нет синтаксических конструкций. но можно попытатся создать частично и даже в полной мере ооп парадигму: это на сленге программистов называют изврат, изворачивание.
автор публикации, не репоста, пытается назвать ассемблер ооп языком. общепринято, если не ошибаюсь, называть его процедурным языком. конечно, большинство будут пальцем у виска крутить! потому что не поймут.
это похоже на философский фокус. словоблудие. игра ума.Запись от elnorbert размещена 09.06.2019 в 12:53
-
а если предположить, что, парадигма процедурного программирования это запутанное обьектно ориентированная парадигма? выходит, что процедурная парадигма входит в множество обьектно-ориентированной парадигмы? обе парадигмы обьектно-ориентированные? выходит, действительно, что ассемблер это обьектно ориентированный язык программирования.
обьекты везде находятся.
если переструктурировать процедурную парадигму, из нее получится парадигма обьектно ориентированного программирования.
в любой парадигме есть обьекты, наследование, инкапсуляция.Запись от elnorbert размещена 09.06.2019 в 13:21
-
иерархия вложенных блоков структурного программирования содержит обьекты - узлы блоков, наследование - связь блоков, инкапсуляцию - закрытость дочерних блоков к родительским через один и более узлов.
в обьектно ориентированной парадигме меньше связей между обьектами. обьекты передекомпозированы, обьектов на много меньше. проект в целом очень упрощается, его очень легко программировать, сопровождать, модернизировать.
любителям сложного и очень интересного не понравится, наверное, обьектно ориентированная парадигма.Запись от elnorbert размещена 09.06.2019 в 13:49
-
функцию с обьектом перепуталЗапись от elnorbert размещена 10.06.2019 в 11:59

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