私のアプローチコアはエンジンです。

 

このスレッドでは、私のプログラミングへの取り組み方についてお話したいと思います。ここではGUIに関する議論は行いませんので、あらかじめご了承ください。もし話すとしたら、 私のソリューションがどのように機能 するかを示す一例としてだけにしておきます。

当初は、OOPが明確で、しかも近いものでした。哲学的な文脈で「オブジェクト」「構造」「クラス」が何であるかは知っていました。プログラミングを哲学に深化させることは、私にとってとても魅力的であり、興味に火をつけるものでした。そして、本格的な勉強を始めるところでした...。しかし、その過程で、抵抗感が大きくなってきたのです。他人の哲学を否定すること。そして、その拒絶反応はどんどん大きくなっていった。

子供の頃から哲学的な思考に慣れている。そして、プログラミングに哲学を見出したのです。一時期は好きだったんですけどね。しかし、私の思考は、必ず誰かの概念を壊そうとする。倒すために。何のために?- 倒して自分の秩序を確立するため。

何世紀にもわたって、哲学的な概念は互いに争ってきた。そして、生まれながらの哲学者である私にとって、PLO構想は個人的な課題となっている。


でも、それは前史に過ぎないんです。

そして、約4年前にすべてが始まったのです。

当時は、シンプルなプロシージャルスタイルで、コマを作成していました。そして、グラフィカルなオブジェクトのプロパティを1つの配列にまとめるというアイデアを思いつきました。便利だと思ったからです。何のために?

  1. オブジェクトをループして、そのプロパティを変更する。
  2. 物体を結合させること。
  3. 配列への単純なアクセスにより、オブジェクトのプロパティの 値を取得すること。

こうして生まれたのが「カーネル」という考え方です。

OOPでは、「カーネル」という概念はありません。OOPはクラスと構造のアンサンブルを構築することを提供しますが、プログラムの実際の中心を与えるものではありません。条件付きのみです。O OPにおけるオブジェクトは、実際には参照である。説明の手段、アクセスキー。クラスの束は、複雑な非集中型ネットワークに似ている。 OOPは、プログラムのアーキテクチャを構築することを基本としています。つまり、正しいプログラムアーキテクチャを構築することが、opの主な目的なのです。

私のアプローチには、オブジェクトという概念もあります。しかし、私のアプローチにおける「モノ」は、もっとリアルなものなのです。プ ロパティの集合体である。そうすると、私のアプローチは、プログラムの具体的なアーキテクチャの重要性を無視することになります。プログラマーの利便性ではなく、プログラムの効率性の要求に従って、アーキテクチャが組まれているのです。これにより、構文が簡素化され、ルールの数も少なくなります。

自然界には、カーネルという概念がいたるところに存在しています。生物のすべての細胞には核があります。天体には核がある。地球、太陽。植物の果実の中には、新しい植物を生み出す核があります。そして、自然界では決して、効率よりもアルケクチュアが優先されることはありません。だから、自然は直線をつくらないし、生物はブロックでできていない。しかし、人間は自然よりも弱いので、記憶に残るような計画、配置、分類を必要とします。人間は世界を断片的に認識し、それをまた断片的に再生する。

OOPのコンセプトは、人間の本質をよく反映しています。

しかし、私のやり方に話を戻します。

  • そして、OBJECTはプロパティの集合体であるというわけです。
  • カーネルは、オブジェクトが存在するメモリ空間である。

実際には、 - カーネルは行列である。Objectはベクトルである。

行列は多くのベクトルを含むことができます。そして、これが私のアプローチの基本ルールの境界線となるのです。次に、それを使ってできることの例を紹介します。







 
早速ですが、オープンソースのコードはどこにあるのでしょうか?
 
Vladimir Karputov:
早速ですが、オープンソースのコードはどこにあるのでしょうか?

コードとサンプルを掲載します。これは前置きです。

 
Реter Konow:

コードとサンプルを掲載します。これは前置きです。

オープンソースコード?

 

そこ!?さあピーター、私もコードなしでもあなたのアプローチに興味がありますよ(ウラジミール、邪魔しないで、まず聞いてみようよ)。

 
ペール缶の水を増やす
 

既視感があるんです。

でも、今は読むものが少ないので、ピーターからの別のトピックで十分です。

 

ジェーニャ、ヴァーシヤ、君はせっかちだ...。その人に言わせろ !

 
Georgiy Merts:

