4P by GN⁺ 19시간전 | ★ favorite | 댓글 1개
  • 타블로이드는 Clickbait(낚시성) 뉴스 헤드라인 문체로 코드를 작성하는 튜링 완전 프로그래밍 언어
  • 출력은 YOU WON'T WANT TO MISS 구문으로 수행되며, 모든 출력이 자동 대문자화 및 느낌표 추가
  • 함수 선언은 DISCOVER HOW TO ... WITH, 변수 선언은 EXPERTS CLAIM ... TO BE 구문 사용
  • 루프 구조가 없고, 대신 재귀 호출로 반복을 구현하며, 함수 반환은 SHOCKING DEVELOPMENT로 표현
  • 프로그램은 반드시 PLEASE LIKE AND SUBSCRIBE로 끝나며, JavaScript 인터프리터와 Racket 구현체가 존재

Tabloid 언어 개요

  • Tabloid는 클릭베이트 뉴스 제목 스타일로 프로그램을 작성하도록 설계된 언어
    • 예시 코드에서는 DISCOVER HOW TO fibonacci WITH a, b, n 형태로 함수 선언
    • RUMOR HAS IT, WHAT IF, END OF STORY 등 문장형 구문 사용
  • 언어의 모든 출력은 YOU WON'T WANT TO MISS로 시작하며, 자동 대문자 변환과 느낌표 추가가 이루어짐

주요 문법 및 특징

  • 함수 선언: DISCOVER HOW TO ... WITH
  • 변수 선언/할당: EXPERTS CLAIM ... TO BE
  • 조건문: WHAT IF ... LIES!
  • 함수 호출: A OF B, C
  • 블록 범위: RUMOR HAS IT으로 시작, END OF STORY로 종료
  • 반환문: SHOCKING DEVELOPMENT
  • 프로그램 종료: PLEASE LIKE AND SUBSCRIBE
  • 불리언 값: TOTALLY RIGHT(true), COMPLETELY WRONG(false)
  • 연산자: PLUS, MINUS, TIMES, DIVIDED BY, MODULO, IS ACTUALLY, BEATS, SMALLER THAN

언어의 동작 방식

  • Tabloid는 JavaScript로 작성된 인터프리터를 통해 실행 가능
  • 지원 데이터 타입은 숫자, 문자열, 불리언
  • 루프 구문이 없으며, 재귀 호출을 통해 반복 구현
  • 온라인 인터프리터 외에도 Racket 구현체보조 함수 라이브러리가 존재

개발 배경

  • 제작자는 데이터베이스 시스템 과제 회피를 위해 이 언어를 만들었다고 언급
  • Tabloid 이전에는 Ink라는 보다 실용적인 언어를 개발한 경험이 있음

표준 키워드 목록

  • DISCOVER HOW TO...WITH: 함수 선언
  • RUMOR HAS IT: 블록 시작
  • A OF B, C: 함수 호출
  • WHAT IF...LIES!: 조건문
  • END OF STORY: 블록 종료
  • EXPERTS CLAIM...TO BE: 변수 선언/할당
  • YOU WON'T WANT TO MISS: 출력
  • LATEST NEWS ON: 사용자 입력
  • TOTALLY RIGHT, COMPLETELY WRONG: 불리언 값
  • AND, OR: 논리 연산
  • PLUS, MINUS, TIMES, DIVIDED BY, MODULO: 산술 연산
  • IS ACTUALLY, BEATS, SMALLER THAN: 비교 연산
  • SHOCKING DEVELOPMENT: 함수 반환
  • PLEASE LIKE AND SUBSCRIBE: 프로그램 종료
Hacker News 의견
  • 게시물 제목을 “Will this programming language revolutionize software development? ”로 했으면 더 재밌었을 것 같음

    • 에러 메시지가 “YOU WON'T BELIEVE WHAT YOU'LL SEE IN LINE ${line_number} ” 같은 식으로 나오면 좋겠다는 생각을 함
    • 커뮤니티의 비클릭베이트 전통을 지키면서도 게시물이 흥행한 점이 인상적이었음
  • 이 언어는 예전에도 인기가 있었음
    2020년 24578749번 글, 2024년 40964261번 글에서도 화제가 되었음

    • 몇몇 키워드만으로 이렇게 즐거워질 줄 몰랐음
      이런 매크로를 실제 업무에도 써서 프로그래밍을 재미있게 유지해볼까 생각 중임
      코드 예시에는 “EXPERTS CLAIM”, “SHOCKING DEVELOPMENT”, “PLEASE LIKE AND SUBSCRIBE” 같은 문구가 반복되어 완전히 뉴스 헤드라인처럼 보임
  • “And That’s a Good Thing”이라는 제목이 이 상황을 잘 요약하는 듯함

  • CONSIDERED HARMFUL”을 후위 부정 연산자로 쓰면 어떨까 하는 아이디어를 냄

    • 영국식 표현을 빌려 “IN BOOST TO x”는 1 증가, “IN BLOW TO x”는 1 감소로,
      “BAN THIS SICK FILTH”는 예외를 던지는 구문으로 쓰면 재밌을 것 같음
      “SLAMS”나 “SNUBBED” 같은 단어도 어딘가에 넣으면 좋겠다는 의견임
  • 세부 내용은 GitHub README의 언어 개요에서 볼 수 있음

  • 반복문 이름을 “BREAKING NEWS … KEEP READING TO DISCOVER”로 했으면 더 완벽했을 것 같음

  • “BREAKING NEWS! 완벽하게 멍청하면서도 사랑스러움”
    팀을 설득해서 코드베이스를 이 언어로 바꿔볼 생각임
    “FOLLOW ME to find out how it goes”라고 마무리함

    • PLEASE LIKE AND SUBSCRIBE”를 빼먹어서 프로그램이 종료되지 않는다는 농담을 덧붙임
  • 이제 이 언어에 어울리는 튜링 완전 동반 언어들만 있으면 됨
    “Thunderfoot”은 Tabloid 기사 반박용 영상 스크립트를,
    “Fisker”는 Discord나 Steam 커뮤니티용 트롤 포스트를,
    “Shitlist”는 GitHub용 awesomelist를 자동 생성하는 언어로 상상함

    • “.BOT”은 X 가상 머신에서 돌아가는 봇팜 제어 언어로, BitMusk의 후속작이라는 설정을 붙임
  • 이 프로젝트는 기분 좋게 황당한 시도라서 오히려 신선하게 느껴짐

  • 게시물 제목은 “SHOCKING DEVELOPMENT”였으면 완벽했을 것 같음