Un'introduzione a RPC ( Radical Processing Core )

Dec 06 2022
Introduzione Questo articolo parlerà del mio attuale linguaggio di programmazione in formazione chiamato RPC. RPC era qualcosa che le persone si confondevano con Remote Procedure Call, posso assicurarti che RPC non è Remote Procedure Call in questo caso.
Logo ufficiale RPC

introduzione

Questo articolo parlerà del mio attuale linguaggio di programmazione in formazione chiamato RPC. RPC era qualcosa con cui le persone si confondevano, Remote Procedure Callposso assicurarti che RPC non è una chiamata di procedura remota in questo caso. Invece RPC è un linguaggio di programmazione chiamato Radical Processing Core. Questo linguaggio prende il nome da quanto radicale e diverso è stato progettato per essere. Questo articolo approfondisce anche la matematica, l'ingegneria front-end, perché, come e cosa più importante.

Capire perché

Per molti sviluppatori è un sogno costruire il proprio linguaggio di programmazione per divertimento, tuttavia pochissimi completano effettivamente quella missione. Il motivo è semplicemente che costruire un linguaggio di programmazione è difficile. Il design che può andare dietro le parti più complesse di una lingua lo rende davvero difficile. Soprattutto se hai intenzione di farlo compilare. La mia missione era diversa, non volevo costruire un linguaggio per divertimento, volevo semplicemente creare un linguaggio che rendesse le cose complesse facili e le cose facili difficili se questo ha un senso. RPC era puramente un mio linguaggio, non ho preso ispirazione da nessuna lingua, non ho usato alcuna idea di design, non ho preso ispirazione da nessuna persona, cosa, oggetto, lingua, concetto ecc. Questo design era puramente mio. Il motivo per cui RPC era così com'era e il modo in cui è venuto fuori il suo design era esattamente che non era destinato a prendere di mira un gruppo specifico di persone solo a me. La ragione di ciò è perché se dovessi prendere ispirazione da un altro linguaggio, credo fermamente che a quel punto sia solo un'estensione del linguaggio attuale come C # è di Java. Prima di andare a rispondere, perché tracciamo una base generale della lingua.

  • Il concetto: Il concetto di RPC era quello di rendere le applicazioni facili difficili e le applicazioni difficili facili. Ciò significava che se volevi stampare qualcosa sullo schermo avresti dovuto creare i tuoi flussi sia per l'input che per l'output utilizzando RPC. Ciò significava anche che applicazioni come driver del kernel, caricatori, lettori e scrittori di memoria, mappatori e persino qualcosa di così complesso come UNIX SOCKETS sarebbero stati più facili da implementare che produrre qualcosa.
  • Il design: ogni linguaggio è speciale a modo suo, ma RPC era diverso, era PIÙ che semplicemente speciale, era PIÙ che semplicemente complesso. RPC è stato progettato per fotterti così tanto da metterti in una spirale mentale per giorni e confonderti. Nonostante gli errori dell'interprete siano facili da capire, RPC stesso non lo è. Avrebbe un'implementazione più matematica che ti fa usare i simboli tan, cos, e, ecc. Solo che rende qualcosa di semplice come di nuovo un flusso di output. Questo linguaggio aveva lo scopo di incasinarti così tanto da farti pensare al motivo per cui hai scelto la carriera di programmatore. RPC era un linguaggio che doveva essere creato in modo grezzo e compilato utilizzando X86 Assembler, tuttavia il problema si riduceva al livello di abilità dello sviluppatore (me stesso). Non conosco abbastanza o nemmeno abbastanza assembler, in particolare l'assembler X86, per capire come costruire il mio compilatore. In effetti l'unico compilatore che abbia mai creato era in C per il linguaggio di programmazione BRAINF, il che è stato semplicissimo da fare date le dimensioni del linguaggio. Quindi questo significava che RPC sarebbe ufficialmente nato come linguaggio di programmazione interpretato. RPC avrebbe anche continuato a utilizzare Go come back-end per il linguaggio di programmazione, per la cronaca sì, go può essere utilizzato come back-end. Il design della lingua verrà mostrato più avanti in questo articolo. Ma tieni presente che la lingua è stata progettata per scherzare con te. RPC avrebbe anche continuato a utilizzare Go come back-end per il linguaggio di programmazione, per la cronaca sì, go può essere utilizzato come back-end. Il design della lingua verrà mostrato più avanti in questo articolo. Ma tieni presente che la lingua è stata progettata per scherzare con te. RPC avrebbe anche continuato a utilizzare Go come back-end per il linguaggio di programmazione, per la cronaca sì, go può essere utilizzato come back-end. Il design della lingua verrà mostrato più avanti in questo articolo. Ma tieni presente che la lingua è stata progettata per scherzare con te.
  • Sottoinsiemi: i sottoinsiemi di RPC sarebbero RPCT, RPCJ, RPCX, RPCG, RPCF che stanno per RPC Templating, JSON, XML, GO, FORTRAN. Ciò significa che sarai in grado di scrivere RPC in codice HTML attivo, codice JSON, codice XML, codice Go e persino codice FORTRAN e dire al motore di back-end di RPC di analizzare e individuare il codice RPC nei file json o XML o html ecc. che verrebbe utilizzato.
  • Superset: C ha un superset chiamato C++ e C++ ha un superset chiamato Carbon. RPC funzionerebbe in modo simile, RPC avrebbe RPC++ che sarebbe una parte più soddisfacente ma matematica del linguaggio di programmazione. Ciò significava che i file .RPC++ sarebbero stati in grado di utilizzare classi e moduli ecc. Perché il normale RPC non utilizzava moduli e classi. Gli alberi fungevano da classi e i nodi da moduli. Quindi invece di class classname {}teRPC_NODE somenodename(){[]}

