描主宇田川浩行K#F85E
上描き希哲8年(2014年)
01月29日 23:27
下描き希哲6年(2012年)
04月30日 05:30
利承
ライセンス
希哲館普通利承(KULクール

(シー・ミュー)は,希哲館・宇田川が開発する C++ 互換プログラミング言語である。ライブラリやフレームワーク等,「語彙」の面から言語改良を計る「ミュージアム言語」を提唱している。

ラテン文字のみによる表記は「C-Mu」を正式とし,省略形は μ を u で代用して「Cu」とする。ファイル拡張子には .Cu.Hu を使用する。

正確には,枯れており互換性の高い C95 と C++03 の仕様を基準とする。

Cμ の設計思想の核心には,「C Off-Roading(COR:コア)がある。これは,舗装路を走るような快適なプログラミング環境よりも,悪路を走りやすい自由なプログラミング環境を提供することを目指している。

採用状況

2013年4月8日,正式に虎哲の主要開発言語として位置付けた。

語誌

「μ」(ミュー)は,ミュージアムの略であるとともに,その語源であるギリシャ語「ムセイオン」(μουσεῖον)の頭文字である。

当初(2012年4月頃),「Museum C(ミュージアム・シー)を正式名称とし,「Mu-C(ミュー・シー)を略称としていた。

2013年2月5日,「Cμ」に改称した。

一覧

=}{*}

C++ から を作って,JavaScript下装書CSS)に足を取られたのは,今思えば良い経験だった。前縁フロントエンド)は適当でも何とかなるだろう,という意識が変わった。

=}{*}

論組プログラミング)において定数というのは「多用すべきもの」なので,const の代わりに C 修飾を導入したのはちょっとした発明だった。この上なく読みやすく書きやすい。

=}{*}

ちなみに,νSaltJS)では constC let と書く。constC と書くのにならったものだが,普通の let と相互に書き換えやすいので良い。

=}{*}

私の場合,C++ 互換),νSJavaScript 互換),Bash スクリプトEmacs Lisp が今のところそれに当たる。どれも捨てられないし,これ以上分散させたくない。

=}{*}

ただ,Vanilla C++Vanilla JS は個人的におすすめしていない。希哲社 では νS を使っている。

=}{*}

C++ を徹底的に研究して を作った経験は,論組屋プログラマー)として非常に大きい財産だ。この脳法ノウハウ)であっという間に νS という altJS が出来てしまった。

=}{*}

ちなみに, には標準で DBG() というマクロがあり,DBG() と書くだけでも譜類(ファイル)名・行番号が出力されるようになっている。もちろん,離立(リリース)時には自動的に除去出来る。これにならい,νSAejs)にも @DBG() を追加した。

=}{*}

正直,前縁フロントエンド)をなめていた。 をはじめ後縁バックエンド)の成功体験にとらわれ過ぎていたのかもしれない。

=}{*}

=}{*}

その昔,設計思想として「CoR」(コア,C Off-Roading)を提唱したことがあった。不自由に舗装路を歩くような言語よりも,自由に悪路を走れる言語が欲しかった。

=}{*}

std::map って,何で値の型が省略出来るようになってないんだろう。std::map< std::string, std::string > は流石に書きたくないと思うのだが…… なら同じことが map_< s_T > と書ける。

=}{*}

つまり, では no_t foo( no_t ) sry と宣言した函数サボルーチンとなり,函数が完成したところで,例外を禁止するなら no_t foo( no_t ) dry,許容するなら no_t foo( no_t ) cry とする。なんだこれ……。

=}{*}

で「明示的手抜き」を概念化し始めて,サボルーチンの表現方法として例外仕様のところに sry(sorry)と記述する,というのを思いついた。 では noexceptdry で表現してきたため。ついでに例外送出も cry で明示化する。

=}{*}

その点で が強いなと思うのは,デルンという革新的な柔品ソフトウェア)の実装に成功しているという裏付けがあって,私自身が全て開発しているので初歩から地続きの「道案内」が出来るということ。

=}{*}

希哲館訳語カタカナ依存症を治し,交度英語(Code English)で勘報上で扱う諸言語の語彙を統一し,実装する。今の希哲館でこれが出来ていることの意義はとてつもなく大きい。

=}{*}

だから では constC と書けるようになっている。C++ でいう const std::stringC s_T と書ける。この差。

=}{*}

広域定数the_ 接頭子,やっぱりかっこいいな。マクロとの衝突を避けるため全部大文字を避けるとしたらこれしかなかった。the_foo みたいに書ける。

=}{*}

の良い所は……安全厳密なのに書いていて楽しい交度簡潔綺麗,実行速度は C++ 並みに速く,C++ 並みに大体の場所で使える。この上にひたすら交度(コード)資産を積み上げられる。のようだ。

=}{*}

思い描いていた理想論組(プログラミング)言語に限りなく近いかもしれない。今の は。

=}{*}

,ずいぶん綺麗になって何かぼーっと眺めているだけで時間が過ぎてしまう。

=}{*}

=}{*}

豆知識 では,「チキン例外」という消極的な例外処理を採用しており,通常の try-catch-throw にかえて try-fry-fly という予約語を使う。noexcept に相当するのは dry である。なぜチキンなのか?空飛ぶチキン(臆病者)は例外だからだ。

