Bahasa pemrograman Rockstar: ketika kode terlihat seperti teks hit batu



Ungkapan "pengembang rockstar" membuat beberapa orang meringis: "ini bazvord perekrutan yang konyol, tidak ada yang menyebut diri mereka pengembang seperti itu." Di Rusia, tidak begitu umum, tetapi di negara-negara berbahasa Inggris, banyak yang sudah lelah. Dan pengembang NET Inggris. Dylan Beatty sangat tertarik pada dominasinya: dia adalah penggemar musik rock, jadi dia melihat dengan baik seberapa jauh "rockstar" ini dari bintang rock nyata.

Akibatnya, Dylan memulai bahasa pemrograman Rockstar, kode yang harusnya terlihat seperti teks rock / logam. Pertama, jika Anda berhasil membuat proyek seperti itu terlihat, maka Anda dapat mengambil kata "pengembang rockstar" dari perekrut, memberi mereka arti baru. Dan kedua, menarik untuk mencoba menyusun lirik lagu favorit Anda! Nah, membuat stiker untuk laptop pengembang rockstar bersertifikat juga menyenangkan.

Tentu saja, semua ini terdengar seperti lelucon, dan awalnya memang begitu, tetapi sekarang menjadi lebih nyata. Detail - di bawah potongan.

Semuanya dimulai dengan fakta bahwa para pengembang mulai secara ironis mengalahkan konsep "pengembang rockstar", mengingat bintang rock nyata. Anda dapat mengingat gambar ini:



Dan lelucon seperti itu akhirnya datang ke tweet tersebut:



Tidak mungkin penulis tweet ini menyarankan bahwa ada orang yang benar-benar akan melakukan hal ini. Di sini Anda membutuhkan seorang pria yang pada saat yang sama sangat menyukai pemrograman, musik rock, dan humor, dan ia siap melakukan pekerjaan dengan baik untuk satu lelucon yang bagus.

Tapi Dylan Beatty hanya itu. Dia telah melakukan pemrograman hit untuk hit rock untuk waktu yang lama - yaitu, dia hanya menggabungkan pemrograman, musik rock dan humor, menghabiskan cukup banyak waktu untuk itu. Anda dapat mendengarkan, misalnya, versinya tentang “Another Brick in the Wall” oleh Pink Floyd, yang meledak dengan keras di konferensi IT:



Dylan ingat bahasa esoterik yang sudah ada, di mana mereka tidak menetapkan tujuan "menjadi lebih populer daripada C ++", tetapi menetapkan tujuan "mari kita terapkan ide yang menarik, hanya karena kita bisa." Di antara mereka ada orang-orang yang memperkenalkan kosa kata dan gaya dari beberapa bidang lain: misalnya, bahasa Shakespeare , yang menyesuaikan program untuk drama Shakespeare, dan Lingua :: Romana :: Perligata, diposisikan sebagai “Perl dalam bahasa Latin”. Ya, tidak ada yang menulis kepada mereka dalam produksi, tetapi fakta keberadaan mereka membuat dunia kita sedikit lebih berwarna.

Dengan pemikiran seperti itu, ia memutuskan untuk membuat bahasa di mana FizzBuzz akan terlihat seperti ini:

Midnight takes your heart and your soul While your heart is as high as your soul Put your heart without your soul into your heart Give back your heart Desire is a lovestruck ladykiller My world is nothing Fire is ice Hate is water Until my world is Desire, Build my world up If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing Shout "FizzBuzz!" Take it to the top If Midnight taking my world, Fire is nothing Shout "Fizz!" Take it to the top If Midnight taking my world, Hate is nothing Say "Buzz!" Take it to the top Whisper my world 


Pada bulan Agustus, Dylan memulai repositori di GitHub dan menulis tentang idenya di Twitter , tidak mengharapkan reaksi tertentu - dan tiba-tiba semuanya meledak dengan retweet dan bintang github. Lingkaran-lingkaran itu putus hingga majalah Classic Rock mewawancarainya .

Dalam wawancara ini, Dylan mencatat bahwa memulai proyek semacam itu adalah "bagaimana mencoba berkeliling Kanada dengan satu siklus tunggal: ini dilakukan bukan untuk menyelesaikan masalah nyata, tetapi untuk melihat apa yang terjadi, setelah mengarahkan diri ke kerangka kerja yang tidak biasa."

Dan dia juga mencatat bahwa, dengan semua hype, masa depan proyek tersebut dipertanyakan: Internet dengan cepat beralih ke lelucon baru, sehingga besok Rockstar dapat dilupakan sebelum dapat direalisasikan.

