前に、Kuin言語の本を書いてみたいという記事を書きました。あれから、時間を見つけてはKuin言語で遊んでます。www.konosumi.netまだチュートアリルを終えたくらいですが、とても楽しいです。Windows向けのアプリケーションになりますが、GUIのゲームがシンプルに作れます。基本文法や構文について勉強し、自分なりに補足なども加えてみました。記事としてまとめてみます。Kuin言語の思想についてKuin言語の「設計の理由」を読んでいると、Pascalに多く影響を受けていることが分かります。WikipediaPascalはプログラミング教育を意識している言語のようですが、Kuinもまた似たような印象を受けます。GUIプログラミングは華やかな世界なので、プログラミングの取っ掛かりとしては最適なのではないかと思います。言語仕様は公開されているKuinの言語仕様は、公式サイトで公開されています。面白いのが、言語設計の意図や理由が記載されているところです。言語の細かい設計理由が語られる機会は、そう多くはありません。Kuin言語を使わない方であっても、読んでみると楽しめます。設計の理由このルールは「キャメルケース」と呼ばれますが、このルールを採用した理由はタイプ数もコード量も少なくなるためです。グローバル変数とローカル変数とがぶつからないように別の命名規則を定めることがよく行われますが、Kuinではグローバルなものには先頭に「@」を付けるという構文ルールがあるためキャメルケースで統一しています。引用:http://kuina.ch/kuin/spec1Kuin言語仕様1Kuin命名規則Kuinの標準ライブラリで使われている規則を、Kuin命名規則と言います。ユーザーが開発するアプリも、Kuin命名規則に準拠して開発することが望ましいです。プログラミング言語「Kuin」そんなに特筆するところはなく、わりとスタンダードだと思います。ソースコード内は基本的にキャメルケースですが、ファイル名だけはスネークケースである点に注意が必要です。Kuin略語辞典Kuinで頻出する略語は、Kuin略語辞典にまとまっています。「慣習的によく略されている単語は略す」の判断基準は、意外と難しいです(他の言語でも言えることですが)。私的には、Linuxコマンドで略されるような略語が、慣習的によく略されている略語の判断基準なのかなと感じています。値型と参照型は、他のプログラミング言語の「値渡し」や「参照渡し」と、ほぼ同じです。値型は値そのものをやりとりし、参照型はメモリ参照をやりとりします。文字列型がなく、"abc"が文字(char)の配列になるのは、C系のプログラミング言語に近いかもしれません。配列に種類があります。リスト・スタック・キューは、FIFO(先入れ先出しや)やLIFO(後入れ先出し)などに特化したデータ構造です。データ構造を適切に選択できれば、パフォーマンスが重視される局面で重宝します。b」なのは、Pascal由来です。他にも、いくつか私は初めて見るような文法がありました。b取り急ぎは、型は「$」で表現し、インスタンスは「#」で表すくらいに理解しておくことにします。変数は「var」で宣言しますが、これもPascal由来です。"abcde"スコープ周りはスタンダードで、あまり特筆するところはありません。func」で括ります。個人的には、波括弧よりも見やすくて好きです。「return」は「ret」です。if」が「elif」だったりします。Kuinは、言語レベルで省略できるものは省略する方向で設計しているように見受けられます。多くの言語では「return」ですが、x86アセンブリでは省略形の「ret」が使われるため、短いほうを採用しました。引用:http://kuina.ch/kuin/spec5基本構文も、関数と同じくendで構文を閉じます。以下の3つは、他の言語ではあまり見かけない書き方かと思います。抑えておいた方が良さそうです。メソッド内では、自身のインスタンスを「me」という変数で参照します。注釈:selfやthisではありません。プラス(+)はパブリック宣言です。アスタリスク(*)はオーバーライド宣言です。「self」よりも「me」のほうが短く書ける・・・など、Kuinは短く書くことを重視した言語思想が根底にあるように感じています(注釈:私の推測です)。プログラミング言語「Kuin」スコープ周りは、特筆するところはありません。Kuinのプログラムを複数のファイルに分割して書いた場合、他のファイルのコードは「\ソース名@識別子」というように呼び出します。他のファイルから呼び出しを想定している場合は、定義の先頭に「+」を付ける必要があります。プログラミング言語「Kuin」コメント複数行コメントは、波括弧「{」と「}」で括ります。Pascalに由来します。特徴として、コメントは入れ子が可能です。{コメントですコメントですコメントです}単一行コメントは、行頭を「;」で開始します。x86アセンブラに由来します。コメントです行分割Kuinでは、単に行の途中で改行するとコンパイルエラーとなります。途中で改行したい場合は、改行した直後の行頭に「|」を記述します。func先頭に記述する理由は、Kuinは行頭に情報が集まる言語だからです。BasicやC言語のマクロなどでは、行の途中で改行する場合に行末に特定の文字を記述しますが、Kuinは行頭に重要な情報が集まります。改行中かどうかが行頭で判断できるようにしました。プログラミング言語「Kuin」Kuinは、コンパイラとIDEがセットになっていることが特徴です。環境のセットアップが不要なので、そういう意味でもプログラミングの教育に向いている言語である気がしています。プログラミング言語「Kuin」4文字以下は省略しません。Kuin例外コードコンパイルエラーや例外コードは、エラーが発生した時や必要になったら参照すれば良いと思います。Kuinコンパイル時定数の仕様ほとんどのリテラルはコンパイル時に定数になります。3」はコンパイル時定数になります。プログラミング言語「Kuin」さいごにKuinの言語を学んでいて感じることは、以下の3点です。Pascalの影響が色濃いです。短くコードが書けることを重視しています。設計の理由がしっかり記載されており、意図の見える言語設計になっています。慣れない文法も多いのですが、慣れると、短く書けることが快適に感じられるようになるかもしれません。触ってみたら、また感想を共有していきたいと思います。くいなちゃんの技術同人誌で参加しました技術書典6にサークル参加しました。はてなブログProWEB系エンジニア。ブログで趣味の映画・ゲーム・読書の感想を書いたり、技術系の知見を共有しています。技術書典7にサークル参加して、技術同人誌を頒布しました。BOOTHに電子版があります。(1)月別アーカイブスポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。