=}{*}

豆知識 では,自身が所有権を持つ面触れ(メンバー)変数own_,所有権を持たない指示体ポインター)には dear_ という接頭子を使う。Cμ では this-> が my と書けるので,my own_var, my dear_var などと書ける。ちなみに my way() という特殊記法もある。なお通常 my は省略出来る。

=}{*}

=}{*}

C++ の語彙改良を行い, で文法改良に進む。そこから C の伝統にとらわれない (ディーシグマ,ドグマ)に進む。この計画を CnD(キャンディ,Cμ/Cν and Dσ )と呼ぶ。

=}{*}

=}{*}

の最初の成功は,実は Cμ という名前だったんじゃないかと思う。C のように簡略化し過ぎて結局「C 言語」みたいな書き方をしなければならない言語や C++C のように扱い辛い記号を使っている言語とも違い,簡潔かつ代用字のあるギリシャ文字を使うというのは良いアイデアだったと思う。ちなみに Cμ の次世代言語は (シーニュー)。μ の次が ν。これも完璧。

=}{*}

=}{*}

,圧倒的に手早く美しく書ける Better C++ としてだけでも,それなりの価値があると思う。

=}{*}

最近の 改良が凄まじ過ぎてちょっと泣きそうになる。

=}{*}

これで,魔法引括マジック インクルード)に再帰引括機能でも付ければ,換配コンパイル)時とはいえかなり柔軟な運用が可能になる。

=}{*}

もう一つ,交度(コード)断片拡張子も悩んでいたのだが,これも .u.* の形で上手く解決出来る。例えば,設定用の交度断片は main.u.cfg のような拡張子を付けておけばいい。

=}{*}

=}{*}

昨日,素譜ソースファイル)と頭譜ヘッダーファイル)をあえて分化させずに使う手法について触れたが, ではこれに拡張子 .u.h を当てることにした。見たままの意味。

=}{*}

=}{*}

私が を作らなければ,希哲館訳語を作らなければ,デルンの開発はここまで成功していない。

=}{*}

と言ってしまうくらい,を感じている。

=}{*}

行き詰まらず,ちゃんと蓄積し続けられる論組(プログラミング)環境って,本当に贅沢だなと思う。

=}{*}

本当に,つい最近まで, がこれほど優秀論組(プログラミング)言語だとは自分でも思っていなかった。理腑リファクタリング)にも最適化にも強すぎる。

=}{*}

私はもうすでに 以外でまともに論組プログラミング)出来ない身体になってしまっている……。

=}{*}

を公開したら,Cμ 革命が起きてしまうかもしれない。

=}{*}

この辺も,デルン大理腑リファクタリング),大最適化大成功したことで確信出来るようになった。設計にとにかく助けられた。

=}{*}

の場合,型名が無茶苦茶書きやすいおかげで,楽で分かりやすいのに安全,という奇跡的な状況が生まれている。

=}{*}

=}{*}

設計思想を貫いているのは「全体最適化」の観点だ。C++スマート ポインターが「複雑さの問題を複雑さで解決しようとする」罠にハマったのに対し,スウィート ポインターは徹底的に記憶管理単純化した。

=}{*}

ただ,これも完成度が高過ぎて,突っ込みどころが多過ぎる V 言語のような謎の人気にはなりそうもない。これも難しいところだよな。

=}{*}

論組(プログラミング)言語の設計をほぼ素人状態から始め,記憶管理だの排他制御だのの機構を独自に設計して,世界初のシンメディア(symmedia )として実装したデルンがキビキビ安定して動いているということがいまだに自分で信じられん……。

=}{*}{*}

=}{*}

昨日は void にあたる予約語 no_t の正式採用決定,今日は Cμ における排他制御仕様の洗練など, も一般公開に向けて着々と整備が進む。

=}{*}

は徹底的に「速読性」と「速記性」を追求してきた。そして頭で理解する前に直感的に反応出来る交度(コード)体系が出来上がった。これはデルン開発を強力に後押ししている。

=}{*}

デルン大理腑リファクタリング),大最適化が想像以上の成功を収めたのは,C++ 相当の性能と柔軟性を持つ静的言語でありながら極めて簡潔な表現が出来るという の特性によるところが大きいと思う。

=}{*}

が最高なのは,スクリプト言語以上の書きやすさと C++速さを兼ね備えているところ。これがなければデルン開発はままならなかった。

=}{*}

要は における如零(NULL)許容型なのだが,例えばこんな感じで使える。

iffy_< s_T > s ( nil ); // 文字列の如零許容型

out << iffy( s, "bye" ) << v; // s が nil なので "bye" が出力

s = "good";

out << iffy( s, "bye" ) << v; // "good" が出力

=}{*}

iffy_ 型と iffy(),かなり前に実装したのだが,今になって凄い発明をしていた気がする。

=}{*}

デルン,なんでこんなに上手く動いているのかたまに自分でも不思議になる。C++ を無茶苦茶に改造して,記憶管理機構勒(ロック)機構みたいな割とデリケートな所から自作して,多糸マルチスレッドFastCGI記憶内隠しインメモリキャッシュ)とか,全部それなりに安定して動いている。

出力論組プログラム虎哲*イチ 1.01
制作・運営:希哲社
© K1-13 (2007-2019) KiTetuSha