- Tabloid, kodun Clickbait (tıklama tuzağı) haber başlığı üslubunda yazıldığı Turing-tam bir programlama dili
- Çıktı
YOU WON'T WANT TO MISS ifadesiyle üretilir ve tüm çıktılar otomatik olarak büyük harfe çevrilip sonuna ünlem eklenir
- Fonksiyon bildirimleri
DISCOVER HOW TO ... WITH, değişken bildirimleri ise EXPERTS CLAIM ... TO BE kalıbını kullanır
- Döngü yapısı yoktur; bunun yerine tekrarlar özyinelemeli çağrılarla gerçekleştirilir ve fonksiyon dönüşü
SHOCKING DEVELOPMENT ile ifade edilir
- Program mutlaka
PLEASE LIKE AND SUBSCRIBE ile biter; ayrıca JavaScript yorumlayıcısı ve Racket gerçeklemesi bulunur
Tabloid diline genel bakış
- Tabloid, programların clickbait haber başlığı tarzında yazılması için tasarlanmış bir dil
- Örnek kodda fonksiyon bildirimi
DISCOVER HOW TO fibonacci WITH a, b, n biçiminde yapılır
RUMOR HAS IT, WHAT IF, END OF STORY gibi cümle biçimli sözdizimleri kullanır
- Dildeki tüm çıktı ifadeleri
YOU WON'T WANT TO MISS ile başlar; otomatik büyük harfe dönüştürme ve ünlem ekleme uygulanır
Başlıca sözdizimi ve özellikler
- Fonksiyon bildirimi:
DISCOVER HOW TO ... WITH
- Değişken bildirimi/atama:
EXPERTS CLAIM ... TO BE
- Koşul ifadesi:
WHAT IF ... LIES!
- Fonksiyon çağrısı:
A OF B, C
- Blok kapsamı:
RUMOR HAS IT ile başlar, END OF STORY ile biter
- Dönüş ifadesi:
SHOCKING DEVELOPMENT
- Program sonlandırma:
PLEASE LIKE AND SUBSCRIBE
- Boolean değerler:
TOTALLY RIGHT(true), COMPLETELY WRONG(false)
- Operatörler:
PLUS, MINUS, TIMES, DIVIDED BY, MODULO, IS ACTUALLY, BEATS, SMALLER THAN vb.
Dilin çalışma biçimi
- Tabloid, JavaScript ile yazılmış bir yorumlayıcı üzerinden çalıştırılabilir
- Desteklenen veri türleri sayı, metin, boolean
- Döngü sözdizimi yoktur; tekrarlar özyinelemeli çağrılar ile gerçekleştirilir
- Çevrimiçi yorumlayıcının yanı sıra Racket gerçeklemesi ve yardımcı fonksiyon kütüphanesi de bulunur
Geliştirme arka planı
- Geliştirici, bu dili veritabanı sistemleri ödevinden kaçınmak için yaptığını söylüyor
- Tabloid'den önce Ink adlı daha pratik bir dil geliştirmişti
Standart anahtar sözcük listesi
DISCOVER HOW TO...WITH: fonksiyon bildirimi
RUMOR HAS IT: blok başlangıcı
A OF B, C: fonksiyon çağrısı
WHAT IF...LIES!: koşul ifadesi
END OF STORY: blok sonu
EXPERTS CLAIM...TO BE: değişken bildirimi/atama
YOU WON'T WANT TO MISS: çıktı
LATEST NEWS ON: kullanıcı girdisi
TOTALLY RIGHT, COMPLETELY WRONG: boolean değerler
AND, OR: mantıksal işlemler
PLUS, MINUS, TIMES, DIVIDED BY, MODULO: aritmetik işlemler
IS ACTUALLY, BEATS, SMALLER THAN: karşılaştırma işlemleri
SHOCKING DEVELOPMENT: fonksiyon dönüşü
PLEASE LIKE AND SUBSCRIBE: program sonlandırma
2 yorum
Ekibi ikna edip kod tabanını bu dille değiştirmeyi mi düşünüyorsun? hahaha
Hacker News görüşleri
Gönderi başlığı “Will this programming language revolutionize software development?” olsaydı daha komik olurmuş gibi geliyor
Bu dil daha önce de popüler olmuştu
2020'deki 24578749 numaralı gönderide ve 2024'teki 40964261 numaralı gönderide de gündem olmuştu
Bu tür makroları gerçek işte de kullanıp programlamayı eğlenceli tutmayı düşünüyorum
Kod örneklerinde “EXPERTS CLAIM”, “SHOCKING DEVELOPMENT”, “PLEASE LIKE AND SUBSCRIBE” gibi ifadeler tekrar ediyor ve tamamen haber manşeti gibi görünüyor
“And That’s a Good Thing” başlığı bu durumu iyi özetliyor gibi görünüyor
“CONSIDERED HARMFUL” ifadesini son ekli bir olumsuzlama operatörü olarak kullanma fikri ortaya atılmış
“BAN THIS SICK FILTH” ifadesi ise exception fırlatan bir ifade olarak kullanılabilir ve
“SLAMS” ya da “SNUBBED” gibi kelimelerin de bir yerlere eklenmesi iyi olur görüşü dile getiriliyor
Ayrıntılar GitHub README içindeki dil genel bakışı bölümünde görülebilir
Döngünün adının “BREAKING NEWS … KEEP READING TO DISCOVER” olması daha da kusursuz olurmuş gibi geliyor
“BREAKING NEWS! Tam anlamıyla aptalca ama bir o kadar da sevimli”
Ekibi ikna edip kod tabanını bu dile çevirmeyi düşündüğünü söylüyor
Sonunda da “FOLLOW ME to find out how it goes” diyerek bitiriyor
Şimdi bu dile uygun Turing-tamamlayıcı eşlikçi diller eksik
“Thunderfoot”un Tabloid haberlerini çürüten video senaryoları için,
“Fisker”ın Discord ya da Steam toplulukları için troll gönderileri için,
“Shitlist”in ise GitHub için awesomelist'leri otomatik üreten bir dil olabileceğini hayal ediyor
Bu proje keyifli biçimde absürt bir deneme olduğu için bu yönüyle taze hissettiriyor
Gönderi başlığı “SHOCKING DEVELOPMENT” olsaydı mükemmel olurdu