Tabloid - Clickbait cümlelerle kod yazdıran programlama dili
(tabloid.vercel.app)- Tabloid, kodun Clickbait (tıklama tuzağı) haber başlığı üslubunda yazıldığı Turing-tam bir programlama dili
- Çıktı
YOU WON'T WANT TO MISSifadesiyle ü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 iseEXPERTS CLAIM ... TO BEkalıbını kullanır - Döngü yapısı yoktur; bunun yerine tekrarlar özyinelemeli çağrılarla gerçekleştirilir ve fonksiyon dönüşü
SHOCKING DEVELOPMENTile ifade edilir - Program mutlaka
PLEASE LIKE AND SUBSCRIBEile 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, nbiçiminde yapılır RUMOR HAS IT,WHAT IF,END OF STORYgibi cümle biçimli sözdizimleri kullanır
- Örnek kodda fonksiyon bildirimi
- Dildeki tüm çıktı ifadeleri
YOU WON'T WANT TO MISSile 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 ITile başlar,END OF STORYile 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 THANvb.
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 bildirimiRUMOR HAS IT: blok başlangıcıA OF B, C: fonksiyon çağrısıWHAT IF...LIES!: koşul ifadesiEND OF STORY: blok sonuEXPERTS CLAIM...TO BE: değişken bildirimi/atamaYOU WON'T WANT TO MISS: çıktıLATEST NEWS ON: kullanıcı girdisiTOTALLY RIGHT,COMPLETELY WRONG: boolean değerlerAND,OR: mantıksal işlemlerPLUS,MINUS,TIMES,DIVIDED BY,MODULO: aritmetik işlemlerIS ACTUALLY,BEATS,SMALLER THAN: karşılaştırma işlemleriSHOCKING 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