こんなLLはXXだ
言語仕様
-
中括弧とインデント両方必須
for x in lst{ hoge(x) --> Syntax Error -
全部の変数の型を明示
Integer x [Integer] lst Integer -> Integer hoge for x in lst: hoge(x)
-
よめない(whitespace
-
全部大文字
FOR X IN LST: HOGE(X)
-
制御がgotoとifだけ
max = len(lst) i = 0 loop: if i > max: goto eloop hoge(lst[i]) i += 1 goto loop eloop: -
ifが後置だけ
hoge(x) if x;
-
ASCIIにない記号が入ってる
π=3.1415
-
ユーザーが俺だけ
-
( と { と [ が同じ意味だ
dict_user{func_hoge[x_list(10}}) -
a=-b と書くと実装依存
b=10 a=-b -> -10 -> 9
-
数値リテラルが2進数だけ
a= 10101111100 b= 00000000011 buf = malloc(100000)
-
文字列リテラルがない
str = {'a', 'h', 'o', 'k', 'a', 't', 'o'} -
エンディアンで挙動が変わる
-
変数名に$%^&*-_+=\|がつかえる
-_- = |^_^| + \+_+\
-
整数が16bit,32bit,64bitだったり
if sizeof(int) == 8: a = 2**32 elsif sizeof(int) == 4: a = (1,0) elsif sizeof(int) == 2: a = (0, 1, 0, 0)
-
アスキーアートでロジック記述
-
行番号必須
-
半角カナのみサポート
10 マワレ I=0 カラ 100 カンカク 10 20 カケ I, "オヤ" 30 トジル
-
濁点と二重引用符を区別しない
str = "タ\゛イコン゛
-
Iとlと|を処理系が間違う
-
変数名、関数名は2文字まで
for i in ls: pc(f1(i)) pr(f0(i))
-
副作用あるものがprintだけ
-
GCがない
-
ひらがなのみサポート
-
DIM のみサポート
-
小数演算サポートせず
-
6桁以上になると概数計算
>>> 12345 * 12345 152400000 >>> 123456 123460
-
小数点表記に. と , を区別しない
a = 100,1 b = 10.123
-
通貨記号必須
a = 100EUR b = $100 c = (a + b) / 2JPY
-
localeで構文がかわる
-
関数は1回しか呼び出せない
-
変数の修飾語がやたら長い
final unsigned 32bit integer variable i;
-
i, j, k, m, n, a, b, x, y, z, q が予約語
-
使われない予約語が200個
-
識別子はすべて予約済。しかも全部undefinedのalias.
-
命名規約がNPS130213945こんなんだ
-
コメントが書けない
-
1が真で偽が-1それ以外は全て例外処理
-
0 = Nullがtrue
-
しかも 0にNullが代入されてる
-
== は代入比較
-
= は比較
-
変数を___プレフィクスすると初期化も代入もできない
-
制御構造を矢印でAA記述
-
ブロックを↓↓↓↓↓↓ ↑↑↑↑↑↑ で囲む
-
コード中の再近傍の abc で始まるリテラルをabc\t で表現
-
スペース1個と2個の意味が違う
-
行末に"www"を付けるとコメントアウトになる
This module probides base class (www for HTTP Server Basic Authentication (www
-
"越えられない壁"が予約語
-
ソースファイルが画像のみ(可逆圧縮のgif, png, TIFFのみ)
-
比較演算子が"<"と">"
-
真偽値がなぜか3状態ある(真/偽/シラネーヨ)
-
RDBとの相性はすばらしいもののそれ以外では混乱多発
-
条件分岐がない
-
数値を扱えない
-
ボトルを99本数えることしかできない
-
8つ以上連続する不等号は「越えられない壁」扱いになる
>>> a <<<<<<<<<< b >>> a + MAX_INT < b True
-
空白に意味が有るので区切りは_を使う
def_my import(name): ____mod_=_ import (name) ____components_=_name.split('.') ____for_comp_in_components[1:]: ________mod_=_getattr(mod,_comp) ____return_mod -
$が東京外国為替市場と連動する変数になっている
>>> $ \110.65
-
クラス継承は樹形図を書いて指定する
データベース┳━ファイルシステム派━━━━┳━インストールめんどいよ派 ┃ ┃ ┗━ラッパー派┳━オラクル派 ┗━テキストじゃないと怖いよ派 ┃ ┣━PostgreSQL派 ┃ ┣━その他派━━━━┳━DBM派 ┃ ┃ ┣━SyBASE派 ┗━ODBC派 ┃ ┣━SQLite派 ┃ ┗━MySQL派 -
記法がXMLだ
<function type="builtin" name="print"> <literal type="string">Hello, world </literal> </function>
-
文法がサンスクリット並みに複雑
-
男性変数名と女性変数名、中性変数名がある
-
定数には定冠詞、変数には不定冠詞をつけなければならない
-
オペランドの性・数に合わせて演算子が語形変化する
-
しかも双数形まである (変数に 2 が入っているとき専用の演算子がある)
-
オペランドは演算子の前と後ろで格が違うので格変化する。もちろん性・数によって変化形が違う
-
if 文の中の演算子は接続法で書かなければならない
-
しかもデーヴァナーガリー文字で書く
-
オブジェクトは主格(ただし大域変数は呼格)で、メソッド名は具格で、引数は対格で、代入は為格で、制御文は奪格で、フィールド変数に属するオブジェクトは属格で記述する。その代わり、1ステートメント内でこれらはどの順序で現れても正しく解釈される。
-
宗教的な理由で無駄なループが存在しているが、それを実装しないと正しい動作が保証されない
処理系の実装まわり
-
コンパイラがマクロパッケージ
-
拡張子が .exe
vi hoge.exe
-
エラーメッセージはすべて"Error <行番号>"
-
ファイルが16個までしか開けない
-
まず時刻を入力
-
if文で処理系がfork()
-
関数定義で処理系が fork()
-
各オブジェクト毎にプロセスを作って本当にメッセージ通信
-
変数がRDBMSで管理されてる
-
処理系は自動的に消滅する
-
プログラムも自動的に消滅する
-
入力はパンチカードのみ
-
リファレンス処理系が8テープのチューリングマシン
-
Syntax errorの表示が"SN Error"
-
対話インタプリタを立ち上げると"How many files (0-15)?"
-
処理系が実在しない
-
処理系の名前が異常に長い
hogehoge_language_interpreter_commandline_interface hoge
#!/usr/bin/supercalifragilisticexpialidoceous import Supercalifragilisticexpialidoceous.PNEUMONOULTRAMICROSCOPICSILICOVOLCANOCONIOSIS
-
処理系の名前が(ぴーーー)(放送禁止
-
brain(ぴーーー)
-
モジュールをURLで指定
-
httpだと「信頼できないがよいか」といちいち警告する
-
郵便番号←→住所変換関数が組み込み
-
起動時マスコットをAA表示
_____________________________________________________________________ | │ 〈 ! | |/ノ二__‐──ァ ヽニニ二二二ヾ } ,'⌒ヽ /⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ ! ! ハ!| ー─ ' i ! `' '' " ||ヽ l | | | /ヽ! | |ヽ i ! ヽ { | ! |ノ / ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> -
「関数ひとつを200文字ぐらいの正規表現で置き換えした」というコメントが自信満々に書かれていた
# 8の倍数かチェック $i =~ ((^|[02468])((^|[048])[08]|[37]2||[26]4[159]6)|[13579]([26][08]|[159]2|[048]4|[37]6))$
-
処理系がライフゲームのグライダーガンとブリンカー等を組み合わせて構築されている
□□□□□□□□□□□□□□□□□□□□□□□□■□□□□□□□□□□□ □□□□□□□□□□□□□□□□□□□□□□■□■□□□□□□□□□□□ □□□□□□□□□□□□■■□□□□□□■■□□□□□□□□□□□□■■ □□□□□□□□□□□■□□□■□□□□■■□□□□□□□□□□□□■■ ■■□□□□□□□□■□□□□□■□□□■■□□□□□□□□□□□□□□ ■■□□□□□□□□■□□□■□■■□□□□■□■□□□□□□□□□□□ □□□□□□□□□□■□□□□□■□□□□□□□■□□□□□□□□□□□ □□□□□□□□□□□■□□□■□□□□□□□□□□□□□□□□□□□□ □□□□□□□□□□□□■■□□□□□□□□□□□□□□□□□□□□□□
-
標準ライブラリの関数名が全部日本語ローマ字表記
HANDLE pi-FairuWoTsukuru( str RonguFairuNe-mu // ファイル名 str AkusesuMo-do // アクセスモード )
-
処理系が開発者Mailing Listそのものだ。コードをそこに書くと実行結果が投稿される(i.e. Perl6あqwせdrftgyふじこlp
[hoge-ml: 5024] こんにちは [hoge-ml: 5025] Syntax Error at line 1 before 'こんにちは' (Re: こんにちは)
-
言語仕様は標準化されていない
-
言語仕様は標準化されてるけど実装依存が多スギ
-
インタプリタビルドの./configureに--with-religionや--with-cultのオプションがついてくる
環境とか
-
キャメルケースで変数を書くとハイパーリンク
-
プログラム数<<<処理系の数
-
処理系をみないと仕様がわからない
-
処理系をみても仕様がわからない
-
毎週メジャーバージョンアップ
-
ドキュメントがエスペラント
-
ソースをカセットテープで配布
-
最近CD-DA配布もはじめた
-
&を使うと、どんなに直しても&と表示される
>>> a & b a & b >>> a \& b a \& b >>> a (&) b a (&) b
-
処理系をインストールするためにPerlとPythonとRubyとm4が必要
-
ソースの中にはてなキーワードが有るとリンクになるエディタ
-
ソースにurlを書くと、そこにTrackBackが飛ぶ
-
数字の後に th を入れると勝手に上付きにしたり,行頭の変数名をキャピタライズしたりする
-
実行する度にイルカが出てくる...
-
ツールボタンにえんぴつ・消しゴム・虫眼鏡・定規がある
-
typoを消すときは消しゴムツールをクリックしてマウスで消す必要が有る
-
入力が手旗信号
-
入力が_と-でモールス符号入力
-
プロンプトがギコ猫
,,゜Д゜) 1 + 1 ,,゜Д゜) 自分で考えろやゴラー
-
変数の先頭が勝手に大文字になる
-
ドキュメントのサンプルコードがすべて阪神タイガースびいき
1. Hello Hanshin Tigers! 2. 阪神の勝率を計算する 3. 阪神のマジックを計算する ... 10. 阪神-巨人戦シミュレータ
-
ChangeLogに政治的なメッセージしか書いていない
-
ソースコードはPDF形式でしか保存できない
-
"All your base are belong to us"や"You is big fool man"のような品質のドキュメントしか無い
-
vimもemacsも対応してない
-
起動時に3秒間のCMを見ないと実行できない
-
日付ライブラリが宇宙暦
-
物理定数に変な値を代入すると現実世界に反映される
-
値がマイナスになると年利28%の複利で利子がつく
-
国防総省のメインフレームとマルペケができる
-
右から左に書く
-
ソフトウェアキーボードしかつかえない
-
同じことを3回記述しないときいてくれない
ユーザー
-
2006年にはユーザの大半がリタイア
-
Eric Raymond が「ハッカーになるには」で推奨しそうになった
-
作者だけでなく開発コミュニティが教団
-
一回もコード書いてない信者がえらそう
-
大半の信者は激安Java案件で資金稼ぎ
-
布教活動だけが盛ん
-
「Javaは青色Eclipse色,Rubyは赤色オレってスゲー色...」みたいな御託がある
-
朝になると近所で信者がチンドンチンドンハッキング
-
関係者全員Heavyweight
-
メジャーバージョンアップでObject指向が導入されると、ヌルいユーザーがみんな逃げる
-
誰もつかってないだけなのにセキュリティホールがないと自称する
-
作者が使っていない
-
委員会ばっかり大量にできてしかも何やってるかわからない
周辺社会
-
日経ソフトウェアで特集
-
TechWinで裏ツール扱い
-
ネトランにマスコットフィギュアが
-
やたらと256倍本が
-
マスコットがアキバ系
-
インタプリタより二次元キャラクターのほうで有名
-
ディアゴスティーニから「週刊 CPAN Acme」
-
言語の名前で検索するとエロゲーがヒット
政治層
-
2008年の改訂学習指導要領小学低学年採用予定
-
書くには免許が必要
-
ライセンス条件をGPLにしないと実行できない
開発体制
-
バージョン1.03のまま数年間アップデートしていない
-
頭に"net"が付いたpatch集で開発が続いているが、本家にマージされない
-
バグ報告をするためにはアイディアポイントが必要
-
1000ポイントになってもなかなか開発者が見てくれない
-
バージョン表記が「覚醒→瞑想→悶絶→涅槃→極楽→天空→虚空」
-
処理系の開発者がひとりだけ
-
処理系の開発者が100人くらいいる
-
リリースノートを付けずにVer.1.8.2をリリース
-
リリースは無事行われるが、それを手にする人は無事ではない
謎
-
処理系がツンデレ
-
"好感度"というパラメータがあり、実行時に低すぎるとフラれる
-
変数名にnagisaやhonokaなどを使うと「それなんてエロゲ?」エラーになる
-
ツン8デレ2の処理系は使いこなしが難しい
-
作ったプログラムを他人にデモしようとするとツン度up
-
せつなさが炸裂する
-
早朝に「あーんモジュールのロードが間に合わない〜」と叫びながら起動してくる処理系に交差点で衝突
-
先生が「今度のプロジェクトでは新たに○○パッケージを導入します」... 「あー、お前は今朝の!!」
-
ロシア語で考えてコーディングしないと動かない
-
ユーザが青魔道士か赤魔道士かで使える関数が違う
-
処理系に人狼が紛れ込んでいる
-
投票して一晩に一つのモジュールを消去する
-
若さでムンムンだ
ネタ系
-
こっそりPerlが使えないように$と;のキーボードが抜かれている
-
xorを;の代わりに使うのに慣れてしまう
-
LLDNの夜より
-
処理系の名前がファルコムのゲーム名とバッティングしている
-
そして実装が10年経っても出てこない
-
Xanadu
-
反転した半角カナを縦に書く
-
でもトリニティが発電所を止めるときはsshでログインしていたよね
-
Matrix
-
OKwebのカテゴリーに言語名がさんぜんとかがやいている
-
[ruby-talk]
-
公式サイトのドメインが失効している
-
70万円で買い取りを迫られている
-
Pukiwiki.org
-
てづくりCD-ROMが送付中に破損したら運送屋に600万円を請求したユーザーが出現
-
ブームはとっくに終わってるのにわざわざ髪型をモヒカンにして回りの失笑を買う
-
otsuneさん
未整理
-
実行ファイルが無意味に不可逆圧縮されている
-
ペアプロで社内結婚をさせる為に、仕様にわざとバッドノウハウを残してある
-
しかしグラフィック機能が貧弱で、男子にしか興味を持たれない
-
UnitTestをすると「ひろみちゅ口調」でネチネチと指摘してくる
-
「最適化」すると遅くなる
-
ドキュメント自動生成にやたら拘っている
-
テストスイートで参照していない名前は宣言できない
-
ヴァージョン番号が上がるペースが、3か4くらいから急に早くなる
-
他言語ユーザーが言語使用がどうだのなんだのケチを付けてくる
-
冗談で書かれた真・技術系メーリングリストFAQを真顔で引用してくる
-
教えて君の質問に的外れなアドバイスをする自称中級者がはびこっている
-
公式サイトは2chのスレ
-
パブリックドメインなものに「インスパイア」して似て非なるものをでっち上げた挙句、寡占商売のタネにまでする。
-
特に活動もしてないユーザグループの運営方針を延々議論する