Perché interpretato?

Il design originale di RPC doveva essere, come detto sopra, compilato e scritto in X86 Assembler, ma ecco perché.

  • Nessuna conoscenza master in assembler X86 o in realtà qualsiasi forma di assembler
  • Nessuna comprensione approfondita o complessa della creazione di compilatori da linguaggi come l'assemblatore
  • Gli interpreti sono più facili da creare e costruire.

Che cosa

Con ogni linguaggio di programmazione arrivano le due domande principali e cioè what and why. Bene, abbiamo già capito perché l'abbiamo fatto, quindi cosa diventerà esattamente RPC. RPC diventerà un linguaggio che risolve alcuni problemi nei programmi moderni.

  • Matematica: per qualche ragione i linguaggi di programmazione moderni che non sono stati sviluppati da organizzazioni come Google o Amazon o Apple hanno un'implementazione molto pessima della matematica. Poiché RPC è un linguaggio che doveva essere più robusto e avanzato ma meno difficile, in alcuni casi l'implementazione matematica in RPC sarà molto più intensa. Verranno ancora utilizzati gli standard COS, TAN, URAND, RAND ecc., ma ci saranno anche più implementazioni personalizzate.
  • Errori del compilatore e / o sistemi di suggerimento: la maggior parte dei linguaggi come Go ha uno strano sistema di errori, nonostante il sistema antipanico sia costruito bene, mancano molte descrizioni nei loro errori, specialmente più si va complessi. Lingue come Python dicono che hai indentato troppo senza dirti la colonna suggerita, né ti danno nemmeno la linea diretta a volte è sopra. Quindi ciò che RPC farà è agire come il suo motore di template. Ad esempio, se commetti un errore alla riga 15 del tuo codice, verranno visualizzate 5 righe prima e 5 righe dopo quel codice. Il motivo per cui esisterà è per darti un'area generale di eccezione o dove si è verificato l'errore per assicurarti che non ti perderai nel caso in cui l'interprete sollevi un errore. Se l'errore del compilatore è qualcosa come un flusso o qualcosa di complesso come operatori bit-saggio, molto probabilmente otterrai un errore matematico con una profonda comprensione di cosa è andato storto esattamente con un suggerimento di volta in volta su cosa sostituirlo con. Ad esempio, supponiamo che tu crei un programma di 7 righe e che abbia un errore di sintassi sulla riga 4 colonna 2 con un simbolo strano. RPC produrrà istruzioni come questa.
  • Esperienza utente: sebbene RPC non miri a soddisfare l'utente e renda il carico di lavoro semmai più difficile, renderà l'esperienza dell'utente un po' più semplice in termini di errori, scrittura, note, importazioni, file ecc. RPC ha un'ampia selezione di file che sono le seguenti

