Идеальность в диалектическом программировании.
- 12.04.15 г. -
- 9772225665000 15017.


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


1. Предметная часть.


Диалектическая тема «Реальность и идеальность» (см. «Реальность и идеальность – 2») обозначила для диалектического программирования ряд важных онтологических и методологических положений, которые образовали в нем свою актуальную тему: тема «Диалектическое программирование и идеальность». Она достаточно объемна и очень важна для диалектического программирования (практически для всех сфер диалектического программирования). В нее входят не только прикладные положения, но и даже весьма специфические положения, например идея программирования (см. «Диалектического программирования начала»), которые явно не идеалистические, а скорее подпадают под ленинские представления об идее и объективности в том смысле, что эти положения можно и нужно использовать в таком реальном процессе, как программирование.

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

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

В современной диалектической философии идеализация как предмет изучения понимается в обоих смыслах гегелевской философии, однако в диалектическом программировании она понимается только в одном из них, актуальном для практики. Для него, однако, возможны различные проявления идеализации. Это, с одной стороны, объективно в силу имеющегося для идеализации опосредствования, и, с другой стороны, позволяет
а) выявлять различные её аспекты, в т.ч. в зависимости от тех или иных предметных условий,
б) развивать разные направления исследований (и даже сферы диалектического программирования в целом) и, соответственно,
в) исследовать и реализовывать различные алгоритмические возможности.
    Последнее положение особенно важно для практики диалектического программирования.
    Кстати, именно опосредованный характер идеализации, рассматриваемой не в ее главном гегелевском понимании, является сам одним из важнейших результатов новодиалектических исследований по темам «Реальность и идеальность» и «Диалектическое программирование и идеальность».

Для онтологической сферы диалектического программирования принципиально важно понимание и изучение ряда вопросов и положений, из которых следует указать следующие.
    Пожалуй, одним из наиболее важных положений диалектического программирования является идея программирования. Это чисто диалектическое положение, которое в науках и в обычном программировании попросту не понимается и поэтому во внимание не принимается. Но дело не  столько в диалектических особенностях, а в том, что понятие идеи, которое существует в диалектике, в науках рассматривается превратно. Однако если понятие идеи рассматривать диалектически, т.е. так, как оно есть, то выявляется, в первую очередь, его значение. В этом смысле идея программирования позволяет определить объект в целом в соответствии с его сутью и назначением, что очень важно для понимания его применения. Именно этот вопрос (и ряд других) был упущен при формировании такой отрасли человеческой деятельности, как программирование, ибо оно формировалось не на основе определения его понятия и не путем целенаправленного создания, а в соответствии с практическими потребностями и имеющимися техническими возможностями. Именно это и обусловило стихийность современного программирования, отсутствие разумных (плановых) перспектив его развития и многие его недостатки (в т.ч. системно-структурные просчеты и ошибки), которые не только не исключаются, но и передаются в новые программные ресурсы уже в качестве типичных моментов (как бы наследственная болезнь). Ряд из конкретных положений, соответствующих только что сказанному, был рассмотрен при анализе платформы .Net Framework.
    Вытекающим из предыдущего является положение, касающееся понятия программы. Дело в том, что в обычном программировании до сих пор имеются лишь попытки определения программы на основе ее представлений у программистов и существующих реализаций, т.е. фактически на основе её эмпирики, но не существа. Поэтому программы будущего будут разрабатываться в соответствии с устаревшими для них представлениями и включать системно-структурные просчеты и ошибки, в т.ч. упомянутые выше. Это можно предотвратить только путем выявления сути программы и получения ее адекватного определения. Кроме того, адекватное определение программы дает ее основные характеристики, которые целесообразно системно применять в процессе программирования, а не угадывать в его ходе что-то системно-алгоритмическое и не надеяться на талант программистов (его разумнее использовать не для решения локальных предметных вопросов программирования, возникающих в силу недоразвитости его концепта, а для поиска новых форм и возможностей программирования, в т.ч. начинающихся с решения конкретных задач).
    Отдельным важным положением является дуализм физического исполнения программы на компьютере и ее идеального замысла (алгоритм, код), см. также «Программа: сугубо диалектические особенности»,
    Еще одним, вытекающим из первого, является такое положение. Актуально понятие концепта (сознания) программных ресурсов. Конечно же, оно тем более ощутимо и понятно, чем о более сложном  программном ресурсе идет речь. Для «малых» и «обычных» программ, правда, оно не менее значимо, но мало уловимо в силу их обозримости и во многих случаях однозначности их алгоритма. Значимость указанного положения состоит в том числе и в существенности указанных выше моментов, которые в обычном программировании не рассматриваются, и поэтому «малые» и «обычные» программы создаются «с листа». Это во многих случаях возможно, и соответствующая «привычка», или недальновидность, даже вроде бы исключена при создании серьезных программных средств за счет их проектирования и контроля их создания, однако в случае недосмотра может весьма негативно повлиять на программу. Но для серьезных программных продуктов речь идет уже даже не об их проектировании и регламенте разработки. Тут речь идет об аспектах концепта (сознания) программных ресурсов, например о таком новодиалектическом положении, как образ программных средств. Так, в частности, создание программных платформ на основе образа «в себе» не актуально, что было показано на примере платформы .Net Framework. А для создания диалектической программной платформы вообще нужен другой идеальный принцип, но, конечно же, не «для себя», как хотели бы думать многие, (Итак, концепт (сознания) программного ресурса включает в себя не только его образ, но и ряд других аспектов.)
    Важным положением, вытекающим из понимания в диалектическом программировании идеальности, является полиморфизм в диалектическом программировании, который в современной диалектической философии (да-да, первоначально именно в ней) обозначается и схватывается в его зарождении, затем выводится и обосновывается и, наконец, прослеживается в его генезисе (а в обычном программировании он был создан таким, каким казался нужным и правильным). Как известно, полиморфизм является одной из основ объектно-ориентированного программирования – одного из мощнейших средств современного программирования. Однако, опять же, в обычном программировании он появился в результате необходимости решения определенного класса задач, а не в результате развития теоретических положений самого программирования. Поэтому в обычном программировании упущен ряд аспектов полиморфизма, обнаруженных в ходе исследований в диалектическом программировании.
    Также следует упомянуть о следующих положениях:
– новодиалектические динамические типы данных,
идеализация типов данных,
– новодиалектические понимание, определение и использование принципа сравнения, в т.ч. системных операций и методов сравнения,
– новодиалектическое понимание рефлексивных возможностей программирования.

О положениях двух из ряда других сфер диалектического программирования пока будет достаточным упомянуть кратко (другое дело, если возникнут вопросы и дискуссии).

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

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

Понятие идеализации и указанные положения важны не только для диалектического программирования, но и для создания перспективных программных ресурсов (это положение может стать одним из вопросов взаимовыгодного сотрудничества).


См. «Методы и алгоритмы в современной диалектике»,
«Исследования в диалектическом программировании»,
«Методы. Сравнение как базовое положение»,
«C_Hegel – ресурс IV уровня»
[«Диалектического программирования сферы»].



2. Дискуссионная часть
[в рамках проекта ДИАЛЕКТИКА].

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

б. Для предметных дискуссий в рамках Академии диалектики и диалектической философии  предоставляются ссылки на дополнительные материалы.

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

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


3. Другие дискуссии: http://all-discussions.livejournal.com/61543.html