|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
手続き型プログラミング
手続き型プログラミングとは何ですか?
手続き型プログラミングは通常、開発者が最初に学ぶパラダイムです。基本的に、手続き型コードは、論理フェーズでタスクを実行する方法をデバイスに直接指示するコードです。プロシージャ呼び出しの概念に基づいて、手続き型プログラミングではプログラムをプロシージャ (ルーチンまたは関数とも呼ばれる) に分割します。これらのプロシージャは単に実行される一連のアクションを持ちます。このパラダイムは直線的なトップダウン アプローチを採用し、データとメソッドを 2 つの独立したエンティティとして見なします。
手続き型プログラミングの特徴
パラメータの受け渡し: パラメータの受け渡しは、関数、サブルーチン、またはプロシージャにパラメータを渡すために使用される手法です。パラメータの受け渡しは、「値による受け渡し」、「参照による受け渡し」、「結果による受け渡し」、「値と結果による受け渡し」、「名前による受け渡し」によって行うことができます。
ローカル変数:ローカル変数はメソッドのメイン構造で定義され、指定されたローカル スコープに限定されます。定義されたメソッド内でのみ使用でき、定義されたメソッドの外で使用された場合、コードは動作しなくなります。
定義済み関数:定義済み関数は、多くの場合、名前で示される命令です。通常、事前定義された関数は高レベルのプログラミング言語に組み込まれますが、プログラムではなくライブラリまたはレジストリから取得されます。
事前定義関数の一例は、文字列内の文字位置を検索する「charAt()」です。
モジュール性:モジュール性とは、2 つの異なるシステムが 2 つの異なる目標を抱えているにもかかわらず、より大きなジョブを先に完了するために統合されることです。すべてのシステム セットは、すべてのタスクが完了するまで、独自のタスクを次々に実行します。
グローバル変数:グローバル変数は、コード内で指定された他のすべての関数の外側で宣言される変数です。このため、ローカル変数とは異なり、グローバル変数はすべての関数で利用できます。
オブジェクト指向プログラミング (OOP) と手続き型プログラミング
オブジェクト指向プログラミング (OOP) は、データ (フィールドまたは属性の形式) とコードを「オブジェクト」(プロシージャまたはメソッドの形式) に格納するプログラミング パラダイムです。
オブジェクト指向プログラミングは、オブジェクトの概念を使用して実際の世界と対話するトップダウンのプログラミング方法です。 C++、Python、Java など、広く使用されているプログラミング言語の大部分は、オブジェクト指向プログラミング パラダイムを含むさまざまなパラダイムを採用しています。
手続き型プログラミングは主に関数に焦点を当てているのに対し、OOP は主にオブジェクトに基づいているという点で、手続き型プログラミングはオブジェクト指向プログラミングとは異なります。これら 2 つのプログラミング パラダイムの主な違いを次に示します。
焦点
アルゴリズムは、主にデータの保存、操作、管理に関係する手続き指向のプログラミング パラダイム (実行可能なコンピュータ命令の有限シーケンス) の基礎です。
動作メカニズム
手続き型プログラミングの基本戦略は、難しい問題を、理解しやすく、扱いやすく、管理しやすい小さな部分に分割することです。
一方、オブジェクト指向プログラミング (OOP) は、オブジェクトを処理するための技術やロジックではなく、処理されるオブジェクトに重点を置きます。
起源
手続き型プログラミング パラダイムは命令型プログラミング モデルから開発されたものであるのに対し、宣言型プログラミング パラダイムは OOP パラダイムに関連しています。
プログラムの部門
プログラムは、手続き型プログラミング パラダイムに基づいて関数またはコード ブロックに編成されます。関数は、このパラダイムにおけるプログラミング単位です。プログラムは、オブジェクト指向プログラミング パラダイムの下でクラスの複数のオブジェクトに編成され、プログラミング単位はクラスです。
メモリ要件
オブジェクト指向プログラミングのデータ指向アプローチには、大容量のメモリが必要です。
一方、手続き指向プログラミング パラダイムは、非常に少ないメモリで動作します。
アプローチ
手続き型言語は問題解決にトップダウンのアプローチを使用し、巨大で複雑な問題を個別に検討できる小さなセクションに分割します。
オブジェクト指向プログラミングはボトムアップ戦略を採用しており、小さなチャンクを組み立てて大きなオブジェクトを構築する必要があります。
前者は巨大なプログラムを小さな部分に分割しますが、後者は多数の小さなプログラムから大きなプログラムを組み立てます。このように、手続き指向とオブジェクト指向のプログラミング手法は正反対です。
コードのデバッグと再利用
手続き型言語のデバッグは複雑ですが、オブジェクト指向言語のデバッグはシンプルで簡単です。さらに、手続き指向プログラミング パラダイムと比較して、オブジェクト指向プログラミングではコードの再利用がかなり簡単になります。
データの保管
オブジェクト指向プログラミング パラダイムでは、データと関連する動作は 1 つの場所に保存されますが、手続き指向プログラミング パラダイムでは、データと関連する動作はさまざまな領域に分離されて保存されます。
並列プログラミングは、手続き型プログラミング パラダイムではサポートされていませんが、オブジェクト指向プログラミング モデルではサポートされています。
コミュニケーション
手続き型プログラミング パラダイムでは、コードはプログラムの関数を呼び出すことによって通信されます。
オブジェクト指向プログラミングでは、オブジェクトはメッセージを渡すことによって相互に通信します。
手続き型プログラミング言語の例
Haskell、C、Pascal、Fortran、BASIC などは、手続き型プログラミング パラダイムを可能にする言語です。
C++、Python、Java は、OOP パラダイムをサポートする言語のよく知られた例です。
信頼された実行環境 (TEE)
Trusted Execution Environment (TEE) は、メイン プロセッサ内の安全な領域であり、機密性の高いコードやデータが改ざんや外部からの監視を恐れることなく動作できる保護されたスペースを提供します。 |
人間の鍵
ヒューマン キーは、あなたが何であるか、あなたが知っていること、またはあなたが持っているものから派生した暗号鍵です。これらは、デジタル資産の保護、プライバシーの保護、分散型 Web へのアクセスに使用されます。 |
オープンファイナンス (OpenFi)
OpenFi は「Open Finance」の略で、従来の金融 (TradFi) と分散型金融 (DeFi) を統合した金融フレームワークです。 |
サービスとしてのロールアップ (RaaS)
Rollups-as-a-Service (RaaS) を使用すると、ビルダーは独自のロールアップを迅速に構築して起動できます。 RaaS プロバイダーは、基盤となる技術スタックのカスタマイズ、コードなしの管理、コア インフラストラクチャとのワンクリック カスタム統合などのエンドツーエンドのソリューションを提供します。 |
データ可用性サンプリング (DAS)
データ可用性サンプリング (DAS) は、各参加者がデータセット全体をダウンロードすることなく、分散型アプリケーションがブロック データの可用性を検証できるようにする方法です。 |
複数のデータの可用性 (MultiDA)
このブロックチェーン アーキテクチャでは、複数のデータ可用性 (DA) サービスを使用してデータの冗長性を確保します。 |