Bene, questo è un sacco di nomi di file, perché? Bene, RPC ha molti modi per dichiarare e sezionare i dati. I dati di RPC devono essere referenziati direttamente con .rpc se non includono xml, json, html, template, fortran, go, c ++, C, Lua, Trees, Tree nodes, constants ecc. Tutti i file hanno un significato diverso

  • RPC: file di codice sorgente RPC non elaborato
  • RPCT: file di codice sorgente di modelli RPC non elaborati
  • RPCX: file di codice sorgente di modelli XML RPC non elaborati
  • RPCJ: file di codice sorgente di modelli JSON RPC non elaborato
  • RPCG: file di codice sorgente di modelli RPC GO non elaborati
  • RPCF: file di codice sorgente di modelli Fortran RPC non elaborati
  • RPCH++: file di codice sorgente RPC non elaborato definito per alberi, nodi, spazi dei nomi ecc
  • RPC++: file di codice sorgente RPC non elaborato per il superset di RPC++ simile a R++
  • RPCCLCCPQ: Radical Processing Core C, Lua, C++, PQ. Questo file era super imbarazzante, quindi lasciami spiegare. Questo tipo di file non verrà eseguito come file principale e non può essere eseguito come file principale ma verrà eseguito come filebiversione di RPC. I file principali di RPC o determinati file non possono avere solo alberi e nodi con funzioni principali, spazi dei nomi, importazioni, moduli ecc. Poiché questo linguaggio non è FORTRAN, consente di contenere un file separato tutto in una volta. Questo file consente di caricare localmente il codice Lua, C++, C, RPC chiamando singole funzioni e consentendo anche di utilizzare alberi, nodi, moduli, spazi dei nomi e altre forme di codice RPC in un unico file. Questo file è un concept design e non verrà implementato fino alle versioni successive del programma a causa di quanto estremamente complesso deve essere questo file e quanto bene deve essere progettato il linguaggio per implementarlo e accettarlo. Un esempio di seguito è un esempio di questo super set di un file.,
  • Infine, ma non meno importante, è prendere le cose alla leggera: la maggior parte dei linguaggi di programmazione fino ad oggi rende le attività più complicate difficili da svolgere e le attività più semplici molto facili. Probabilmente stai dicendo "ovviamente haxxer che proprio come sono costruite le lingue", beh vedi che non sono costruito in quel modo XD. Ciò significa che invece di dare la priorità al front-end e alle cose facili nel linguaggio, RPC darà la priorità alle cose più difficili e complicate. Ciò include cose come stringhe di codifica, stringhe di decodifica ecc. Ecc. RPC vuole che tu crei applicazioni hardcore come exploit, applicazioni grafiche, applicazioni lato server e persino reti personalizzate senza stampare qualcosa sullo schermo. Questo è anche il motivo per cui RPC non è raccomandato per i nuovi programmatori o sarà raccomandato a causa di quanto sia follemente complessa la struttura di RPC e di quanto sarà veramente complicata quando si scrivono semplici applicazioni. La regola empirica in questa lingua è che la tua domanda DEVE riguardare un argomento complesso. Se non va bene, causerai più lavoro che non è totalmente lo scopo ma non totalmente lo scopo del linguaggio LOL. Mi piace questo linguaggio perché non mi sembra che esista un linguaggio là fuori che renda così facile creare applicazioni complicate e così complicato creare applicazioni facili. Se non va bene, causerai più lavoro che non è totalmente lo scopo ma non totalmente lo scopo del linguaggio LOL. Mi piace questo linguaggio perché non mi sembra che esista un linguaggio là fuori che renda così facile creare applicazioni complicate e così complicato creare applicazioni facili. Se non va bene, causerai più lavoro che non è totalmente lo scopo ma non totalmente lo scopo del linguaggio LOL. Mi piace questo linguaggio perché non mi sembra che esista un linguaggio là fuori che renda così facile creare applicazioni complicate e così complicato creare applicazioni facili.

Ricevo spesso questa domanda, alcune persone mi diranno sempre che non ha senso perdere tempo a creare un'applicazione che già esiste. Ecco dove ti sbagli amico mio! Non è una perdita di tempo semplicemente perché

  • 1: verrà utilizzato
  • 2: Migliorerà la mia abilità
  • 3: Sarà esplorato di più
  • 4: aggiunge altro da scrivere e di cui parlare
  • 5: Esplora nuovi campi

