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