# Tabloid - 낚시성 문장으로 코딩하는 프로그래밍 언어

> Clean Markdown view of GeekNews topic #24264. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24264](https://news.hada.io/topic?id=24264)
- GeekNews Markdown: [https://news.hada.io/topic/24264.md](https://news.hada.io/topic/24264.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-11-10T09:49:52+09:00
- Updated: 2025-11-10T09:49:52+09:00
- Original source: [tabloid.vercel.app](https://tabloid.vercel.app/)
- Points: 11
- Comments: 2

## Summary

**타블로이드(Tabloid)**는 클릭베이트 뉴스 헤드라인 문체로 코드를 작성하는 **튜링 완전 언어**로, “DISCOVER HOW TO…” 같은 문장으로 함수를 정의하고, 출력은 항상 **대문자+느낌표**로 마무리됩니다. 루프 대신 **재귀 호출**을 사용하며, 프로그램은 반드시 “PLEASE LIKE AND SUBSCRIBE”로 끝나는 등 언어 전체가 인터넷 밈 감성으로 설계되어 있습니다. **JavaScript와 Racket 구현체**가 존재해 실제 실행도 가능하며, 장난스럽지만 언어 설계의 창의성과 문법적 일관성을 동시에 보여줍니다. 개발자의 “DB 과제 회피용 프로젝트”라는 배경까지 포함해, 이런 유쾌한 실험정신이야말로 개발 문화의 또 다른 매력 같습니다.

## Topic Body

- **타블로이드**는 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`: 프로그램 종료

## Comments



### Comment 46221

- Author: yangeok
- Created: 2025-11-12T09:49:34+09:00
- Points: 1

팀을 설득해서 코드베이스를 이 언어로 바꿔볼 생각임이라구요? ㅋㅋㅋㅋㅋ

### Comment 46123

- Author: neo
- Created: 2025-11-10T09:49:52+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=45862470) 
- 게시물 제목을 “**Will this programming language revolutionize software development?** ”로 했으면 더 재밌었을 것 같음  
  - 에러 메시지가 “**YOU WON'T BELIEVE WHAT YOU'LL SEE IN LINE ${line_number}** ” 같은 식으로 나오면 좋겠다는 생각을 함  
  - 커뮤니티의 **비클릭베이트 전통**을 지키면서도 게시물이 흥행한 점이 인상적이었음  

- 이 언어는 예전에도 인기가 있었음  
  2020년 [24578749번 글](https://news.ycombinator.com/item?id=24578749), 2024년 [40964261번 글](https://news.ycombinator.com/item?id=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의 언어 개요](https://github.com/thesephist/tabloid/blob/master/README.md#language-overview)에서 볼 수 있음  

- 반복문 이름을 “**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**”였으면 완벽했을 것 같음