Capire come funziona RPC

Ora che abbiamo finito con l'introduzione e le informazioni di base possiamo passare a come funziona esattamente RPC, la sua sintassi, il suo sistema di errori ecc. questo articolo è in fase di scrittura e sarà presto rilasciato nel 2023. Di seguito sono riportati gli argomenti generali e il modo in cui RPC li gestisce.

  • Tipi di dati: i tipi di dati sono costruiti in modo molto specifico e possono avere nomi completi. La maggior parte delle lingue ti fa digitare int, bool, string, int32, uint32, uint16, int16 etc....bene RPC ti fa digitare tutto per specificare esattamente cosa sta facendo. ad esempio, se si desidera una variabile con un tipo di dati intero, è necessario specificare Variable Integer varname = 1;se si desidera un valore booleano che si digita Variable Boolean varname = truese si desidera numeri interi senza segno, Variable Unsigned_Integer32 Varname = 8913671371276782367862347823423478ecc.
  • Metodi e argomenti del metodo: i metodi sono definiti in modo un po' strano e usano una serie di frecce e simboli per definire i loro tipi di dati, argomenti ecc. Se vuoi dichiarare una funzione o un metodo in RPC, RPC ha una regola chiamata TFAL ( Type First Argument Last ) il che significa che devi dire a RPC il tipo di dati prima di iniziare l'elenco degli argomenti. Quindi, ad esempio, supponiamo che tu voglia che una funzione contenga 2 argomenti entrambi di tipo String, dovresti digitare String : String => FunctionName(x,y) {}Una volta dichiarati i tipi di dati che devi usare :per separarli e =>per dire a RPC a quale funzione appartengono questi tipi di dati, dopodiché definisci il nome della funzione insieme alle variabili. Quindi, se lo avessiString : Integer => FunctionName(x,y), X sarebbe di tipo String e Y sarebbe di tipo Integer. Lo stesso tipo segue per i tipi restituiti. Il => indica a RPC che si desidera avviare le variabili, il simbolo -> indica a RPC che si desidera restituire le variabili. Quindi, se volessi una funzione che accettasse 3 argomenti e restituisse lo stesso tipo, dovresti scrivere la funzione in questo modo.
  • Integer : Integer : Integer => Function(x, y, z) -> Integer32 {
          Variable Integer32 Varname = x+y+z
          <-Varname
    }
    

  • Variabili: le variabili non sono troppo stravaganti e in realtà sono abbastanza facili da capire. Per rendere locale una variabile basta digitare Variable Type namecosì se si desidera una variabile di tipo String digitare Variable String varname = "data". Le variabili globali sono anche un'altra cosa che puoi creare con la Globalparola chiave. I globali devono essere definiti con un :Quindi, ad esempio, se volessi definire una variabile globale, useresti Global->Varname : Integer32 = "23191289429034324236746723"Abbastanza semplice, giusto?

Costruire un'idea

