Форум программистов, компьютерный форум, киберфорум
Энтомолог
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Объектно-ориентированный язык программирования Ассемблер

Запись от Энтомолог размещена 03.05.2019 в 21:42

Ассемблер (от англ. assembler) - язык объектно-ориентированного программирования (ООП), что бы ни утверждали некоторые маркетологи. Под объектом здесь будем понимать любой артефакт - нечто, созданное человеком. Под объектно-ориентированным языком программирования я понимаю такой, в котором возможно конечными средствами реализовать объектно-ориентированный подход, заключающийся в применении принципов абстракции, инкапсуляции, полиморфизма, наследования, декомпозиции и вытекающих из них. Абстракция (от англ. abstraction) означает выделение или извлечение частей среди какого-либо целого. В нашем случае мы имеем дело с написанием инструкций по распределению ресурсов ЭВМ, в чём у ассемблера богатый выбор - можно выделить и извлечь для целей решения задачи любое подмножество подмножеств среди доступных регистров процессора и прочих ёмкостей и источников ресурсов, чтобы в дальнейшем оперировать ими при решении задачи в терминах предметных областей. Это подразумевает возможность декомпозиции (от англ. decomposition) - разделения целого на части c целью упрощённого представления сложного объекта (задачи) в виде совокупности других объектов (задач), в том числе с устранением взаимовлияния (сама инструкция ассемблера представима в форме взаимодействия сигналов в аппаратуре ЭВМ и подвержена анализу и синтезу с точки зрения цифровой обработки сигналов, проходящих в и между КМОП и другими элементами и компонентами), так как использованием одного единственного регистра (ёмкости, источника) в решении задачи большинство программистов ЭВМ не обходятся. Инкапсуляция (от англ. incapsulation) - размещение одного в другом. В нашем случае ассемблер представляет богатый выбор ёмкостей, как одиночных, так и комбинированных, которые можно использовать для произвольной группировки, хранения и обмена различными данными, включая напрямую соответствующие предлагаемым архитектурами ЭВМ типам, причём эти процессы могут быть более детальными и эффективными по сравнению с использованием аналогичных возможностей в других языках, предлагающих объектно-ориентированный подход, что объясняет наличие у языка ассемблера полиморфизма (от англ. polymorphism) - возможности подмены разнородных манипулируемых объектов с сохранением интерпретации манипуляции, например, возникающей в ассемблере при использовании одного регистра как динамической переменной в языках-аналогах неопределённости его содержимого предполагает возможность произведения разнообразных действий над этим содержимым с сохранением его инкогнито в отдельно взятой абстракции. Наследование (от англ. inheritance) - возможность передачи данных с сохранением части абстракций, изначально присущих объекту-источнику данных. В языке ассемблера передача данных возможна из различных источников в различные приёмники, при этом возможно как сохранение абстракций, предполагавшихся программистом, в полном объёме (например, при передаче одного значения из одного регистра в равноценный другой с сохранением этого значения), так и частично (например, при сложении одного числового значения с другим результат может оставаться числовым). В связи с этим, предлагаю дальнейшие дискуссии о категоризации языка программирования (ЯП) ассемблера перевести в русло конструктивного обсуждения необходимости наличия термина ООП, а также rich internet application (RIA) и rapid application development (RAD).
Размещено в Без категории
Просмотров 609 Комментарии 12
Всего комментариев 12
Комментарии
  1. Старый комментарий
    Аватар для Fedor92
    Какая странная попытка опопсить язык Богов... Артефакт не может считаться объектом, это во-первых! Во-вторых, Вы концептуально неправильно подходите к вопросу... Вы пытаетесь сравнивать ООП с машинным языком, тогда как отличия надо искать между машинным языком и ООП... Ассемблер - это рок-н-ролл... Команды машинно-ориентированного языка позволяют, напрямую обращаться к процессору... Могут ли языки ООП себе это позволить? На мой взгляд здесь даже дискутировать не о чем... Ассемблер хоть и низкоуровневый, но при этом не настолько примитивный, чтобы его за уши притягивать к высокоуровневым языкам... В этом нет никакого практического смысла... В конце концов любой эксплойт в разы опаснее в исполнении на ассемблере нежели, чем на любом другом языке... В этом его прелесть...
    Запись от Fedor92 размещена 04.05.2019 в 12:14 Fedor92 вне форума
  2. Старый комментарий
    Аватар для CoderHuligan
    Цитата:
    Ассемблер (от англ. assembler) - язык объектно-ориентированного программирования (ООП), что бы ни утверждали некоторые маркетологи.
    Ассемблер это командный язык, - язык команд. Конечно, на нём можно всё что угодно ЭМУЛИРОВАТЬ, но нативно он поддерживает только командный режим. Поэтому ассемблер НЕ ООП-язык. Более того, подобные утверждения очень оскорбительны для ассемблера(он мне по секрету поведал)..
    Запись от CoderHuligan размещена 04.05.2019 в 17:40 CoderHuligan вне форума
  3. Старый комментарий
    Да и вообще, Ассемблер - не язык, а инструмент для ассемблирования. И для решения этой задачи Ассемблеру может пригодиться понимание нескольких (разных) входных языков.
    Запись от politoto размещена 06.05.2019 в 11:55 politoto вне форума
  4. Старый комментарий
    “Ассемблер (от англ. assembler) - язык объектно-ориентированного программирования (ООП),”
    Брехня.
    https://ru.wikipedia.org/wiki/Ассемблер

    “Абстракция (от англ. abstraction) означает выделение или извлечение частей среди какого-либо целого.”
    Брехня.
    https://ru.wikipedia.org/wiki/Абстракция
    Запись от Excalibur921 размещена 06.05.2019 в 16:50 Excalibur921 вне форума
  5. Старый комментарий
    Аватар для Энтомолог
    Цитата:
    Сообщение от Fedor92 Просмотреть комментарий
    Артефакт не может считаться объектом
    Давайте вместе поищем внутри компьютера то, что не является артефактом.
    Запись от Энтомолог размещена 19.05.2019 в 12:27 Энтомолог вне форума
  6. Старый комментарий
    Аватар для Энтомолог
    Цитата:
    Сообщение от CoderHuligan Просмотреть комментарий
    Ассемблер это командный язык, - язык команд.
    Этику вопроса я здесь не затрагиваю. ООП допускает императивный стиль.
    Запись от Энтомолог размещена 19.05.2019 в 12:28 Энтомолог вне форума
  7. Старый комментарий
    Цитата:
    Сообщение от Энтомолог
    Объектно-ориентированный язык программирования Ассемблер
    класс! понял что это означает!

    преимущество очень скоростного языка, лежащего в основе ПК, в ООП обертке? очень классная идея!

    да, понял что здесь речь идет, автор поста [это репост, да?], пытается, все таки, доказать что asm это ООП язык. либо, что его можно использовать как ООП язык.

    очень хорошая идея, добавить синтаксические конструкции class, extends, public, protected, private в синтаксис записи инструкций.

    Не по теме:

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

    Запись от elnorbert размещена 07.06.2019 в 22:01 elnorbert вне форума
  8. Старый комментарий
    Не ожидал, что кто-то может абстракцию с анализом перепутать
    Запись от tamplquest размещена 07.06.2019 в 22:48 tamplquest вне форума
  9. Старый комментарий
    в любом языке программирования можно применять любую парадигму программирования! для каждой парадигмы программирования есть синтаксические конструкции. в ассемблере для ооп парадигмы нет синтаксических конструкций. но можно попытатся создать частично и даже в полной мере ооп парадигму: это на сленге программистов называют изврат, изворачивание.

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

    это похоже на философский фокус. словоблудие. игра ума.
    Запись от elnorbert размещена 09.06.2019 в 12:53 elnorbert вне форума
  10. Старый комментарий
    а если предположить, что, парадигма процедурного программирования это запутанное обьектно ориентированная парадигма? выходит, что процедурная парадигма входит в множество обьектно-ориентированной парадигмы? обе парадигмы обьектно-ориентированные? выходит, действительно, что ассемблер это обьектно ориентированный язык программирования.

    обьекты везде находятся.

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

    в любой парадигме есть обьекты, наследование, инкапсуляция.
    Запись от elnorbert размещена 09.06.2019 в 13:21 elnorbert вне форума
  11. Старый комментарий
    иерархия вложенных блоков структурного программирования содержит обьекты - узлы блоков, наследование - связь блоков, инкапсуляцию - закрытость дочерних блоков к родительским через один и более узлов.

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

    любителям сложного и очень интересного не понравится, наверное, обьектно ориентированная парадигма.
    Запись от elnorbert размещена 09.06.2019 в 13:49 elnorbert вне форума
  12. Старый комментарий
    функцию с обьектом перепутал
    Запись от elnorbert размещена 10.06.2019 в 11:59 elnorbert вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.