ロックスタープログラミング言語:コードがロックヒットテキストのように見える場合





「ロックスター開発者」というフレーズは、一部の人々を眉をひそめます。 ロシアではそれほど一般的ではありませんが、英語圏の国では多くの人がすでに疲れています。 そして、イギリスの.NET開発者であるディラン・ビーティは 、彼の支配に特に熱心です。彼はロック音楽のファンなので、この「ロックスター」が本物のロックスターからどれだけ離れているかをよく見ています。



その結果、DylanはRockstarプログラミング言語を開始しました。このコードはロック/メタルテキストのように見えるはずです。 まず、このようなプロジェクトを可視化することができれば、リクルーターから「ロックスター開発者」という言葉を取り除いて、新しい意味を与えることができます。 次に、お気に入りの曲の歌詞を編集してみるのも面白いです! まあ、認定されたロックスター開発者のラップトップ用のステッカーを作るのも楽しいです。



もちろん、これはすべて冗談のように聞こえますが、最初はそうでしたが、今ではより現実的になっています。 詳細-カットの下。



それはすべて、開発者が皮肉にも「ロックスター開発者」の概念を打ち負かし始めたという事実から始まり、本当のロックスターを思い起こさせます。 この写真を思い出すことができます:







そして、そのようなジョークは最終的にそのようなツイートに来ました:







このツイートの著者が、誰もが実際にこれを行うことを引き受けることを示唆した可能性は低いです。 ここには、プログラミング、ロックミュージック、ユーモアが非常に好きな人が必要です。彼は良いジョークで素晴らしい仕事をする準備ができています。



しかし、ディラン・ビーティはまさにそれです。 彼は長い間ロックヒットのプログラミングヒットを行ってきました。つまり、プログラミング、ロックミュージック、ユーモアを組み合わせて、かなりの時間を費やしています。 たとえば、Pink Floydの「Another Brick in the Wall」の彼のバージョンを聞くことができます。







ディランは、既存の難解な言語を覚えていました。「C ++でもっと人気を得る」という目標を設定するのではなく、「できるからという理由だけで、面白いアイデアを実装しましょう」という目標を設定しました。 その中には、他の分野の語彙やスタイルを取り入れた人もいます。たとえば、シェイクスピア劇のプログラムを定型化するシェイクスピア言語や、「ラテン語でPerl」として位置付けられるLingua :: Romana :: Perligataなどです。 はい、誰も制作中に彼らに手紙を書きませんが、彼らの存在そのものが私たちの世界をもう少しカラフルにします。



このような考えから、彼はFizzBu​​zzが次のように見える言語を作成することにしました。



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
      
      







8月、DylanはGitHubにリポジトリを開き、特定の反応を期待せずにTwitterで彼のアイデアについて書きました-そして突然、すべてがリツイートとgithubスターで爆発しました。 サークルは、Classic Rock誌彼にインタビューしたところまで行きました。



このインタビューで、ディランはそのようなプロジェクトを開始することは「カナダを一輪車で巡る方法です。これは本当の問題を解決するためではなく、異常なフレームワークに陥って何が起こるかを見るためです」。



そして彼はまた、すべての誇大広告で、プロジェクトの将来が問題であると指摘しました。インターネットは非常に迅速に新しいジョークに切り替わるので、翌日ロックスターは実現する前に忘れられるかもしれません。



しかし、最初の関心の波は本当に落ち着きましたが、プロジェクトは放棄されたようには見えません。 そして今、彼は一日の単純な冗談よりもはるかに精巧に見えます。 仕様を読むと、2つの点で印象的です。 まず、5分で何かをスケッチして忘れていたのではなく、「そのような言語はどうあるべきか」を本当に考えていたことを示しています。 次に、場所で非常に面白いです:



「コメントの使用は推奨されません。 これはロックンロールです。観客自身がテキストで意味を見つけなければなりません!」



「型システムはECMAScriptに似ていますが、 未定義だけではロックンロールが十分に聞こえないため、 神秘的な単語を使用することにしました。」



「ロックスターはプログラミング、英語、ロックンロールを組み合わせているため、アポストロフィは複雑です。 プログラミングでは、文字列値に使用されます-「このように」。 短縮形の英語で-あなたは、彼です。 そして、ロックンロールでは、彼らは一般的にランダムにそれを使用しているようです:「私のもの、話していない」「愛、銃とバラ」







ディラン自身といくつかの詳細を明らかにすることにしました。



-このアイデアは、一見すると「1回のコミットでの冗談」のように見えますが、2回目は続きません。 しかし、プロジェクトにはすでに132のコミットがあります-彼が生きていることを正しく理解していますか?



-はい! それは冗談として始まりました-私がラップトップのバーに座って書いた言語仕様の最初のドラフト。 GitHubに投稿し、Twitterでリンクを公開しました... GitHubで星を1000個以上獲得しました。 そして、人々は実装を始めました。 誰かがRockstar-JavaScriptトランスポーターを作成し、他の誰かがSublime TextとVS Codeの構文強調表示を作成しました。 人々はプルリクエストを作成し、問題をオープンし、独自の実装を行いました-驚くべきことでした。



現在、Rockstarのリファレンス実装に関与している小さなチームがあります。 Discordには言語設計について議論するグループがあります。 これはまだコミック言語ですが、統合テストのセットと再帰的なトップダウンパーサーを備えたコミック言語であり、11月に1.0をリリースする予定です。



-そして、この言語はロックファンのみを対象としていますか? ポップミュージックやヒップホップのファンはここでキャッチするものがありませんか?



-知りません! 元々のアイデアは、採用担当者が「ロックスター開発者」について話すことができなくなったということでした...ヒップホップ開発者のようなものはありますか? しかし、言語は歌詞全体に適合するように設計されており、ロック語彙の使用を厳密に必要とするものはありません。 有効なプログラムになるようなヒップホップテキストを書くことができると確信しています。



-どういうわけか、ロックスターと有名なパロディを組み合わせたいですか?



-同時に有効なロックスタープログラムになるロックソングのパロディを作成しますか? おもしろそうです... 1.0仕様を完成させてから試すかもしれません:)



最後に、小さな広告。 Dylanは、.NETカンファレンスDotNextで定期的に講演しているという事実に感謝しています。彼のレポートは毎回優れたレビューを受けており、パロディだけでなく優れていることを示しています。 そして、来たるDotNext 2018モスクワ (11月22〜23日)で、彼はレポート「Ctrl-Alt-Del:レガシーコードを愛することを学ぶ」で会議を閉じます。 そして、いつものように、彼は必ずギターを持って彼と一緒にパロディを演奏します。 一般的に、ロックスターと彼と話したい場合は、彼をスピーカーとして見たり、彼の作品をライブで聴いたりしてください




All Articles