A sintaxe mais estranha nas linguagens de programação (e por que existe)

Todo desenvolvedor conhece esse momento. Você está aprendendo um novo idioma, se sentindo confiante e depois encontra essa sintaxe. A tela parece embaçar enquanto seu cérebro tenta analisar o que parece ser uma transmissão de outra dimensão. Essas esquisitices sintáticas não são aleatórias – elas são escolhas deliberadas de design com raciocínio fascinante por trás delas. Vamos explorar algumas das sintaxe mais bizarro da programação e descobrir o método por trás da loucura. A verbosidade agressiva de Cobol adicione 1 para contrariar o contador. Se o status do cliente for igual a “Premium”, execute o Apply-Discount-Routine. Digite o modo de tela cheia de tela cheia de tela cheia, a Cobol parece um romance vitoriano sobre o processamento de dados. Essa verbosidade extrema era totalmente intencional – projetada em 1959 para usuários empresariais que não eram programadores. Grace Hopper e sua equipe acreditavam que a programação deveria refletir o inglês o mais próximo possível, permitindo que os gerentes leiam e compreendam a lógica de seus sistemas. A abordagem parece antiquada agora, mas Cobol ainda processa cerca de 80% das transações financeiras do mundo. A sintaxe detalhada que faz os desenvolvedores se encolher hoje foi revolucionária por seu tempo, democratizando a programação para profissionais de negócios. A escrita tem desempenho variável em vez de um simples para o loop pode parecer doloroso, mas serviu a seu propósito brilhantemente. Ruído da linha de Perl symphony @{$ _->[0]}[map{$_->[1][$_]} 0 .. $#{$ _->[1]}]$ _ = ~ s/\ s+// g para @Array; Imprima “$ _ \ n” para grep { /^[A-Z]+$/} <>; Digite o modo de saída do modo de tela completa O Modo de tela cheia Perl ganhou sua reputação como o “idioma somente de gravação”-código que se parece com mensagens criptografadas ou teclas aleatórias. Mas esse aparente caos decorre do histórico de linguística de Larry Wall e da filosofia central de Perl: “Há mais de uma maneira de fazê -lo” (tmtowtdi, pronunciado “Tim Toady”). O Perl foi projetado para ser expressivo como a linguagem humana, com significados dependentes do contexto e múltiplas expressões válidas para a mesma idéia. As variáveis especiais ($ _, $!, $@) Funcionam como pronomes – os cursos que reduzem a repetição. Embora possa se parecer com o ruído da linha, os desenvolvedores Fluent Perl podem escrever scripts incrivelmente concisos de processamento de texto que exigiriam dezenas de linhas em outros idiomas. Pesadelo minimalista do Brainfuck ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.> —. ++++++ .. +++. >>. <-.<.+++.——.——–.>>+.> ++. Digite o modo de saída do modo de tela cheia de tela cheia de tela cheia representa o extremo lógico do minimalismo. Com apenas oito comandos (> <+-.,[]), ele atinge a integridade. Essa linguagem esotérica não foi criada para uso da produção – existe para desafiar suposições sobre o que uma linguagem de programação exige. O valor está na demonstração: a computação precisa de surpreendentemente pouca sintaxe. O Brainfuck prova que a expressividade e a usabilidade são escolhas, não requisitos. É a programação equivalente a um experimento de pensamento tornado real. Coerção de tipo infame de JavaScript

[] + [] // “”
[] + {} // “[object Object]”{} + [] // 0 {} + {} // nan (ou “[object Object][object Object]”Dependendo do contexto) Tipo de nan //” número “nan === nan // false Digite o modo de tela cheia de tela cheia de tela cheia Javascript A coerção de JavaScript traumatizou inúmeros desenvolvedores, mas esse comportamento não era acidental. Brendan eich tinham apenas 10 dias para criar o Javascript, e ele precisava ser perdoado o suficiente para que o tipo de uso não fosse necessário para o que era necessário, o que era necessário, o que se afastava. A filosofia era que os navegadores tentavam fazer com que o código funcione, em vez de jogar erros que poderiam quebrar as páginas da web. ⍵∨.∧3 4 =+/, ¯1 0 1∘ Intencional e poderoso. A seção em branco acima é o código executável Who depurou as abas e espaços mistas entendem esse princípio visceralmente. A notação matemática com o Código Executável desafiou as suposições fundamentais sobre o entendimento da visibilidade, essas decisões de design fornecem uma perspectiva valiosa sobre a evolução da linguagem. (?) Parece bizarro até que você lide com exceções de ponteiro nulo. complexo até resolver problemas reais com APIs de repouso.

Fonte

Publicar comentário

Você pode ter perdido