Novas linguagens de programação silenciosamente matam nossa conexão com a realidade



Um dia chegará o dia em que as equipes de programação parecerão "ei, computador, me dê essa porra de coisa".

O que estará sob o capô, nenhuma alma viva entenderá. O comando "porcaria" é interpretado em um parágrafo com uma descrição que é interpretada em palavras-chave, que é interpretada em um conjunto de notação vetorial, interpretada em alguns C, compilados em ...

e em algum lugar lá embaixo ele se transformará em impulsos elétricos em pedaços de ferro.

Os programadores serão humanidades polidas com "altas habilidades verbais, habilidades de comunicação e capacidade de serem babás em uma equipe". Graças a Deus até hoje, como para o Alasca em uma equipe, mas cada vez que inventamos outro Kotlin, aproximamos esse dia.

Eu apenas me perguntei se nossos YaPs já haviam se tornado algo assim. Equivalente um pouco mais inteligente da frase "computador, faça uma merda". Um monte de protocolos formalizados para eletricidade, que já esquecemos. Uma coisa que está rasgando cada vez mais nossa conexão com a realidade mecânica.

Costumo ouvir a frase: "Phil, recue, pare de pensar em todo tipo de bobagem". Mas caramba, caramba naquele dia em que escrevem no Habré "parem de pensar".



Tenho muitos projetos pequenos no trabalho e usamos pilhas diferentes - .net, React.ts, c ++, Java. No que você é pelo menos um pouco remexido, então eles se apegam a você. Eu vim como doador, mas há tarefas a bordo para todos os aplicativos, acesso a repositórios também.

Surgiu um caso em que todas as tarefas na minha pilha eram uma merda, o que apenas um louco faria. Eu nĂŁo sou um louco, e comecei a executar tarefas com typscript e reagir, depois com Java. Todos os aplicativos fazem a mesma coisa, mas sĂŁo projetados para plataformas diferentes. Eu nĂŁo tive problemas.

Então, eu escrevi uma coisa que seleciona o melhor servidor VPN em objetos cortantes, aqui fui fazer o mesmo em Java. A mesma coisa, exatamente da mesma maneira. A princípio, ele não deu nenhuma importância, mas em algum momento já era muito difícil não perceber o padrão.

Eu fiz a mesma coisa em diferentes linguagens de programação. Esse código era muito semelhante, com exceção dos detalhes que não afetaram a tarefa. Afinal, os negócios não me chegam com as palavras: “Ei Phil! Precisamos usar classes abstratas para mostrar ao cliente o estado da conexão. ” Empresas e usuários querem que o dispositivo mostre uma foto. Sim, e também quero mostrar essa foto a eles.

Mas não posso. Você não pode simplesmente dizer ao carro: faça o que eu preciso. Até agora, sou o intérprete intermediário que transforma a frase "faça uma merda" em comandos, enquanto ainda tenho que explicar em detalhes e passo a passo para o processador onde e como colocar os malditos bytes.

Mas não trabalho mais com bytes. Eu trabalho em um nível muito abstrato com as peças que compõem a fábrica das fábricas de mecanismos que controlam esses bytes. Há um pedaço de ferro lá embaixo, e é ainda mais complicado - não tenho idéia de como o que está sendo feito lá. Mas isso é feito através de cem prismas, dos quais eu também não tenho idéia. Ela "pensa" metade do que eu quero dizer ao carro e não sei como.

Era como se eu tivesse selado o capô do carro e começado a repará-lo através do tubo de escape, que está ficando cada vez mais longo a cada ano, e uma vez, para consertar o motor, só tenho que gritar para dentro do tubo e não colocar minhas mãos nele.

O subcompilador transforma meu sisharp em uma linguagem intermediária (IL) que vai para o carro do cliente, onde por sua vez outro subcompilador (que é just-in-time) em tempo real transforma minha IL em código específico da plataforma, que por sua vez é alimentado ao processador ...

E em algum lugar lá, todas as minhas descrições formais, todas as diferenças entre os YaPs são apagadas e elas fazem a mesma coisa. Nos dedos:

Eu sei que o processador conhece o comando O1. Depois de recebê-lo, ele soprará eletricidade no alto-falante microdinâmico embutido, algo será conectado em algum lugar e um bipe será emitido.

E aqui estou escrevendo no sycharpe:

using System;
Console.Beep(500,500);

1

:

#include <windows.h>

Beep(500,500);

1.

, , System.Console, windows.h? , , . , , .

, . - , , , . , — , .

. , , . , « », .

, — , ? , , , .

? , 2019 .

, — , . , , . , , , , , , . .

, « , x86 ARM. », . . , , .



, . . , - , , , , — , . - - . .

- (, , , , — ) . , , , . . , . , . .

— . . , , , - . — , , . , , , . .

«, , », ? , , , . , .

- , - , «» «» — , . , : « !? , ».

, , .
. , , .

, . , , .

20 , , , , . .

- « » , , — . , . .

. , « » . , , , . , , , . , , , , — . « » — . , , . ( - , «-»).

— . , , . , - — , . , , . -. , .

, , , . . — , , - . , .

. -, . — , , , . , , , , . — .

, — . , , , — . . . .

Source: https://habr.com/ru/post/pt442112/


All Articles