Une introduction au RPC ( Radical Processing Core )
Introduction
Cet article parlera de mon langage de programmation actuel appelé RPC. RPC était quelque chose avec lequel les gens se sont confondus, Remote Procedure Callje peux vous assurer que RPC n'est pas un appel de procédure à distance dans ce cas. Au lieu de cela, RPC est un langage de programmation appelé Radical Processing Core. Ce langage tire son nom de sa radicalité et de sa différenciation. Cet article aborde également en profondeur les mathématiques, l'ingénierie frontale, pourquoi, comment et le plus important quoi.
Comprendre pourquoi
Pour de nombreux développeurs, c'est un rêve de créer leur propre langage de programmation pour le plaisir, mais très peu accomplissent réellement cette mission. La raison en est simplement que la construction d'un langage de programmation est difficile. La conception qui peut aller derrière les parties les plus complexes d'un langage le rend vraiment difficile. Surtout si vous envisagez de le faire compilé. Ma mission était différente, je ne voulais pas construire un langage pour le plaisir, je voulais simplement créer un langage qui rende les choses complexes faciles et difficiles si cela a du sens. RPC était purement un langage à moi, je ne me suis inspiré d'aucun langage, je n'ai utilisé aucune idée de conception, je ne me suis inspiré d'aucune personne, chose, élément, langage, concept, etc. Ce design était purement le mien. La raison pour laquelle RPC était tel qu'il était et la façon dont sa conception est sortie était exactement qu'il n'était pas destiné à cibler un groupe spécifique de personnes juste moi. La raison en est que si je devais m'inspirer d'un autre langage, je crois fermement qu'à ce moment-là, ce n'est qu'une extension du langage actuel comme C# l'est de Java. Avant de passer à la réponse pourquoi, établissons une base générale de la langue.
- Le concept : Le concept de RPC était de rendre les applications simples difficiles et les applications difficiles faciles. Cela signifiait que si vous vouliez imprimer quelque chose à l'écran, vous deviez créer vos propres flux pour l'entrée et la sortie à l'aide de RPC. Cela signifiait également que des applications telles que les pilotes de noyau, les chargeurs, les lecteurs et écrivains de mémoire, les mappeurs et même quelque chose d'aussi complexe que UNIX SOCKETS seraient plus faciles à implémenter qu'à produire quelque chose.
- La conception : chaque langage est spécial à sa manière, mais RPC était différent, c'était PLUS que juste spécial, c'était PLUS que juste complexe. RPC a été conçu pour vous embrouiller tellement la tête qu'il vous mettrait dans une spirale mentale pendant des jours et vous confondrait. Bien que les erreurs d'interprétation soient faciles à comprendre, RPC lui-même ne l'est pas. Il aurait une implémentation plus mathématique vous obligeant à utiliser les symboles tan, cos, e, etc. simplement pour rendre quelque chose d'aussi simple qu'un flux de sortie. Ce langage était censé vous déranger au point de vous faire réfléchir à la raison pour laquelle vous avez choisi la carrière de programmeur. RPC était un langage censé être construit brut et être compilé à l'aide de X86 Assembler, mais le problème se résumait au niveau de compétence du développeur (moi-même). Je ne connais pas assez ou même pas assez l'assembleur, en particulier l'assembleur X86, pour comprendre comment construire mon propre compilateur. En fait, le seul compilateur que j'ai jamais construit était en C pour le langage de programmation BRAINF, ce qui était super facile à faire compte tenu de la taille du langage. Cela signifiait donc que RPC commencerait officiellement en tant que langage de programmation interprété. RPC continuerait également à utiliser Go comme back-end pour le langage de programmation, pour mémoire, oui, go peut être utilisé comme back-end. La conception du langage sera présentée plus loin dans cet article. Mais gardez à l'esprit que le langage a été conçu pour vous déranger. RPC continuerait également à utiliser Go comme back-end pour le langage de programmation, pour mémoire, oui, go peut être utilisé comme back-end. La conception du langage sera présentée plus loin dans cet article. Mais gardez à l'esprit que le langage a été conçu pour vous déranger. RPC continuerait également à utiliser Go comme back-end pour le langage de programmation, pour mémoire, oui, go peut être utilisé comme back-end. La conception du langage sera présentée plus loin dans cet article. Mais gardez à l'esprit que le langage a été conçu pour vous déranger.
- Sous-ensembles : les sous-ensembles de RPC seraient RPCT, RPCJ, RPCX, RPCG, RPCF qui signifie RPC Templating, JSON, XML, GO, FORTRAN. Cela signifie que vous pourrez écrire RPC dans du code HTML actif, du code JSON, du code XML, du code Go et même du code FORTRAN et dire au moteur principal de RPC d'analyser et de localiser le code RPC dans les fichiers json ou XML ou html, etc. qui serait utilisé.
- Supersets : C a un super-ensemble appelé C++ et C++ a un super-ensemble appelé Carbon. RPC fonctionnerait de la même manière, RPC aurait RPC++ qui serait une partie plus satisfaisante mais mathématique du langage de programmation. Cela signifiait que les fichiers .RPC++ pouvaient utiliser des classes et des modules, etc., car le RPC normal n'utilisait pas de modules et de classes. Les arbres ont agi comme des classes et les nœuds ont agi comme des modules. Donc au lieu de
class classname {}vous avezRPC_NODE somenodename(){[]}
Pourquoi interprété ?
La conception originale de RPC était censée être compilée et écrite dans X86 Assembler, comme indiqué ci-dessus, mais voici pourquoi.
- Aucune connaissance approfondie de l'assembleur X86 ou en fait de toute forme d'assembleur
- Aucune maîtrise ou compréhension complexe de la construction de compilateurs à partir de langages tels que l'assembleur
- Les interprètes sont plus faciles à fabriquer et à utiliser.
Quoi
Avec chaque langage de programmation viennent les deux questions principales et c'est what and why. Eh bien, nous avons déjà compris pourquoi, alors que deviendra exactement RPC. RPC deviendra un langage qui résoudra quelques problèmes dans les programmes modernes.
- Mathématiques : Pour une raison quelconque, les langages de programmation modernes qui n'ont pas été développés par des organisations telles que Google, Amazon ou Apple ont une très très mauvaise implémentation des mathématiques. Étant donné que RPC est un langage censé être plus robuste et avancé mais moins difficile dans certains cas, l'implémentation mathématique dans RPC sera beaucoup plus intense. Les COS, TAN, URAND, RAND, etc. standard seront toujours utilisés, mais il y aura également plus d'implémentations personnalisées.
- Erreurs de compilation et/ou systèmes de suggestion : la plupart des langages comme Go ont un système d'erreur étrange, bien que le système de panique soit bien construit, il leur manque beaucoup de descriptions dans leurs erreurs, en particulier plus vous êtes complexe. Des langages comme python disent que vous avez trop indenté sans vous dire la colonne suggérée, et ils ne vous donnent même pas la ligne directe parfois au-dessus. Donc, ce que RPC va faire, c'est agir comme son moteur de template. Par exemple, si vous faites une erreur à la ligne 15 de votre code, il apportera et affichera 5 lignes avant et 5 lignes après ce code. La raison pour laquelle cela existe est de vous donner une zone générale d'exception ou l'endroit où l'erreur s'est produite pour vous assurer que vous n'allez pas vous perdre au cas où l'interpréteur déclencherait une erreur. Si l'erreur du compilateur est quelque chose comme un flux ou quelque chose de complexe comme des opérateurs au niveau du bit, vous obtiendrez très probablement une erreur mathématique avec une compréhension approfondie de ce qui s'est exactement passé avec une suggestion de temps en temps de quoi le remplacer. Par exemple, disons que vous créez un programme de 7 lignes et qu'il y a une erreur de syntaxe sur la ligne 4 colonne 2 avec un symbole bizarre. RPC produira des instructions comme celle-ci.
- Expérience utilisateur : bien que RPC ne vise pas à satisfaire l'utilisateur et rende la charge de travail plus difficile, cela rendra l'expérience utilisateur un peu plus facile en termes d'erreurs, d'écriture, de notes, d'importations, de fichiers, etc. RPC propose une large sélection de fichiers qui sont les suivants
Eh bien, c'est beaucoup de noms de fichiers, pourquoi ? Eh bien, RPC a de nombreuses façons de déclarer et de sectionner des données. Les données de RPC doivent être directement référencées avec .rpc si elles n'incluent pas xml, json, html, template, fortran, go, c ++, C, Lua, Trees, Tree nodes, constants etc. Tous les fichiers ont une signification différente
- RPC : Fichier de code source RPC brut
- RPCT : fichier de code source de modèle RPC brut
- RPCX : fichier de code source de modèle XML RPC brut
- RPCJ : Fichier de code source de modèle RPC JSON brut
- RPCG : fichier de code source de modèle RPC GO brut
- RPCF : fichier de code source de modèle RPC Fortran brut
- RPCH++ : Fichier de code source RPC brut défini pour les arbres, les nœuds, les espaces de noms, etc.
- RPC++ : fichier de code source RPC brut pour le sur-ensemble de RPC++ similaire à R++
- RPCCLCCPQ : Processeur Radical Core C, Lua, C++, PQ. Ce fichier était super maladroit alors laissez-moi vous expliquer. Ce type de fichier ne s'exécutera pas en tant que fichier principal et ne pourra pas s'exécuter en tant que fichier principal mais s'exécutera en tant que
biversion RPC. Les fichiers principaux de RPC ou certains fichiers ne peuvent pas simplement avoir des arbres et des nœuds avec des fonctions principales, des espaces de noms, des importations, des modules, etc., car ce langage n'est pas FORTRAN, il permet à un fichier séparé de contenir tout à la fois. Ce fichier vous permet de charger localement du code Lua, C++, C, RPC en appelant des fonctions individuelles et vous permettant également d'utiliser des arbres, des nœuds, des modules, des espaces de noms et d'autres formes de code RPC dans un seul fichier. Ce fichier est une conception conceptuelle et ne sera pas implémenté avant les versions ultérieures du programme en raison de la complexité extrême de ce fichier et de la qualité de la conception du langage pour l'implémenter et l'accepter. Un exemple ci-dessous est un exemple de ce super ensemble d'un fichier., - Enfin, et ce n'est pas le moindre, prendre les choses en main : la plupart des langages de programmation à ce jour rendent les tâches les plus compliquées difficiles à réaliser et les tâches les plus simples bien faciles. Vous dites probablement " bien sûr haxxer que la façon dont les langues sont construites ", eh bien vous voyez que je ne suis pas construit de cette façon XD. Cela signifie qu'au lieu de donner la priorité au front-end et de donner la priorité aux choses faciles dans le langage, RPC donnera la priorité aux choses les plus compliquées. Cela inclut des éléments tels que l'encodage de chaînes, le décodage de chaînes, etc. RPC souhaite que vous construisiez des applications hardcore telles que des exploits, des applications graphiques, des applications côté serveur et même des réseaux personnalisés, sans imprimer quelque chose à l'écran. C'est aussi pourquoi RPC n'est pas recommandé pour les nouveaux programmeurs ou sera recommandé en raison de la complexité insensée de la structure de RPC et de la complexité réelle de l'écriture d'applications simples. La règle d'or dans ce langage est que votre application DOIT porter sur un sujet complexe. Si ce n'est pas bien, vous allez causer plus de travail, ce qui n'est pas totalement le but mais pas du tout le but du langage LOL. J'aime ce langage parce que je n'ai pas l'impression qu'il existe un langage qui facilite la création d'applications compliquées et complique la création d'applications simples. Si ce n'est pas bien, vous allez causer plus de travail, ce qui n'est pas totalement le but mais pas du tout le but du langage LOL. J'aime ce langage parce que je n'ai pas l'impression qu'il existe un langage qui facilite la création d'applications compliquées et complique la création d'applications simples. Si ce n'est pas bien, vous allez causer plus de travail, ce qui n'est pas totalement le but mais pas du tout le but du langage LOL. J'aime ce langage parce que je n'ai pas l'impression qu'il existe un langage qui facilite la création d'applications compliquées et complique la création d'applications simples.
Je reçois souvent cette question, certaines personnes me diront toujours qu'il ne sert à rien de perdre du temps à construire une application qui existe déjà. C'est là que tu te trompes mon ami ! Ce n'est pas une perte de temps simplement parce que
- 1 : Il sera utilisé
- 2 : Cela améliorera mes compétences
- 3: Il sera exploré plus
- 4 : Ajoute plus à écrire et à discuter
- 5 : Explore de nouveaux domaines
Comprendre le fonctionnement du RPC
Maintenant que nous avons terminé avec l'introduction et les informations de base, nous pouvons passer au fonctionnement exact de RPC, sa syntaxe, son système d'erreur, etc. Gardez à l'esprit que RPCT est la seule preuve réaliste de l'utilisation de RPC, mais le langage est en développement comme cet article est en cours de rédaction et sera bientôt publié en 2023. Vous trouverez ci-dessous des sujets généraux et comment RPC les gère.
- Types de données : les types de données sont construits de manière très spécifique et peuvent avoir des noms complets. La plupart des langages vous obligent à bien taper
int, bool, string, int32, uint32, uint16, int16 etc....RPC vous oblige à taper tout ce qu'il faut pour spécifier exactement ce qu'il fait. par exemple, si vous vouliez une variable qui avait un type de données entier, vous deviez spécifierVariable Integer varname = 1;si vous vouliez une valeur booléenne que vous taperiezVariable Boolean varname = truesi vous vouliez des entiers non signés,Variable Unsigned_Integer32 Varname = 8913671371276782367862347823423478etc. - Méthodes et arguments de méthode : les méthodes sont définies de manière un peu étrange et utilisent une série de flèches et de symboles pour définir leurs types de données, leurs arguments, etc. Si vous souhaitez déclarer une fonction ou une méthode dans RPC, RPC a une règle appelée TFAL ( Type First Argument Last ) ce qui signifie que vous devez indiquer à RPC le type de données avant de commencer la liste des arguments. Ainsi, par exemple, disons que vous voulez qu'une fonction contienne 2 arguments de type String, vous taperez
String : String => FunctionName(x,y) {}Une fois que vous déclarez les types de données que vous devez utiliser:pour les séparer et=>pour indiquer à RPC à quelle fonction appartiennent ces types de données, après cela, vous définissez le nom de la fonction avec les variables. Alors si vous aviezString : Integer => FunctionName(x,y), X serait de type String et Y serait de type Integer. Le même genre de suit pour les types de retour. Le => indique à RPC que vous souhaitez initier des variables, le symbole -> indique à RPC que vous souhaitez renvoyer des variables. Donc, si vous vouliez une fonction prenant 3 arguments et renvoyant le même type, vous écririez la fonction comme suit.
Integer : Integer : Integer => Function(x, y, z) -> Integer32 {
Variable Integer32 Varname = x+y+z
<-Varname
}
Variable Type namedonc si vous vouliez une variable de type String, vous tapez Variable String varname = "data". Les variables globales sont également une autre chose que vous pouvez créer avec le Globalmot-clé. Les variables globales doivent être définies avec un :Donc, par exemple, si vous vouliez définir une variable globale, vous utiliseriez Global->Varname : Integer32 = "23191289429034324236746723"Assez simple, n'est-ce pas ?Construire une idée
Au fur et à mesure qu'un langage de programmation se développe, il changera de son idée initiale. RPC Je sais que lorsque je commencerai à développer, cela deviendra beaucoup plus déroutant et beaucoup plus compliqué, ce qui signifie que la conception changera. Tout autour, l'idée ne devrait pas beaucoup changer, mais elle changera quand même. Au fur et à mesure que nous construisons ce langage, je prévois de créer un langage un peu plus farfelu, mais pour les hackers. Un langage existe déjà pour les hackers mais je parle de plus d'encodage et de structures plus simples pour effectuer certaines tâches qui ne le sont pas. Après tout, RPC est le langage qui rend chaque application facile difficile et chaque application difficile facile. Cette idée restera la même même dans les phases de développement, le rendu d'image, l'injection d'image, la manipulation de données, l'implémentation algorithmique, etc. seront tous beaucoup plus faciles et c'est l'idée générale. Nous voulons nous assurer de préserver ce système autant que possible et de le garder aussi simple que possible. Maintenant, le langage dont nous avons déjà parlé est super radical et rend vraiment farfelu la construction de programmes qui, comme nous le savons tous, sont à l'opposé de ce que les langages sont censés être. Cependant, avec ce tournant, je veux aussi rendre le système d'erreur radical, ce qui signifie qu'il vous criera dessus et vous donnera des erreurs complexes mais faciles à comprendre. Vous connaissez le langage qui vous permet de terminer les conditions, les boucles, les fonctions, etc. avec Cependant, avec ce tournant, je veux aussi rendre le système d'erreur radical, ce qui signifie qu'il vous criera dessus et vous donnera des erreurs complexes mais faciles à comprendre. Vous connaissez le langage qui vous permet de terminer les conditions, les boucles, les fonctions, etc. avec Cependant, avec ce tournant, je veux aussi rendre le système d'erreur radical, ce qui signifie qu'il vous criera dessus et vous donnera des erreurs complexes mais faciles à comprendre. Vous connaissez le langage qui vous permet de terminer les conditions, les boucles, les fonctions, etc. avecPLEASE ENDet vous dira que vous êtes impoli si vous ne le faites pas ? Eh bien, notre langage fonctionne de la même manière, sauf que vous devez être radical pour que le système d'erreur soit radical. Cela signifie que pour chaque conditionnel, vous avez la possibilité d'utiliser s'il vous plaît aller ou putain de congé comme enddéclaration. Cette idée n'a pas été formée autour du système de fin s'il vous plaît, mais a plutôt été formée comme sa propre chose pour s'adapter à la norme des langues.
Finition et conclusion
RPC est un langage de spécialité et de confusion. C'est un langage qui n'est pas destiné aux nouveaux programmeurs, un langage destiné aux expériences et à une compréhension approfondie. Sans oublier que RPC vous en apprendra beaucoup sur l'évaluation d'un langage de programmation. J'espère bien sûr qu'au moins certaines personnes essaieront cette langue et si ce n'est pas le cas, j'espère que la plupart des gens finiront par la voir. Ce langage n'est pas quelque chose que j'ai l'intention de rendre populaire, je préfère le réserver uniquement aux explorateurs ou plutôt aux personnes qui osent continuer à explorer les royaumes de l'esprit des autres. Ce langage est spécial pour moi, son design, ses concepts, son nom, sa bannière et son logo jusqu'au code source initial m'appartiennent et c'est ce qu'il y a de mieux. J'espère que ce langage restera dans les livres et qu'il gardera son mémo pour continuer à être radical. La raison pour laquelle je ne veux pas d'équipe de développement est que quelqu'un qui le change signifie que je dois expliquer à quelqu'un comment fonctionne ce langage et simplement partager les esprits n'est tout simplement pas ce que quelqu'un veut ou a besoin. Par conséquent, RPC continuera à rester radical, à être grossier et mignon en même temps qu'il fouille votre cerveau pour plus d'informations et continue à prendre deux couteaux et à découper des cellules cérébrales jusqu'à ce que vous vouliez casser votre clavier en deux. C'est ce qu'est la construction d'un langage de programmation, la créativité. Pendant des années, les informaticiens ont toujours affirmé continuez à être impoli et mignon en même temps qu'il soulève votre cerveau pour plus d'informations et continue à prendre deux couteaux et à découper des cellules cérébrales jusqu'à ce que vous vouliez casser votre clavier en deux. C'est ce qu'est la construction d'un langage de programmation, la créativité. Pendant des années, les informaticiens ont toujours affirmé continuez à être impoli et mignon en même temps qu'il soulève votre cerveau pour plus d'informations et continue à prendre deux couteaux et à découper des cellules cérébrales jusqu'à ce que vous vouliez casser votre clavier en deux. C'est ce qu'est la construction d'un langage de programmation, la créativité. Pendant des années, les informaticiens ont toujours affirméHow can I do this in a different wayeh bien voici ma façon, ma façon de prendre quelque chose de trop populaire et de le tordre tellement qu'il ressemble à un assembleur moderne malformé comme si l'assembleur avait un bébé avec fortran et C. Jusqu'à la prochaine fois
~Totally_Not_A_Haxxer out
Si vous voulez suivre mon contenu, n'oubliez pas de m'aider à me soutenir!
Organisation de développement
Page de développement
PageInstagram
https://www.instagram.com/Totally_Not_A_Haxxer
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































