【CGI】実用比較Lisp vs C/C++【GUI】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/06/17(土) 08:44:44Lispはマクロ使用できプログラミング言語をプログラムしやすく、プログラムが非常にはやくかけるといわれる。
またクロージャも利用しやすい。
さて、ここで実際以下の2つのアプリを実際作るとなった場合、LispとC/C++ではどんなメリット、デメリットがあるだろうか。
(1)Webサイトの実装:CGIアプリケーションを作る場合
(2)クライアント用ブラウザ:Windows環境などのGUIをともなうクライアントアプリケーションを作ろうとした場合。
0052デフォルトの名無しさん
2008/04/22(火) 22:33:40ある。
「慣れることが出来ない」という事実に目をつぶれば。
0053多色グリグリ=LISPワカンネ派?
2008/06/11(水) 10:37:40UTF‐8で組むXML書式はLISPのカッコの対応を明示しただけ。
UTF‐8コード環境は日本語「だけ」が苦手→はぶられる(オワタ
こうですか>< ワカリマセン(=間違い)…だといいな?
0054デフォルトの名無しさん
2008/06/15(日) 20:28:520055デフォルトの名無しさん
2008/06/16(月) 01:55:46これを書いた人だから。
0056デフォルトの名無しさん
2008/06/18(水) 00:55:300057デフォルトの名無しさん
2008/07/04(金) 20:05:27set b to a
が
(setq a b)
だもん。
単に
コマンド 引数 ...
で引数にコマンド 引数 ...が入れられるようにしただけじゃん。
0058デフォルトの名無しさん
2008/07/11(金) 23:35:40それではリストを正確に表していない。
0059デフォルトの名無しさん
2008/07/29(火) 23:30:34ただlispで値を比較したい場合
( s == o)
という風にSVOで書けないからちょっとだけ見にくい感じはするな。
まあオペレータオーバーロード出来ない言語だと、特定の型以外は
関数で比較とか混在するので似たようなもんか。
ところでlispのどういうとこが自然言語に近いの?
0060デフォルトの名無しさん
2008/08/16(土) 15:43:56プログラミング言語にそんなこと求めたこと無いし・・・
何でそういうことを気にする人がいるのか興味があるなあ。
0061デフォルトの名無しさん
2009/02/10(火) 07:33:42そんな事言ってたら再帰とかどうすんだよとw
lispは人間が機械をサポートしなきゃいけないのが面倒で嫌だったなぁ
コードそのものがS式ですとか言ってみても、言い換えれば人間がそうなるように頑張ってるわけで・・
0062デフォルトの名無しさん
2009/02/11(水) 01:39:12そこを履き違えたならたしかにS式は一方的に人間が機械に譲歩してるだけに見えるだろう。
実際には人間が機械に半分歩みよると同時に、機械を半分人間に歩み寄らせてるんだよ。
0063デフォルトの名無しさん
2009/02/11(水) 10:09:45大してかわらん。
義務教育で教えて概念が入っていればそっちが学びやすい分、
四則演算がそのままかける、手続き言語に軍配があがるかもしれんが
0064デフォルトの名無しさん
2009/02/11(水) 11:13:38x = x + 1
を等式だと思って混乱するっていう落とし穴もあるし。
0065デフォルトの名無しさん
2009/02/11(水) 11:42:420066デフォルトの名無しさん
2009/02/11(水) 13:12:27BASICやCも引き継いでいる、人気のある言語ほど採用しやがる仕様
なんだよな。
0067デフォルトの名無しさん
2009/02/11(水) 13:30:56現実には仕様上無理だとしても
S式を壊して記述しても機械がサポートできるということにすれば
よくある後半の)の山はほとんど消せるよなw
(+ 1 2)も + 1 2でいいことになる。
もっといえば 1 + 2でもいい。
そりゃすでにS式じゃねーだろというかもしれないがその通り。
S式に依存して書かなければならないという仕様は人間が負担し、担保してるし省略形(あるいは省力形といっても・・)で簡素に書く事が出来ない。
結果的に可読性が悪くなる最大の要因と化しているのも事実だと思うよ。
だからといって技術的にどうにかできるものじゃないから
「仕様です」で終わりだけどw
まあ・・この辺がスマートに解決される魔法があったらBASICが使われる事もなかったんじゃないかとさえ思う今日この頃。
0068デフォルトの名無しさん
2009/02/11(水) 20:32:39普通の関数呼び出しとか、 if や for みたいな制御構造とかには、 C だって括弧が要る。
演算子が大量に連なった式でもない限り、 Lisp で閉じ括弧が山ほど続くようなコードは、 C で書いても同じくらいの閉じ括弧が続くと思う。
+ 1 2 みたいに書く場合、式と式を区切る手段が必要になる。
その一行だけを評価するならそれでいいんだけど、実際のプログラムってもっとたくさんの式でできてるよね。
式が入れ子になってるようなのも普通だし。
で、特に入れ子になった式を書く場合、どこからどこまでが一つの部分式かを明示しないといけないんで、括弧で括るような記法が便利。
S 式って別に可読性悪くないと思うんだけどね。
0069デフォルトの名無しさん
2009/02/11(水) 21:32:10>C で書いても同じくらいの閉じ括弧が続くと思う
いやーそれはないない
そんなコード見た事無いわ
括弧の数カウントして同じように並べたらって話ならまだ別だけど
それ自体意味はないし・・
0070デフォルトの名無しさん
2009/02/11(水) 22:35:18というか、メモ帳→Vimと移ってそこがすごい便利だと思った。
0071デフォルトの名無しさん
2009/02/11(水) 22:38:48たいしたことないLispのコードでもケツに7,8個カッコが付くなんて普通にあるから、真ん中あたりの閉じカッコがどこに対応してるんだなんて見たってわかりゃしないよね。
エディタの支援機能がないとあんまり触りたくはない・・かな。
Cだと文化違うけど、カッコを2種類使えるのとindentの関係でブロック構造は視認しやすいってのはある。
ま、ブロック構造だけはw
Lispでも同じようにやりゃいいじゃないかってのもあるけど
Lisperになるほどそうしないからね、人のコード見るときは結構うんざり気味になる・・
0072デフォルトの名無しさん
2009/02/11(水) 23:24:05俺はLispでインデントしか見ないので、Cっぽく括弧だけの行があるコードをみるとうんざりするよ。
0073デフォルトの名無しさん
2009/02/11(水) 23:54:57インデントが崩れていても、emacsならコマンド一発で自動整形できるし
あの括弧のおかげで、自動整形の精度も高いんだぜ。
0074デフォルトの名無しさん
2009/02/12(木) 00:26:17ぶっちゃけ Emacs 以外の環境でまともに読み書きできる自信はない。
0075デフォルトの名無しさん
2009/02/12(木) 08:05:33・主にインデントを見る
この2点があるから、Lispには閉じ括弧をまとめる慣習があるわけだよね。
見る対象ではないから、出来るだけ小さく存在していたほうが良いし、
閉じ括弧に一行与えると、縦がスカスカになって、目でインデントをなぞりにくい。
0076デフォルトの名無しさん
2009/02/12(木) 12:21:20>この2点があるから、Lispには閉じ括弧をまとめる慣習があるわけだよね。
必ずしもそうとは言えないぞ
インデントは意識されてても1行に詰め込み杉で
インデントの意味がないコードも多いし。
閉じ括弧まとめるのは慣習的な意味合い強いよ。
0077デフォルトの名無しさん
2009/02/12(木) 22:42:13少なくともLisperの間でコンセンサスは取られている。
フレームだらけのLisper同士の喧嘩でもインデントに関するものはほとんどない。
タブ幅に関する個人的な考察だの括弧の配置に関する俺理論とかうんざりなんだよね。
一行につめこみ杉だったら、改行入れて整形するだけであとは>>75の主張の通りだよ。
0078デフォルトの名無しさん
2009/02/13(金) 12:26:030079デフォルトの名無しさん
2009/02/13(金) 12:43:24>少なくともLisperの間でコンセンサスは取られている。
それはないよ。
0080デフォルトの名無しさん
2009/02/13(金) 18:07:49TECOじゃね?
0081デフォルトの名無しさん
2009/02/14(土) 09:10:460082デフォルトの名無しさん
2009/02/14(土) 13:36:440083デフォルトの名無しさん
2009/02/14(土) 13:37:39■ このスレッドは過去ログ倉庫に格納されています