1 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 08:44:44 ] 数型言語が注目されている。 Lispはマクロ使用できプログラミング言語をプログラムしやすく、プログラムが非常にはやくかけるといわれる。 またクロージャも利用しやすい。 さて、ここで実際以下の2つのアプリを実際作るとなった場合、LispとC/C++ではどんなメリット、デメリットがあるだろうか。 (1)Webサイトの実装:CGIアプリケーションを作る場合 (2)クライアント用ブラウザ:Windows環境などのGUIをともなうクライアントアプリケーションを作ろうとした場合。
68 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 20:32:39 ] Lisp と C で括弧の数が大きく違うのは、演算子周りくらいじゃないかな。 普通の関数呼び出しとか、 if や for みたいな制御構造とかには、 C だって括弧が要る。 演算子が大量に連なった式でもない限り、 Lisp で閉じ括弧が山ほど続くようなコードは、 C で書いても同じくらいの閉じ括弧が続くと思う。 + 1 2 みたいに書く場合、式と式を区切る手段が必要になる。 その一行だけを評価するならそれでいいんだけど、実際のプログラムってもっとたくさんの式でできてるよね。 式が入れ子になってるようなのも普通だし。 で、特に入れ子になった式を書く場合、どこからどこまでが一つの部分式かを明示しないといけないんで、括弧で括るような記法が便利。 S 式って別に可読性悪くないと思うんだけどね。
69 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 21:32:10 ] >>68 >C で書いても同じくらいの閉じ括弧が続くと思う いやーそれはないない そんなコード見た事無いわ 括弧の数カウントして同じように並べたらって話ならまだ別だけど それ自体意味はないし・・
70 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:35:18 ] S式の閉じ括弧の連続は、それなりのエディタを使わないと面倒だと思う。 というか、メモ帳→Vimと移ってそこがすごい便利だと思った。
71 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 22:38:48 ] >>68 たいしたことないLispのコードでもケツに7,8個カッコが付くなんて普通にあるから、真ん中あたりの閉じカッコがどこに対応してるんだなんて見たってわかりゃしないよね。 エディタの支援機能がないとあんまり触りたくはない・・かな。 Cだと文化違うけど、カッコを2種類使えるのとindentの関係でブロック構造は視認しやすいってのはある。 ま、ブロック構造だけはw Lispでも同じようにやりゃいいじゃないかってのもあるけど Lisperになるほどそうしないからね、人のコード見るときは結構うんざり気味になる・・
72 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:24:05 ] 俺だってそもそもワンライナー以外のプログマムをエディタなしに編集したくはねーよ。Lispに限らずね。 俺はLispでインデントしか見ないので、Cっぽく括弧だけの行があるコードをみるとうんざりするよ。
73 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:54:57 ] 俺もLispの制御構造はインデントでしか見ない。 インデントが崩れていても、emacsならコマンド一発で自動整形できるし あの括弧のおかげで、自動整形の精度も高いんだぜ。
74 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 00:26:17 ] 同じくインデント任せ。 ぶっちゃけ Emacs 以外の環境でまともに読み書きできる自信はない。
75 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 08:05:33 ] ・閉じ括弧は基本的に見る対象ではない ・主にインデントを見る この2点があるから、Lispには閉じ括弧をまとめる慣習があるわけだよね。 見る対象ではないから、出来るだけ小さく存在していたほうが良いし、 閉じ括弧に一行与えると、縦がスカスカになって、目でインデントをなぞりにくい。
76 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 12:21:20 ] >>75 >この2点があるから、Lispには閉じ括弧をまとめる慣習があるわけだよね。 必ずしもそうとは言えないぞ インデントは意識されてても1行に詰め込み杉で インデントの意味がないコードも多いし。 閉じ括弧まとめるのは慣習的な意味合い強いよ。
77 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:42:13 ] >>76 少なくともLisperの間でコンセンサスは取られている。 フレームだらけのLisper同士の喧嘩でもインデントに関するものはほとんどない。 タブ幅に関する個人的な考察だの括弧の配置に関する俺理論とかうんざりなんだよね。 一行につめこみ杉だったら、改行入れて整形するだけであとは>>75 の主張の通りだよ。
78 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 12:26:03 ] CLとSchemeが誕生した前後は、エディタは、edとか、使っていたのかな?
79 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 12:43:24 ] >>77 >少なくともLisperの間でコンセンサスは取られている。 それはないよ。
80 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:07:49 ] >>78 TECOじゃね?
81 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 09:10:46 ] そういえばスーパー閉じ括弧ってどうなったんだろう?
82 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:36:44 ] shcemeでは[]だって使えるんだぜ。
83 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:37:39 ] cとhが逆だったよ。よめねえよ。