Namun, meskipun gelombang minat pertama benar-benar surut, proyek tersebut tidak terlihat ditinggalkan. Dan sekarang dia terlihat jauh lebih rumit daripada lelucon sederhana untuk satu hari. Ketika Anda membaca spesifikasi , itu mengesankan dalam dua cara. Pertama, itu menunjukkan bahwa mereka benar-benar berpikir "seperti apa rupa bahasa itu", dan bukan hanya menggambar sesuatu dalam lima menit dan lupa. Dan kedua, ini sangat lucu di beberapa tempat:

“Penggunaan komentar tidak disarankan. Ini adalah rock and roll, penonton itu sendiri harus menemukan makna dalam teks! "

"Sistem jenisnya mirip dengan ECMAScript, hanya undefined yang tidak terdengar rock and roll, jadi kami memutuskan untuk menggunakan kata misterius ."

“Karena Rockstar menggabungkan pemrograman, bahasa Inggris, dan rock and roll, apostrof menjadi rumit. Dalam pemrograman, mereka digunakan untuk nilai string - 'seperti ini'. Dalam bahasa Inggris untuk bentuk disingkat - Anda, dia. Dan di rock and roll, tampaknya, mereka menggunakannya secara acak: anak manis milikku, bukan bicara tentang cinta, senjata dan mawar ”.



Kami memutuskan untuk mengklarifikasi beberapa detail dengan Dylan sendiri:

- Ide ini pada pandangan pertama tampak seperti "lelucon pada satu komit", yang tidak akan diikuti oleh satu detik. Tapi sekarang sudah ada 132 komitmen dalam proyek - apakah kita mengerti dengan benar bahwa dia masih hidup?

- Ya! Itu dimulai sebagai lelucon - draft pertama dari spesifikasi bahasa yang saya tulis duduk di sebuah bar di laptop. Saya mempostingnya di GitHub, tautan yang dipublikasikan di Twitter ... dan mendapatkan lebih dari seribu bintang di GitHub. Dan kemudian orang mulai menerapkan. Seseorang membuat transporter Rockstar-JavaScript, orang lain membuat penyorotan sintaks untuk Sublime Text dan VS Code. Orang-orang membuat permintaan tarikan, masalah terbuka, membuat implementasi sendiri - itu luar biasa.

Sekarang ada seluruh tim kecil yang terlibat dalam implementasi referensi Rockstar; ada grup di Discord di mana kami mendiskusikan desain bahasa. Ini masih merupakan bahasa komik - tetapi ini adalah bahasa komik dengan serangkaian tes integrasi dan pengurai top-down rekursif, dan pada bulan November kami berencana untuk merilis 1.0.

- Dan bahasa ini ditujukan khusus untuk penggemar rock? Penggemar musik pop atau hip hop tidak ada yang bisa ditangkap di sini?

- Aku bahkan tidak tahu! Ide awalnya adalah bahwa perekrut tidak bisa lagi berbicara tentang "pengembang rockstar" ... adakah yang namanya pengembang hip-hop? Tetapi bahasa ini dirancang agar sesuai dengan lirik secara keseluruhan, tidak ada hal-hal yang benar-benar membutuhkan penggunaan kosakata rock. Saya yakin Anda dapat menulis teks hip-hop yang akan menjadi program yang valid.

- Apakah Anda ingin menggabungkan Rockstar dengan parodi yang terkenal dengan Anda?

- Tulis parodi lagu rock yang pada saat yang sama juga akan menjadi program Rockstar yang valid? Kedengarannya menarik ... mungkin saya akan coba setelah kita menyelesaikan spesifikasi 1.0 :)

Akhirnya, sebuah iklan kecil. Kami mengenal Dylan karena fakta bahwa ia secara teratur berbicara di .NET konferensi kami DotNext: laporannya menerima ulasan yang sangat baik setiap kali, menunjukkan bahwa ia baik tidak hanya di parodi. Dan pada DotNext 2018 Moscow yang akan datang (22-23 November), ia akan menutup konferensi dengan laporan "Ctrl-Alt-Del: belajar untuk mencintai kode warisan". Dan dia pasti akan, seperti biasa, membawa gitar untuk melakukan parodinya di pesta konferensi di depan semua orang. Secara umum, jika Anda ingin mendiskusikan Rockstar dengannya, lihat dia sebagai pembicara atau dengar karyanya secara langsung - Anda tahu di mana harus melakukannya .

Source: https://habr.com/ru/post/id427877/


All Articles