ジェーニャ、ヴァーシヤ、君はせっかちだ...。言わせておけ!

まあ、なぜそんなに焦るのか。この会話は、ピーターが参加するすべての極論をリードしようとしているのでしょうが、かなりのトピックだと思います。

 

カーネルで表現される図形 要素の宣言の一例。

_OBJECTS_SET,BUTTON,
//------------T------X----Y----W-----H----B_TYPE-- MOB---PXL-----------G------------C----SG--SC--OBJSCR--NEUTRAL----GRADIENT--A1--B1--C1-----------A2----B2--C2----------A3----B3--C3--------A4--B4--C4-------OBH--OBI--C5--D5--E5--------------------------------------------------------------------------------------------------------------ACT-STATUS--CURRENT-----CURRENT---LAST--------------------------------------------
//Основание кнопки--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_NEW_OBJECT,  5,     0,   0,   100,  25,  _STRIP, _CNVS, 1,  _aw1,BUTTON,   0,_MOB,    0,    _aw1, C'245,245,245',  FR_32,  _C2C,_CNVS, 0,  FR_33,  _C2C,_CNVS, 0,   FR_32, 0,    0,   0,   A4, 0, 0,  0,    A5,0,  0,  0,  0,  0,   A6,  0,    A7, 0,       0,        0,        0,        0,       FR_32,        FR_33,       0,      0,       0,       0,         0,         0,       0,       0,   A8,  0,  0,  0,  

             A9, CLICKED_RELEASED, C'230,230,230',  0,  _C_PIXEL,  _C_PIXEL,    _C_PIXEL,    _C_PIXEL,    C'245,245,245',   _PL_END,
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//Лейбл кнопки--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_NEW_OBJECT,  5,     0,    0,   0,  0, _LABEL, _CNVS,  0,  _aw3,BUTTON,  _EL,   0,   0,    _aw1, _NS_gr1,   A1, _X2X, _aw1,   7,   A2,  _C2C,  _aw1,  0,  A3,  0,    0,   0,   A4,  0, 0,  0,      A5,0,0, _aw1,  0,  0,   A6,  0,    A7,0,    0,        0,        0,        0,        0,        0,    0,      0,       0,       0,         0,         0,       0,       0,   A8,  0,  0,  0,  

             A9, 0, 0,   0, 0,   0,  0,    0,    0,  0,  0,  0,  0,  0,  0,     _PL_END,
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//Текст наименования кнопки --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_NEW_OBJECT,  5,     0,   0,    0,  0,  _TEXT_, _CNVS,  0,  _aw2,BUTTON,_OCN,   0,    0,    _aw1, 0,     A1,  _C2C,_aw1,  0,   A2, _C2C,_aw1, 0,     A3,  0,    0,   0,   A4,  0, 0,  0,    A5,0,  0,  0,  0,  0,  A6,  0,  A7, 0,       0,        0,        0,        0,        0,        0,        0,      0,       0,       0,         0,         0,       0,       0,   A8,  Microsoft_JhengHei_Light, FW_NORMAL,  8,   

             A9, 0, 0,  0, C'100,100,100',   C'100,100,100',  0,    0,    0,  0,  0,  0,  0,  0,  0,   2,1,1,   1,0,  _PL_END,
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_END_,

  1. 要素宣言 -_OBJECTS_SET,BUTTON,


2. アイテム内オブジェクトの宣言:_NEW_OBJECT

次に、Objectを宣言した後に、プロパティ値があります。寸法、状態別の色、オブジェクト同士の結合...。


それらをすべて合わせたものが、「ボタン」というひとつの要素のプロトタイプなのです。

このプロトタイプは、構築段階でKernelに書き込まれる。そして、コンストラクタのファイルを読み込んで、その上にユーザーの値を書き込む。

私のアプローチでは、ElementとObjectの表現形式が大きなポイントになります。表形式です。これにより、Objectデータを圧縮し、小さなスペースに多くのプロパティを収めることができるようになりました。これをOOPのルールに従って書くと、大混乱になってしまう。




 
Реter Konow:

OOPでは、「カーネル」という概念はありません。OOPはクラスと構造体のアンサンブルを構築することを提案するが、プログラムの実際の中心は与えない...。

OOPは非常に柔軟な方法論なので、「カーネル」という概念のような先験的な考え方がないのです。しかし、OOPを使えば、ここで問題になっているカーネルモデルを構築することは大いに可能です。したがって、この文は完全に正しいとは言えません。

理由: