RPC ( Radical Processing Core ) の紹介
序章
この記事では、RPC と呼ばれる作成中の実際のプログラミング言語について説明します。RPC は人々が混乱しているものでした。Remote Procedure Callこの場合、RPC がリモート プロシージャ コールではないことを保証できます。代わりに、RPC は Radical Processing Core と呼ばれるプログラミング言語です。この言語は、いかに急進的で、どのように異なるように設計されているかから、その名前が付けられています。この記事では、数学、フロントエンド エンジニアリング、なぜ、どのように、最も重要なことについても深く掘り下げます。
理由を理解する
多くの開発者にとって、楽しみのために独自のプログラミング言語を構築することは夢ですが、実際にその使命を達成できる人はほとんどいません。その理由は単純で、プログラミング言語を構築するのは難しいからです。言語の最も複雑な部分の背後にある設計は、それを非常に困難にします。特に、コンパイルする予定がある場合。私の使命は違いました。私は楽しみのために言語を構築したくはありませんでした。単純に、複雑なことを簡単にし、簡単なことを難しくする言語を作りたかったのです。RPC は純粋に私自身の言語でした。どの言語からもインスピレーションを得ていません。デザインのアイデアも使用していません。人、物、アイテム、言語、コンセプトなどからもインスピレーションを得ていません。このデザインは純粋に私自身のものです。RPC がこのようになった理由と、そのデザインが生まれた方法は、まさに私だけの特定のグループの人々を実際にターゲットにすることを意図していなかったからです。その理由は、私が別の言語からインスピレーションを得たとしたら、その時点で、C# が Java のように現在の言語の単なる拡張であると固く信じているからです。答えに入る前に、言語の一般的な基礎を書き留めましょう。
- コンセプト: RPC のコンセプトは、簡単なアプリケーションを難しく、難しいアプリケーションを簡単にすることでした。これは、画面に何かを出力したい場合、RPC を使用して入力と出力の両方に独自のストリームを構築する必要があることを意味していました。これはまた、カーネル ドライバー、ローダー、メモリ リーダーとライター、マッパー、さらには UNIX SOCKET のような複雑なものなどのアプリケーションは、何かを出力するよりも実装する方が簡単であることを意味していました。
- 設計: すべての言語は独自の方法で特別ですが、RPC は異なっていました。特別であるだけでなく、複雑であるだけでもありませんでした。RPC は頭を悩ませるように設計されているため、何日も精神的なスパイラルに陥り、混乱します。インタープリターのエラーは理解しやすいですが、RPC 自体はそうではありません。tan、cos、e などのシンボルを使用するより数学的な実装が必要になるだけで、出力ストリームと同じくらい単純なものになります。この言語は、プログラマーのキャリアを選んだ理由を考えさせられるほど、あなたを混乱させることを意図していました。RPC は生でビルドされ、X86 アセンブラーを使用してコンパイルされるはずの言語でしたが、問題は開発者 (私) のスキルレベルにまで及びました。私は自分のコンパイラを構築する方法を理解するのに十分なアセンブラ、特にX86アセンブラを十分に知りません。実際、私がこれまでに構築した唯一のコンパイラは、BRAINF プログラミング言語用の C 言語であり、言語のサイズを考えると非常に簡単でした。したがって、これは、RPC がインタープリター型プログラミング言語として正式に開始されることを意味していました。RPC は、Go をプログラミング言語のバックエンドとして使用することにもなります。記録としては、go をバックエンドとして使用できます。この言語の設計については、この記事の後半で説明します。しかし、言語はあなたを混乱させるように設計されていることに注意してください. RPC は、Go をプログラミング言語のバックエンドとして使用することにもなります。記録としては、go をバックエンドとして使用できます。この言語の設計については、この記事の後半で説明します。しかし、言語はあなたを混乱させるように設計されていることに注意してください. RPC は、Go をプログラミング言語のバックエンドとして使用することにもなります。記録としては、go をバックエンドとして使用できます。この言語の設計については、この記事の後半で説明します。しかし、言語はあなたを混乱させるように設計されていることに注意してください.
- サブセット: RPC のサブセットは、RPC テンプレーティング、JSON、XML、GO、FORTRAN を表す RPCT、RPCJ、RPCX、RPCG、RPCF になります。これは、アクティブな HTML コード、JSON コード、XML コード、Go コード、さらには FORTRAN コードで RPC を記述し、RPC のバックエンド エンジンに json または XML または html ファイルなどで RPC コードを解析して検索するように指示できることを意味します。それが使用されます。
- スーパーセット: C には C++ というスーパーセットがあり、C++ には Carbon というスーパーセットがあります。RPC は同様の方法で機能し、RPC には RPC++ があり、これはプログラミング言語のより満足のいくものですが、数学的な部分です。これは、通常の RPC ではモジュールやクラスを使用しないため、.RPC++ ファイルでクラスやモジュールなどを使用できることを意味していました。ツリーはクラスとして機能し、ノードはモジュールとして機能しました。だから
class classname {}あなたの代わりにRPC_NODE somenodename(){[]}
なぜ解釈?
RPC の元の設計は、上記のように X86 アセンブラーでコンパイルおよび記述されているはずでしたが、その理由は次のとおりです。
- X86 アセンブラー、または実際にはあらゆる形式のアセンブラーに関するマスター知識はありません
- アセンブラーなどの言語からコンパイラーを構築することについてのマスターまたは複雑な理解がない
- インタープリターは、簡単に作成および構築できます。
何
すべてのプログラミング言語には、主に 2 つの質問がありますwhat and why。RPC が正確にどのようになるかについては、既に説明済みです。RPC は、現代のプログラムにおけるいくつかの問題を解決する言語になります。
- 数学: なんらかの理由で、Google、Amazon、Apple などの組織によって開発されていない現代のプログラミング言語には、数学の実装が非常に悪いものがあります。RPC は、より堅牢で高度な言語ですが、場合によってはそれほど難しくない言語であるため、RPC での数学的実装はより強力になります。標準の COS、TAN、URAND、RAND などは引き続き使用されますが、カスタム実装もさらに増える予定です。
- コンパイラ エラーおよびまたは提案システム: Go のようなほとんどの言語には奇妙なエラー システムがあります。パニック システムがうまく構築されているにもかかわらず、特に複雑になるほど、エラーに多くの説明が欠けています。python のような言語は、提案された列を教えずにインデントしすぎたと言い、時にはそれが上にある直接の行さえ与えません。したがって、RPC が行うことは、そのテンプレート エンジンのように機能することです。たとえば、コードの 15 行目にエラーがあると、そのコードの 5 行前と 5 行後に出力されます。これが存在する理由は、一般的な例外領域またはエラーが発生した場所を提供して、インタープリターがエラーを発生させた場合に迷子にならないようにするためです。コンパイラ エラーがストリームのようなものや、ビット単位の演算子などの複雑なものである場合は、数学的なエラーが発生する可能性が高く、何が問題なのかを正確に理解して、それを置き換えるものを時々提案します。たとえば、7 行のプログラムを作成し、4 行目の 2 列目に奇妙な記号を含む構文エラーがあるとします。RPC は次のようなステートメントを出力します。
- ユーザー エクスペリエンス: RPC はユーザーを満足させることを目的としておらず、ワークロードをより困難にしますが、エラー、書き込み、メモ、インポート、ファイルなどの点でユーザー エクスペリエンスを少し簡単にします。RPC には幅広いファイルの選択肢があります。以下です
さて、これはファイル名がたくさんあるのですが、なぜですか? RPC には、データを宣言してセクション化する方法がたくさんあります。RPC のデータは、xml、json、html、template、fortran、go、c++、C、Lua、Trees、Tree nodes、constants などを含まない場合は、.rpc で直接参照する必要があります。すべてのファイルには異なる意味があります。
- RPC : 生の RPC ソース コード ファイル
- RCT: Raw RPC テンプレート ソース コード ファイル
- RPCX: Raw RPC XML テンプレート ソース コード ファイル
- RPCJ: Raw RPC JSON テンプレート ソース コード ファイル
- RPCG: Raw RPC GO テンプレート ソース コード ファイル
- RPCF: Raw RPC Fortran テンプレート ソース コード ファイル
- RPCH++: ツリー、ノード、名前空間などのために定義された生の RPC ソース コード ファイル
- RPC++: R++ に似た RPC++ のスーパーセット用の生の RPC ソース コード ファイル
- RPCCLCCPQ: ラディカル プロセッシング コア C、Lua、C++、PQ。このファイルは非常に扱いにくいので、説明させてください。このタイプのファイルはメイン ファイルとして実行されず、メイン ファイルとして実行できませんが、メイン ファイルとして実行されます。
biRPC のバージョン。RPC のメイン ファイルまたは特定のファイルは、メイン関数、名前空間、インポート、モジュールなどを含むツリーとノードを持つことはできません。この言語は FORTRAN ではないため、別のファイルを一度に保持することができます。このファイルを使用すると、個々の関数を呼び出すことで Lua、C++、C、RPC コードをローカルにロードでき、ツリー、ノード、モジュール、名前空間、およびその他の形式の RPC コードをすべて 1 つのファイルで使用することもできます。このファイルは概念設計であり、このファイルが非常に複雑であり、それを実装して受け入れるには言語をうまく設計する必要があるため、プログラムの後のバージョンまで実装されません。以下の例は、ファイルのこのスーパー セットの例です。 - 最後に重要なことは、物事を簡単にすることです。これまでのほとんどのプログラミング言語は、最も複雑なタスクを実行するのを難しくし、最も簡単なタスクを非常に簡単にします。あなたはおそらく「もちろん、言語がどのように構築されているかということについてはハクサーが言っている」と言っているでしょう。これは、フロントエンドを優先して言語の簡単なものを優先する代わりに、RPC がより難しい、より複雑なものを優先することを意味します。これには、文字列のエンコード、文字列のデコードなどが含まれます。RPC では、エクスプロイト、グラフィカル アプリケーション、サーバー側アプリケーション、さらにはカスタマイズされたネットワークなどのハードコア アプリケーションを構築して、画面に何も出力しないようにする必要があります。これは、RPC の構造が非常に複雑であり、単純なアプリケーションを作成すると本当に複雑になるため、RPC が新しいプログラマーに推奨されない、または推奨される理由でもあります。この言語の経験則では、アプリケーションは複雑なトピックでなければなりません。それがうまくいかない場合、あなたは完全に目的ではなく、完全に言語の目的ではないより多くの作業を引き起こすことになります.LOL. 私がこの言語を気に入っているのは、複雑なアプリケーションをこれほど簡単に作成できる言語や、簡単なアプリケーションを作成するのにこれほど複雑な言語が他にあるとは思えないからです。それがうまくいかない場合、あなたは完全に目的ではなく、完全に言語の目的ではないより多くの作業を引き起こすことになります.LOL. 私がこの言語を気に入っているのは、複雑なアプリケーションをこれほど簡単に作成できる言語や、簡単なアプリケーションを作成するのにこれほど複雑な言語が他にあるとは思えないからです。それがうまくいかない場合、あなたは完全に目的ではなく、完全に言語の目的ではないより多くの作業を引き起こすことになります.LOL. 私がこの言語を気に入っているのは、複雑なアプリケーションをこれほど簡単に作成できる言語や、簡単なアプリケーションをこれほど複雑に作成できる言語が他にあるとは思えないからです。
私はこの質問をよく受けます。すでに存在するアプリケーションを構築するのに時間を無駄にすることは意味がないといつも言う人がいます。それはあなたが間違っているところです、私の友人!時間の無駄ではありません。
- 1: 使用されます
- 2:スキルアップになる
- 3:もっと調べてみます
- 4: 書きたいこと、話したいことが増える
- 5:新しい分野を開拓する
RPC の仕組みを理解する
概要と背景情報が終わったので、RPC がどのように機能するか、その構文、エラー システムなどに移ることができます。ここで、RPCT が RPC が使用されている唯一の現実的な証拠であることを覚えておいてください。ただし、言語は開発中です。この記事は執筆中であり、2023 年に公開される予定です。以下は、一般的なトピックと、RPC がそれらを処理する方法です。
- データ型: データ型は非常に具体的に構築されており、完全な名前を持つことができます。ほとんどの言語では、
int, bool, string, int32, uint32, uint16, int16 etc....適切にタイプする必要があります。Variable Integer varname = 1;たとえば、整数のデータ型を持つ変数が必要な場合は、ブール値が必要Variable Boolean varname = trueかどうかを指定する必要がありますVariable Unsigned_Integer32 Varname = 8913671371276782367862347823423478。 - メソッドとメソッド引数: メソッドは少し奇妙に定義され、一連の矢印と記号を使用してデータ型や引数などを定義します。RPC で関数またはメソッドを宣言する場合、RPC には TFAL ( Type First Argument Last ) は、引数リストを開始する前に RPC にデータ型を伝える必要があることを意味します。たとえば、関数が両方とも String 型の 2 つの引数を保持するようにしたい場合、次
String : String => FunctionName(x,y) {}のように入力します関数名と変数。もしあなたが持っていたら:=>String : Integer => FunctionName(x,y)、X は String 型、Y は Integer 型になります。戻り値の型についても同様です。=> は、変数を開始することを RPC に伝えます。 -> 記号は、変数を返すことを RPC に伝えます。したがって、3 つの引数を取り、同じ型を返す関数が必要な場合は、そのように関数を記述します。
Integer : Integer : Integer => Function(x, y, z) -> Integer32 {
Variable Integer32 Varname = x+y+z
<-Varname
}
Variable Type nameタイプ String の変数が必要な場合は、タイプしますVariable String varname = "data"。グローバル変数も、キーワードで作成できる別のものですGlobal。:たとえば、グローバル変数を定義する場合は、非常に単純ですよねGlobal->Varname : Integer32 = "23191289429034324236746723"?アイデアの構築
プログラミング言語が発展するにつれて、最初のアイデアから変化します。RPC の開発を始めると、より混乱し、より複雑になり、設計が変更されることを私は知っています。アイデア全体が大きく変わるべきではありませんが、それでも変わります。この言語の構築を進めていく中で、ハッカー向けではあるが少し風変わりな言語を作成する予定です。ハッカー向けの言語はすでに存在しますが、より多くのエンコーディングと、より簡単ではない特定のタスクを実行するためのより簡単な方法について話している. 結局、RPC は、すべての簡単なアプリケーションを難しくし、すべての難しいアプリケーションを簡単にする言語です。この考え方は、開発段階でも変わりません。画像のレンダリング、画像の挿入、データ操作、アルゴリズムの実装などはすべて簡単になり、それが一般的な考え方です。ただし、このシステムを可能な限り維持し、可能な限りシンプルに保ちたいと考えています。さて、すでに議論した言語は非常に急進的であり、私たち全員が知っているように、言語が本来あるべきものとは反対のプログラムを構築することを本当に奇妙にします. しかし、このターニングポイントで、私はエラーシステムを急進的にしたいと思っています。条件、ループ、関数などを終了させる言語を知っている しかし、このターニングポイントで、私はエラーシステムを急進的にしたいと思っています。条件、ループ、関数などを終了させる言語を知っている しかし、このターニングポイントで、私はエラーシステムを急進的にしたいと思っています。条件、ループ、関数などを終了させる言語を知っているPLEASE ENDそうしないと失礼だと言うでしょうか?エラーシステムが急進的であるためには、それに対して急進的でなければならないことを除いて、私たちの言語は同じように機能します。これは、すべての条件文に対して、ステートメントとして「Please go」または「fucking leave」のいずれかを使用するオプションがあることを意味しますend。このアイデアは、プリーズ エンド システムを中心に形成されたのではなく、言語標準に適合する独自のものとして形成されました。
仕上げと結論
RPC は特殊で混乱の多い言語であり、新しいプログラマー向けではなく、実験と深い理解を目的とした言語です。言うまでもなく、RPC はプログラミング言語の判断について多くのことを教えてくれます。この言語を少なくとも何人かの人が試してくれることを願っています。この言語は、私が人気を得ようとしているものではありません。探検家や、他の人々の精神の領域を探求し続ける勇気のある人々だけにとどめておきたいと思います. この言語は私にとって特別なものです。そのデザイン、コンセプト、名前、バナー、ロゴ、さらには最初のソース コードに至るまですべてが私のものであり、それがこの言語の最も優れた点です。この言語が本に残り、急進的であり続けるためのメモを保持することを願っています. 私が開発チームを必要としない理由は、誰かがそれを変更するということは、この言語がどのように機能するかを誰かに説明しなければならないことを意味し、単に心を共有することは、誰もが望んだり必要としたりするものではないからです. そのため、RPC は過激であり続け、無礼で可愛らしくあり続けると同時に、より多くの情報を得るために脳を詮索し、2 本のナイフを取り、キーボードを半分に割るまで脳細胞をスライスし続けます。これが、プログラミング言語を構築すること、つまり創造性です。何年もの間、コンピューター科学者は常に声明を発表してきました 失礼でキュートな態度を取り続けると同時に、あなたの脳を詮索してより多くの情報を求め、キーボードを半分に折りたくなるまで 2 本のナイフを取り、脳細胞をスライスし続けます。これが、プログラミング言語を構築すること、つまり創造性です。何年もの間、コンピューター科学者は常に声明を発表してきました 失礼でキュートな態度を取り続けると同時に、あなたの脳を詮索してより多くの情報を求め、キーボードを半分に折りたくなるまで 2 本のナイフを取り、脳細胞をスライスし続けます。これが、プログラミング言語を構築すること、つまり創造性です。何年もの間、コンピューター科学者は常に声明を発表してきましたHow can I do this in a different wayこれが私のやり方です。過度に人気のあるものをひねりすぎて、まるでアセンブラーが fortran と C の赤ちゃんを産んだかのように、現代の不正なアセンブラーのように見えます。次回まで
~Totally_Not_A_Haxxer アウト
私のコンテンツに遅れずについていきたい場合は、私をサポートすることを忘れないでください!
開発体制
開発ページ
インスタグラムページ
https://www.instagram.com/Totally_Not_A_Haxxer

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































