11 pontos por GN⁺ 2025-11-10 | 2 comentários | Compartilhar no WhatsApp
  • Tabloid é uma linguagem de programação Turing-completa em que o código é escrito no estilo de manchetes de notícias clickbait
  • A saída é feita com a instrução YOU WON'T WANT TO MISS, e toda saída é automaticamente convertida para MAIÚSCULAS com adição de exclamações
  • As declarações de função usam DISCOVER HOW TO ... WITH, e as declarações de variável usam EXPERTS CLAIM ... TO BE
  • Não há estruturas de loop; em vez disso, repetições são implementadas com chamadas recursivas, e o retorno de função é expresso com SHOCKING DEVELOPMENT
  • Os programas devem terminar obrigatoriamente com PLEASE LIKE AND SUBSCRIBE, e existem um interpretador em JavaScript e uma implementação em Racket

Visão geral da linguagem Tabloid

  • Tabloid é uma linguagem projetada para escrever programas no estilo de manchetes jornalísticas clickbait
    • No código de exemplo, a declaração de função aparece no formato DISCOVER HOW TO fibonacci WITH a, b, n
    • Ela usa sintaxes em forma de frase, como RUMOR HAS IT, WHAT IF e END OF STORY
  • Toda saída da linguagem começa com YOU WON'T WANT TO MISS, com conversão automática para maiúsculas e adição de exclamações

Principais sintaxes e características

  • Declaração de função: DISCOVER HOW TO ... WITH
  • Declaração/atribuição de variável: EXPERTS CLAIM ... TO BE
  • Condicional: WHAT IF ... LIES!
  • Chamada de função: A OF B, C
  • Escopo de bloco: começa com RUMOR HAS IT e termina com END OF STORY
  • Retorno: SHOCKING DEVELOPMENT
  • Encerramento do programa: PLEASE LIKE AND SUBSCRIBE
  • Valores booleanos: TOTALLY RIGHT (true), COMPLETELY WRONG (false)
  • Operadores: PLUS, MINUS, TIMES, DIVIDED BY, MODULO, IS ACTUALLY, BEATS, SMALLER THAN etc.

Como a linguagem funciona

  • Tabloid pode ser executada por meio de um interpretador escrito em JavaScript
  • Os tipos de dados suportados são números, strings e booleanos
  • Não há instruções de loop; a repetição é implementada por meio de chamadas recursivas
  • Além do interpretador online, também existem uma implementação em Racket e uma biblioteca de funções auxiliares

Contexto de desenvolvimento

  • O criador menciona que fez essa linguagem para escapar de uma tarefa de sistemas de banco de dados
  • Antes de Tabloid, ele já havia desenvolvido uma linguagem mais prática chamada Ink

Lista de palavras-chave padrão

  • DISCOVER HOW TO...WITH: declaração de função
  • RUMOR HAS IT: início de bloco
  • A OF B, C: chamada de função
  • WHAT IF...LIES!: condicional
  • END OF STORY: fim de bloco
  • EXPERTS CLAIM...TO BE: declaração/atribuição de variável
  • YOU WON'T WANT TO MISS: saída
  • LATEST NEWS ON: entrada do usuário
  • TOTALLY RIGHT, COMPLETELY WRONG: valores booleanos
  • AND, OR: operadores lógicos
  • PLUS, MINUS, TIMES, DIVIDED BY, MODULO: operadores aritméticos
  • IS ACTUALLY, BEATS, SMALLER THAN: operadores de comparação
  • SHOCKING DEVELOPMENT: retorno de função
  • PLEASE LIKE AND SUBSCRIBE: encerramento do programa

2 comentários

 
yangeok 2025-11-12

Está pensando em convencer a equipe a migrar o codebase para essa linguagem? kkkkkkk

 
GN⁺ 2025-11-10
Comentários do Hacker News
  • Teria sido mais divertido se o título do post fosse “Will this programming language revolutionize software development?

    • Seria ótimo se as mensagens de erro saíssem algo como “YOU WON'T BELIEVE WHAT YOU'LL SEE IN LINE ${line_number}
    • Foi marcante ver que o post fez sucesso mesmo preservando a tradição anti-clickbait da comunidade
  • Essa linguagem já tinha feito sucesso antes
    Também virou assunto no post 24578749 em 2020 e no post 40964261 em 2024

    • Não imaginava que só alguns keywords pudessem ser tão divertidos
      Estou pensando em usar macros assim no trabalho de verdade para manter a programação divertida
      No exemplo de código, frases como “EXPERTS CLAIM”, “SHOCKING DEVELOPMENT” e “PLEASE LIKE AND SUBSCRIBE” se repetem, então parece totalmente uma manchete de notícia
  • O título “And That’s a Good Thing” parece resumir bem a situação

  • Surgiu a ideia de usar “CONSIDERED HARMFUL” como operador de negação pós-fixado

    • Pegando emprestadas expressões britânicas, “IN BOOST TO x” seria incremento de 1, “IN BLOW TO x” seria decremento de 1,
      e “BAN THIS SICK FILTH” poderia ser usado como sintaxe para lançar uma exceção
      Também houve a sugestão de encaixar palavras como “SLAMS” ou “SNUBBED” em algum lugar
  • Os detalhes podem ser vistos na visão geral da linguagem no README do GitHub

  • Ficaria ainda mais perfeito se o nome do loop fosse “BREAKING NEWS … KEEP READING TO DISCOVER

  • “BREAKING NEWS! Perfeitamente idiota e adorável”
    Estou pensando em convencer a equipe a migrar o codebase para essa linguagem
    E termina com “FOLLOW ME to find out how it goes”

    • Acrescenta a piada de que, por ter esquecido “PLEASE LIKE AND SUBSCRIBE”, o programa não termina
  • Agora só faltam linguagens companheiras Turing-completas à altura dessa
    “Thunderfoot” seria uma linguagem para roteiros de vídeo rebatendo artigos do Tabloid,
    “Fisker” seria para posts troll em comunidades do Discord ou da Steam,
    e “Shitlist” seria uma linguagem que gera automaticamente awesomelists para o GitHub

    • “.BOT” seria uma linguagem de controle de botfarm rodando na máquina virtual X, apresentada como sucessora de BitMusk
  • Este projeto parece uma tentativa deliciosamente absurda, e justamente por isso soa revigorante

  • O post teria sido perfeito se o título fosse “SHOCKING DEVELOPMENT