Программа: сугубо диалектические особенности.
- 30.11.14 г. -


>> Программа, согласно диалектическому программированию,
– содержит противоречия,
– является результатом не только человеческого мышления...


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

В предыдущей статье было сказано, в частности, о том, что в современной диалектической философии положено начало особым исследованиям и теоретическому развитию фактов эмпирики платформы .Net Framework (Microsoft) с последующим формированием более эффективных теоретических положений и прикладных приложений.
    При этом обнаруживалась принципиально новая сфера исследований, которые в большей мере касаются объективной логики, что наукам и обычному программированию вообще чуждо. Однако для диалектического программирования эта сфера стала одной из основных областей его современных исследований.
    Наиболее актуальным стало осмысление ряда эмпирико-программистских положений и характеристик, обнаруженных при исследовании платформы .Net Framework, но имеющих свое основание в диалектических положениях (научные и программистские основы слишком слабы и противоречивы).
    Одним из них является всем известная и, казалось бы, понятая и хорошо изученная… программа.
    Однако, как ни странно, но даже при разработке платформы .Net Framework из виду вообще выпало понимание того, что собою представляет программа, что она есть такое. Иными словами, эта платформа создавалась для реализации того, что все интуитивно понимают как программу, однако то, что она собою представляет, понимают и формулируют по-разному. Более того, в обычном программировании нет самого главного – понятия программы.


А. В целом программа обычно понимается как последовательность инструкций для компьютера (ЭВМ). Однако уже в этом самом общем понимании программы кроется некоторая двойственность, ибо одни понимают её как целевой алгоритм, предназначенный управления компьютером, а другие – как последовательность инструкций, приводящая к реализации некоторого алгоритма на конкретной вычислительной машине. Первое и второе – не одно и то же, но в рамках наук эти представления неразличимы.
    Кроме того, указанное неразличение при его (диалектическом) определении, как оказывается, содержит противоречие, архиважное для понимания существа программы. Программа содержит противоречие. Но это противоречие не может быть идентифицировано при рационалистическом (научном) подходе, поэтому в науках не может быть установлена посылка, или предположение, программы.
    Главное, в обычном программировании не определено основное – понятие программы, даже её смысл не установлен. А ведь без этого нельзя получить различие и, следовательно, определение программы, что, в свою очередь, ведет к качественно разным пониманиям программы, точнее – к её недопониманию.
     С другой стороны, установленное в диалектическом программировании различие ведет к определению разных оснований (методологий) создания программы, что в науках вообще не рассматривается по причине отсутствия соответствующих посылок (идей, представлений) и возможностей исследования.
    Но тут дело еще вот в чём.
    Во-первых, человеческое мышление, создающее программу, «вкладывающееся» в неё, до сих пор так и не определено в науках. Конечно же, в разнообразной литературе можно найти много утверждений о том, что оно изучается, и даже некоторые его определения, которые, однако, с той же легкостью идентифицируют и другие феномены (например, сознание), или исключают друг друга, т.е. в науках определения мышления до сих пор нет.
    Как уже говорилось на сайте, что собою представляет мышление, чем оно является, даже в психологии не известно. В психологии мышление обычно понимается как … вид познания, как процесс опосредованного и обобщен­ного познания действительности, или познание в психологии понимается как создание представлений внешнего мира, его моделей, или образов, т.е. через … умозаключения и, в конечном счете, через логику.
    А в логике мышление считается очевидным, поэтому тоже не указывается, что оно собою представляет, однако изучаются его законы и т.д. Иногда в логике, правда, указывается, что мышление изучается в психологии, но вот даже к какому её направлению происходит отсылка, не указывается (так как эта наука до сих пор не имеет единой парадигмы и определяется множеством взглядов, и в ней попросту не может быть единого определения мышления, см. «Несовершенство психологии»). Отсылка логики к психологии попросту не корректна, но она есть, как впрочем, и обратная отсылка от психологии к логике. Такое вот отфутболивание…
    Если же делается попытка рационально-философского определения мышления, то получается нонсенс. В частности, совсем уж удручающим выглядит определение мышления, приведенное на сайте ИФ РАН: «МЫШЛЕНИЕ - процесс решения проблем, выражающийся в переходе от условий, задающих проблему, к получению результата. Мышление предполагает активную конструктивную деятельность по переструктурированию исходных данных, их расчленение, синтезирование и дополнение» (http://iph.ras.ru/elib/1982.html )...
    Во-вторых, и понятия смысла в науках нет, даже лингвистика не может дать хоть какого-нибудь его удобоваримого определения. Говорится о неком предназначении, целеполагании или даже необходимости нечто (в силу его смысла) в качестве элемента некоторой целостности, т.е. говорится о производных от смысла определениях и характеристиках, но не о нем самом. Так потому, что материалистические науки не способны ухватить идеальную ипостась.
    Так что говорить в науках о неведомом понятии и его смысле – смысле того, что включает не известный наукам термин, – попросту нелогично. Поэтому о понятии программы и о её смысле в науках и обычном программировании говорить также бессмысленно. (В диалектике дело обстоит по-другому, о чём можно поговорить в дискуссиях.)

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


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


В. Понимание  того, что программа является не только результатом человеческого мышления, приводит к переосмыслению её как таковой в целом.
    Это очень важное положение, так как это на новом уровне – на уровне алгоритма (в диалектическом понимании) – приводит к пониманию имеющей место простоты создания программ. Это положение очевидно: программы пишутся известным образом с учетом известных методов и приемов и применения технических и программных ресурсов. Но оно и отрицается своею данностью. Однако это все – одна сторона вопроса. Это – современное программирование, нисколечко не задумывающееся о существе бытия программы и о фундаментальном осмыслении её создания (программы пишутся согласно поставленной задаче, и это тоже соответствует простоте их создания).
    А в диалектическом программировании исследуется ряд начал создания программ, а не только то, которое используется в современном программировании. При этом исследуются проигнорированные в науках, принципиально чуждые для них аспекты, которые для диалектики понятны в силу обозначения их Гегелем и важны, причем не столько в программно-аппаратной реализации, сколько в концептуально-алгоритмическом смысле, что значительно усиливает движущую силу диалектического познания и продуктивную мощь диалектических рассуждений.

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


Г. Отдельно следует сказать о том, что диалектическое понятие программы, в т.ч. в силу обнаруженных в ней имплицитных противоречий, архиважно для понимания
базы представления, в которой базовый инструмент опосредствования теперь значимо усиливается за счет добавления принципиально новой, высокоэффективной функции;
программной среды, в которой исполняется программа, но которая (среда), с другой стороны, сама непосредственно влияет на языки программирования, причем не только в смысле их создания или конкретного использования при написании программы; иными словами, понимание того, что собою представляет программа, весьма важно и для программных платформ (например, для платформы .Net Framework, о которой уже был разговор на сайте), что на первый взгляд кажется очевидным, однако в своем различении обусловливает новое позиционирование отдельной программы в более крупных программных комплексах, например, в тех же платформах;
– искусственного интеллекта, для которого характерна обозначенная выше в целом простота создания программ в обычном программировании, и диалектического искусственного интеллекта, в котором используются совершенные диалектические формы.


* Однако ни одно из указанных противоречий не является источником функционирования программы; таковым является другой фактор.

См.  «Методы и алгоритмы в современной диалектике».


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

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

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

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

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


3. Другие обсуждения: http://all-discussions.livejournal.com/58127.html.