Uma introdução ao RPC (Radical Processing Core)
Introdução
Este artigo falará sobre minha linguagem de programação atual em desenvolvimento chamada RPC. RPC era algo com o qual as pessoas se confundiam Remote Procedure Call, posso garantir que RPC não é chamada de procedimento remoto neste caso. Em vez disso, RPC é uma linguagem de programação chamada Radical Processing Core. Essa linguagem recebe o nome de quão radical e diferente foi projetada para ser. Este artigo também se aprofunda sobre matemática, engenharia de front-end, por que, como e o que é mais importante.
Entendendo por que
Para muitos desenvolvedores, é um sonho construir sua própria linguagem de programação por diversão, porém poucos realmente completam essa missão. A razão é simplesmente que construir uma linguagem de programação é difícil. O design que pode estar por trás das partes mais complexas de uma linguagem torna isso realmente difícil. Especialmente se você planeja torná-lo compilado. Minha missão era diferente, eu não queria construir uma linguagem para me divertir, eu simplesmente queria fazer uma linguagem que tornasse as coisas complexas fáceis e as fáceis difíceis, se é que isso faz algum sentido. O RPC era puramente uma linguagem própria, não me inspirei em nenhum idioma, não usei nenhuma ideia de design, não me inspirei em nenhuma pessoa, coisa, item, linguagem, conceito etc. Esse design foi puramente meu. A razão pela qual o RPC era do jeito que era e a maneira como seu design saiu era exatamente porque não era para realmente atingir um grupo específico de pessoas, apenas eu. A razão para isso é porque se eu fosse me inspirar em outra linguagem, acredito firmemente que nesse ponto é apenas uma extensão da linguagem atual, como C # é de Java. Antes de responder por que, vamos traçar uma base geral da linguagem.
- O conceito: O conceito de RPC era tornar aplicativos fáceis difíceis e aplicativos difíceis fáceis. Isso significava que, se você quisesse imprimir algo na tela, teria que criar seus próprios fluxos para entrada e saída usando RPC. Isso também significava que aplicativos como drivers de kernel, carregadores, leitores e gravadores de memória, mapeadores e até mesmo algo tão complexo quanto UNIX SOCKETS seriam mais fáceis de implementar do que produzir algo.
- O design: Cada linguagem é especial à sua maneira, mas o RPC era diferente, era MAIS do que apenas especial, era MAIS do que apenas complexo. O RPC foi projetado para foder tanto com sua cabeça que o colocaria em uma espiral mental por dias e o confundiria. Apesar dos erros do interpretador serem fáceis de entender, o RPC em si não é. Teria uma implementação mais matemática, fazendo com que você usasse os símbolos tan, cos, e, etc, apenas para tornar algo tão simples quanto um fluxo de saída. Essa linguagem foi feita para mexer tanto com você que faria você pensar no porquê escolheu a carreira de programador. RPC era uma linguagem que deveria ser construída crua e compilada usando X86 Assembler, no entanto, o problema se resumia ao nível de habilidade do desenvolvedor (eu mesmo). Eu não conheço o suficiente ou nem perto do montador, especialmente o montador X86, para entender como construir meu próprio compilador. Na verdade, o único compilador que já construí foi em C para a linguagem de programação BRAINF, o que foi super fácil de fazer devido ao tamanho da linguagem. Portanto, isso significava que o RPC começaria oficialmente como uma linguagem de programação interpretada. O RPC também usaria o Go como back-end para a linguagem de programação, pois o registro sim pode ser usado como back-end. O design da linguagem será mostrado mais adiante neste artigo. Mas lembre-se de que a linguagem foi pensada para mexer com você. O RPC também usaria o Go como back-end para a linguagem de programação, pois o registro sim pode ser usado como back-end. O design da linguagem será mostrado mais adiante neste artigo. Mas lembre-se de que a linguagem foi pensada para mexer com você. O RPC também usaria o Go como back-end para a linguagem de programação, pois o registro sim pode ser usado como back-end. O design da linguagem será mostrado mais adiante neste artigo. Mas lembre-se de que a linguagem foi pensada para mexer com você.
- Subconjuntos: Subconjuntos de RPC seriam RPCT, RPCJ, RPCX, RPCG, RPCF, que significa RPC Templating, JSON, XML, GO, FORTRAN. Isso significa que você poderá escrever RPC em código HTML ativo, código JSON, código XML, código Go e até mesmo código FORTRAN e informar ao mecanismo de back-end do RPC para analisar e localizar o código RPC nos arquivos json, XML ou html, etc. que seria usado.
- Superconjuntos: C tem um superconjunto chamado C++ e C++ tem um superconjunto chamado Carbon. O RPC funcionaria de maneira semelhante, o RPC teria o RPC ++, que seria uma parte matemática mais satisfatória da linguagem de programação. Isso significava que os arquivos .RPC++ seriam capazes de usar classes e módulos, etc, porque o RPC normal não usava módulos e classes. Árvores agiam como classes e nós agiam como módulos. Então, em vez de
class classname {}você terRPC_NODE somenodename(){[]}
Por que interpretado?
O design original do RPC deveria ser, como dito acima, compilado e escrito em X86 Assembler, mas aqui está o porquê.
- Nenhum conhecimento mestre em montador X86 ou de fato qualquer forma de montador
- Nenhum mestre ou compreensão complexa da construção de compiladores a partir de linguagens como o assembler
- Os intérpretes são mais fáceis de fazer e construir.
o que
Com cada linguagem de programação vem as duas questões principais e isso é what and why. Bem, já temos o porquê feito, então o que exatamente o RPC se tornará. RPC se tornará uma linguagem que resolve alguns problemas nos programas modernos.
- Matemática: Por alguma razão, as linguagens de programação modernas que não foram desenvolvidas por organizações como Google, Amazon ou Apple têm uma implementação muito, muito ruim da matemática. Como RPC é uma linguagem que deveria ser mais robusta e avançada, mas menos difícil, em alguns casos a implementação matemática em RPC será muito mais intensa. O padrão COS, TAN, URAND, RAND etc ainda será usado, mas também haverá mais implementações personalizadas.
- Erros do compilador e/ou sistemas de sugestões: A maioria das linguagens como Go tem um sistema de erros estranho, apesar do sistema de pânico ter sido bem construído, eles carecem de muitas descrições em seus erros, especialmente quanto mais complexo você for. Linguagens como python dizem que você recuou muito sem informar a coluna sugerida, nem mesmo fornecem a linha direta às vezes está acima. Portanto, o que o RPC fará é agir como seu mecanismo de modelagem. Por exemplo, se você cometer um erro na linha 15 do seu código, ele trará e produzirá 5 linhas antes e 5 linhas depois desse código. A razão pela qual isso existirá é fornecer a você uma área geral de exceção ou onde o erro ocorreu para garantir que você não se perca caso o interpretador gere um erro. Se o erro do compilador for algo como um fluxo ou algo complexo, como operadores bit a bit, você provavelmente obterá um erro matemático com uma compreensão profunda do que exatamente deu errado com uma sugestão de tempo em tempo de como substituí-lo. Por exemplo, digamos que você crie um programa de 7 linhas e tenha um erro de sintaxe na linha 4, coluna 2 com um símbolo estranho. O RPC produzirá instruções como esta.
- Experiência do usuário: Embora o RPC não tenha como objetivo satisfazer o usuário e dificulte a carga de trabalho, ele tornará a experiência do usuário um pouco mais fácil em termos de erros, escrita, anotações, importações, arquivos, etc. O RPC possui uma ampla seleção de arquivos que são as seguintes
Bem, isso é um monte de nomes de arquivos, por quê? Bem, o RPC tem muitas maneiras de declarar e seccionar dados. Os dados do RPC devem ser referenciados diretamente com .rpc se não incluírem xml, json, html, template, fortran, go, c ++, C, Lua, Trees, Tree nodes, constants etc. Todos os arquivos têm um significado diferente
- RPC: arquivo de código-fonte RPC bruto
- RPCT: arquivo de código-fonte de modelagem de RPC bruto
- RPCX: arquivo de código-fonte de modelo XML de RPC bruto
- RPCJ: arquivo de código-fonte de modelagem RPC JSON bruto
- RPCG: arquivo de código-fonte de modelo RAW RPC GO
- RPCF: arquivo de código-fonte de modelo Fortran RPC bruto
- RPCH++: Arquivo de código-fonte RPC bruto definido para árvores, nós, namespaces, etc.
- RPC++: Arquivo de código-fonte RPC bruto para o superconjunto de RPC++ semelhante ao R++
- RPCCLCCPQ: Núcleo de Processamento Radical C, Lua, C++, PQ. Este arquivo foi super estranho, então deixe-me explicar. Este tipo de arquivo não será executado como um arquivo principal e não pode ser executado como um arquivo principal, mas será executado como o
biversão do RPC. Os arquivos principais do RPC ou certos arquivos não podem ter apenas árvores e nós com funções principais, namespaces, importações, módulos etc., já que essa linguagem não é FORTRAN, ela permite que um arquivo separado seja armazenado de uma só vez. Este arquivo permite que você carregue códigos Lua, C++, C, RPC localmente chamando funções individuais e também permitindo que você use Árvores, Nós, Módulos, Namespaces e outras formas de código RPC em um único arquivo. Este arquivo é um projeto de conceito e não será implementado até versões posteriores do programa por causa de quão extremamente complexo este arquivo deve ser e quão bem o idioma deve ser projetado para implementá-lo e aceitá-lo. Um exemplo abaixo é um exemplo deste superconjunto de um arquivo., - Finalmente, mas não menos importante, é facilitar as coisas: a maioria das linguagens de programação até hoje torna as tarefas mais complicadas difíceis de fazer e as tarefas mais fáceis bem fáceis. Você provavelmente está dizendo “claro haxxer que apenas como os idiomas são construídos”, bem, você vê que não sou construído dessa forma XD. Isso significa que, em vez de priorizar o front-end e priorizar as coisas fáceis na linguagem, o RPC estará priorizando as coisas mais difíceis e complicadas. Isso inclui coisas como strings de codificação, strings de decodificação, etc. O RPC quer que você crie aplicativos hardcore, como exploits, aplicativos gráficos, aplicativos do lado do servidor e até mesmo redes personalizadas que não imprimam algo na tela. É também por isso que o RPC não é recomendado para novos programadores ou será recomendado devido à complexidade insana da estrutura do RPC e ao quão complicado ele ficará ao escrever aplicativos simples. A regra de ouro nesta linguagem é que sua aplicação DEVE ser de um tópico complexo. Se não estiver bem, você estará causando mais trabalho, o que não é totalmente o objetivo, mas não é totalmente o objetivo do idioma LOL. Eu gosto dessa linguagem porque não sinto que exista uma linguagem por aí que torne tão fácil fazer aplicativos complicados e tão complicado fazer aplicativos fáceis. Se não estiver bem, você estará causando mais trabalho, o que não é totalmente o objetivo, mas não é totalmente o objetivo do idioma LOL. Eu gosto dessa linguagem porque não sinto que exista uma linguagem por aí que torne tão fácil fazer aplicativos complicados e tão complicado fazer aplicativos fáceis. Se não estiver bem, você estará causando mais trabalho, o que não é totalmente o objetivo, mas não é totalmente o objetivo do idioma LOL. Eu gosto dessa linguagem porque não sinto que exista uma linguagem por aí que torne tão fácil fazer aplicativos complicados e tão complicado fazer aplicativos fáceis.
Recebo muito essa pergunta, algumas pessoas sempre vão me dizer que não adianta perder tempo construindo uma aplicação que já existe. É aí que você se engana meu amigo! Não é uma perda de tempo simplesmente porque
- 1: Será usado
- 2: Vai melhorar minha habilidade
- 3: Será mais explorado
- 4: Adiciona mais sobre o que escrever e falar
- 5: Explora novos campos
Entenda como funciona o RPC
Agora que terminamos com a introdução e as informações básicas, podemos passar para como exatamente o RPC funciona, sua sintaxe, seu sistema de erros etc. este artigo está sendo escrito e será lançado em breve em 2023. Abaixo estão os tópicos gerais e como o RPC os lida.
- Tipos de dados: os tipos de dados são construídos de forma muito específica e podem ter nomes completos. A maioria dos idiomas faz com que você digite
int, bool, string, int32, uint32, uint16, int16 etc....bem. O RPC faz com que você digite tudo para especificar exatamente o que está fazendo. por exemplo, se você quisesse uma variável que tivesse um tipo de dados inteiro, você teria que especificarVariable Integer varname = 1;se você queria um valor booleano, você digitariaVariable Boolean varname = truese você quisesse inteiros sem sinal,Variable Unsigned_Integer32 Varname = 8913671371276782367862347823423478etc. - Métodos e argumentos de método: Os métodos são definidos de forma um pouco estranha e usam uma série de setas e símbolos para definir seus tipos de dados, argumentos etc. Argument Last ), o que significa que você deve informar ao RPC o tipo de dados antes de iniciar a lista de argumentos. Então, por exemplo, digamos que você queira que uma função contenha 2 argumentos, ambos do tipo String, você digitaria
String : String => FunctionName(x,y) {}Depois de declarar os tipos de dados que você deve usar:para separá-los e=>informar ao RPC a qual função esses tipos de dados pertencem, depois disso você define o nome da função junto com as variáveis. Então se você tivesseString : Integer => FunctionName(x,y), X seria do tipo String e Y seria do tipo Integer. O mesmo tipo de segue para tipos de retorno. O símbolo => diz ao RPC que você deseja iniciar variáveis, o símbolo -> diz ao RPC que você deseja retornar variáveis. Então, se você quisesse uma função que recebesse 3 argumentos e retornasse o mesmo tipo, você escreveria a função assim.
Integer : Integer : Integer => Function(x, y, z) -> Integer32 {
Variable Integer32 Varname = x+y+z
<-Varname
}
Variable Type nameso se você quiser uma variável do tipo String, digite Variable String varname = "data". As variáveis globais também são outra coisa que você pode criar com a Globalpalavra-chave. Globals devem ser definidos com um :Então, por exemplo, se você quisesse definir uma variável global, você usaria Global->Varname : Integer32 = "23191289429034324236746723"Bem simples, certo?Construindo uma ideia
À medida que uma linguagem de programação se desenvolve, ela muda de sua ideia inicial. O RPC, eu sei, quando começar a desenvolver, ficará muito mais confuso e complicado, o que significa que o design mudará. Em geral, a ideia não deve mudar muito, mas ainda assim mudará. À medida que avançamos na construção dessa linguagem, pretendo criar uma linguagem que seja um pouco mais maluca, com certeza, mas para hackers. Já existe uma linguagem para hackers, mas estou falando de mais codificação e estruturas, maneiras mais fáceis de realizar certas tarefas que não são fáceis. Afinal, RPC é a linguagem que torna difícil todo aplicativo fácil e fácil todo aplicativo difícil. Essa ideia permanecerá a mesma mesmo nas fases de desenvolvimento, renderização de imagem, injeção de imagem, manipulação de dados, implementação algorítmica, etc., tudo será muito mais fácil e essa é a ideia geral. Queremos garantir a preservação desse sistema o máximo possível e mantê-lo o mais simples possível. Agora, a linguagem como já discutimos é super radical e torna realmente maluco construir programas que, como todos sabemos, é o oposto do que as linguagens deveriam ser. No entanto, com esse ponto de virada, também quero tornar o sistema de erros radical, o que significa que ele gritará com você e fornecerá erros complexos, mas fáceis de entender. Você conhece a linguagem que faz você terminar condicionais, loops, funções etc com No entanto, com esse ponto de virada, também quero tornar o sistema de erros radical, o que significa que ele gritará com você e fornecerá erros complexos, mas fáceis de entender. Você conhece a linguagem que faz você terminar condicionais, loops, funções etc com No entanto, com esse ponto de virada, também quero tornar o sistema de erros radical, o que significa que ele gritará com você e fornecerá erros complexos, mas fáceis de entender. Você conhece a linguagem que faz você terminar condicionais, loops, funções etc comPLEASE ENDe dirá que você é indelicado se não o fizer? Bem, nossa linguagem funciona da mesma maneira, exceto que você precisa ser radical para que o sistema de erros seja radical. Isso significa que, para cada condicional, você tem a opção de usar, por favor, vá ou saia como uma enddeclaração. Essa ideia não foi formada em torno do sistema please end, mas foi formada como algo próprio para se adequar ao padrão de idiomas.
Finalizando e Conclusão
RPC é uma linguagem de especialidade e confusão, é uma linguagem que não é para novos programadores, uma linguagem que se destina a experimentos e compreensão profunda. Sem mencionar que o RPC vai te ensinar muito sobre como julgar uma linguagem de programação. Eu com certeza espero que esta linguagem pelo menos algumas pessoas experimentem e se não, espero que a maioria das pessoas acabe vendo. Esta linguagem não é algo que pretendo tornar popular, prefiro mantê-la apenas para os exploradores ou pessoas que ousam continuar explorando os reinos das mentes de outras pessoas. Essa linguagem é especial para mim, seu design, seus conceitos, seu nome, seu banner e logotipo até o código-fonte inicial são todos meus e essa é a melhor parte dela. Espero que essa linguagem fique nos livros e mantenha seu memorando para continuar sendo radical. A razão pela qual eu não quero uma equipe de desenvolvimento é porque alguém mudando isso significa que eu tenho que explicar a alguém como essa linguagem funciona e simplesmente compartilhar mentes não é o que ninguém quer ou precisa. Portanto, o RPC continuará sendo radical, continuará sendo rude e fofo ao mesmo tempo em que força seu cérebro para obter mais informações e continua a pegar duas facas e fatiar células cerebrais até que você queira quebrar seu teclado ao meio. É disso que se trata a construção de uma linguagem de programação, criatividade. Durante anos, os cientistas da computação sempre fizeram a afirmação continue a ser rude e fofo ao mesmo tempo em que força seu cérebro para obter mais informações e continua a pegar duas facas e fatiar células cerebrais até que você queira quebrar seu teclado ao meio. É disso que se trata a construção de uma linguagem de programação, criatividade. Durante anos, os cientistas da computação sempre fizeram a afirmação continue a ser rude e fofo ao mesmo tempo em que força seu cérebro para obter mais informações e continua a pegar duas facas e fatiar células cerebrais até que você queira quebrar seu teclado ao meio. É disso que se trata a construção de uma linguagem de programação, criatividade. Durante anos, os cientistas da computação sempre fizeram a afirmaçãoHow can I do this in a different waybem, aqui está o meu jeito, meu jeito de pegar algo excessivamente popular e torcê-lo tanto que parece um montador moderno malformado, como se o montador tivesse um bebê com fortran e C. Até a próxima vez
~Totally_Not_A_Haxxer fora
Se você quiser acompanhar meu conteúdo, não se esqueça de ajudar a me apoiar!
organização de desenvolvimento
página de desenvolvimento
página do instagram
https://www.instagram.com/Totally_Not_A_Haxxer





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)