Man mano che un linguaggio di programmazione si sviluppa, cambierà rispetto alla sua idea iniziale. So che RPC quando inizierò a sviluppare diventerà molto più confuso e molto più complicato, il che significa che il design cambierà. Tutto sommato l'idea non dovrebbe cambiare molto, ma cambierà comunque. Mentre continuiamo a costruire questo linguaggio, ho intenzione di creare un linguaggio che sia un po' più strano, certo, ma per gli hacker. Esiste già un linguaggio per gli hacker, ma sto parlando di più codifica e struttura di modi più semplici per eseguire determinati compiti che non sono più facili. Dopotutto RPC è il linguaggio che rende difficile ogni applicazione facile e facile ogni applicazione difficile. Questa idea rimarrà la stessa anche nelle fasi di sviluppo, il rendering delle immagini, l'iniezione di immagini, la manipolazione dei dati, l'implementazione algoritmica ecc. Saranno tutti molto più semplici e questa è l'idea generale. Vogliamo assicurarci di preservare questo sistema il più possibile e mantenerlo il più semplice possibile. Ora il linguaggio, come abbiamo già discusso, è super radicale e rende davvero stravagante la creazione di programmi che, come tutti sappiamo, è l'opposto di ciò che i linguaggi dovrebbero essere. Tuttavia, con questo punto di svolta, voglio anche rendere radicale il sistema di errore, il che significa che ti urlerà contro e ti darà errori complessi ma facili da capire. Conosci la lingua che ti fa terminare condizionali, loop, funzioni ecc Tuttavia, con questo punto di svolta, voglio anche rendere radicale il sistema di errore, il che significa che ti urlerà contro e ti darà errori complessi ma facili da capire. Conosci la lingua che ti fa terminare condizionali, loop, funzioni ecc Tuttavia, con questo punto di svolta, voglio anche rendere radicale il sistema di errore, il che significa che ti urlerà contro e ti darà errori complessi ma facili da capire. Conosci la lingua che ti fa terminare condizionali, loop, funzioni eccPLEASE ENDe ti dirà che sei scortese se non lo fai? Ebbene, il nostro linguaggio funziona allo stesso modo, tranne per il fatto che devi essere radicale affinché il sistema di errore sia radicale. Questo significa che per ogni condizionale hai la possibilità di usare please go o fuck leave come enddichiarazione. Questa idea non è stata formata attorno al sistema please end, ma è stata piuttosto formata come una cosa propria per adattarsi allo standard delle lingue.

Rifinitura e Conclusione

RPC è un linguaggio di specialità e confusione, è un linguaggio che non è per nuovi programmatori, un linguaggio pensato per esperimenti e comprensione profonda. Per non parlare del fatto che RPC ti insegnerà molto su come giudicare un linguaggio di programmazione. Spero sicuramente che questa lingua almeno alcune persone provino e, in caso contrario, spero che la maggior parte delle persone finisca per vederla. Questa lingua non è qualcosa che intendo rendere popolare, preferirei tenerla solo per gli esploratori o piuttosto per le persone che osano continuare a esplorare nei regni delle menti di altre persone. Questo linguaggio è speciale per me, il suo design, i suoi concetti, il suo nome, il suo banner e logo, persino il codice sorgente iniziale è tutto mio e questa è la parte migliore. Spero che questa lingua rimanga nei libri e mantenga il suo promemoria per continuare a essere radicale. Il motivo per cui non voglio un team di sviluppo è perché qualcuno che lo cambia significa che devo spiegare a qualcuno come funziona questo linguaggio e semplicemente condividere le menti non è ciò che qualcuno vuole o di cui ha bisogno. Pertanto RPC continuerà a rimanere radicale, continuerà a essere scortese e carino allo stesso tempo mentre fa leva sul tuo cervello per ulteriori informazioni e continua a prendere due coltelli e tagliare le cellule cerebrali fino a quando non vuoi spezzare la tastiera a metà. Questo è ciò che riguarda la costruzione di un linguaggio di programmazione, la creatività. Per anni gli informatici hanno sempre fatto la dichiarazione continua a essere scortese e carino allo stesso tempo mentre fa leva sul tuo cervello per ulteriori informazioni e continua a prendere due coltelli e tagliare le cellule cerebrali fino a quando non vuoi spezzare la tastiera a metà. Questo è ciò che riguarda la costruzione di un linguaggio di programmazione, la creatività. Per anni gli informatici hanno sempre fatto la dichiarazione continua a essere scortese e carino allo stesso tempo mentre fa leva sul tuo cervello per ulteriori informazioni e continua a prendere due coltelli e tagliare le cellule cerebrali fino a quando non vuoi spezzare la tastiera a metà. Questo è ciò che riguarda la costruzione di un linguaggio di programmazione, la creatività. Per anni gli informatici hanno sempre fatto la dichiarazioneHow can I do this in a different waybene, ecco il mio modo, il mio modo di prendere qualcosa di eccessivamente popolare e distorcerlo così tanto da sembrare un assemblatore moderno malformato come se l'assemblatore avesse un bambino con fortran e C. Alla prossima volta

~Totally_Not_A_Haxxer fuori

Se vuoi tenere il passo con i miei contenuti, non dimenticare di aiutarmi a sostenermi!

Organizzazione dello sviluppo

Pagina di sviluppo

Pagina Instagram

https://www.instagram.com/Totally_Not_A_Haxxer

APP per contanti

Venmo