みんな、どんなプログラム言語使える?
#include <stdio.h>

int main( ){
int a[10];
4[a] = 100;
printf( "%d\n" , 4[a] );
return( 0 );
}

なお『使える』の基準は自主判断にお任せします。
(viemoo) 2008-05-02 00:48:05作成 2024-03-30 00:03:11更新 84投票 31有効票 56気になる 51興味無い 3663参照 はてなブックマークはてなブックマークに追加 Twitterでつぶやく

項リスト(更新順)
Z80(1)   C/C++(11)   機械語(2)   ExcelVBA(1)   ん?4[a] って 宣言なしでもいいんかに?(19)   LISPerはいる?(15)   awk(3)   アセンブリ(3)   ヒエラルキー(1)   COBOL(2)   Perl(6)   Objective-C(1)   学習法(3)   Haskell(1)   MS-Access2000+SQL-Server2005(1)   ...他7項
戻る投票順更新順
2. 『LISPerはいる?』についてのコメントGoogleYouTube

未だにLISPがC++より優れていると言われても理解できないのだけど、誰か解説して下さい。
それは本当にclassという概念・表現力を超える物ですか?
[#1](rcakbq) 2008-09-22 21:19:11

LISPerではないが、アレの場合概念越えるというか、内包する記述も出来るって感じかも
配列と構造体は人間にとっては違う存在だがメモリ上では大差は無い存在みたいな
[#2](ekrvut) 2008-09-22 23:10:08

S式は単純だがそれだけでオートマトンであることが証明されている。つまり、全てのロジック回路がNANDで表せるように、全てのプログラムはS式のみで表せることが、証明されているわけだ。通常の言語にあるifやwhileも全てs式で表現できる。学術的には非常に面白い言語だ。実用性は殆ど無いが。
[#3](yreqbc) 2008-09-23 00:16:06

LISPは強力だから、言語上にクラスを含めたオブジェクトシステムを構築出来るよ。CLOSとかが有名。
なので、当然 LISPの表現力>>>>classという概念・表現力 だよ。
まあ、C++は求道的な変態サン向けの凄い世界だから…とも思ったけど、templateじゃなくてclassとかいってるから、そう言う変態さんでもないのかな?
[#4](vutdbl) 2008-09-23 00:56:43

>当然 LISPの表現力>>>>classという概念・表現力 だよ。
LISP信者のこういう表現が大嫌い。
[#5](aaanhq) 2008-09-23 01:08:33

S式がどんな物かは分かっているつもりです。コンパイラを作る時にtokenをtreeにしますから。
でもこれを自分の手で書きたいなんて思いません。何より見にくい。
CLOSも調べてみましたが、LISP上にその仕組みを作る事自体が目的になっているように見えます。
確かに「表現できる」のでしょうが、最初から備わっている手続き型言語のそれと比較すると随分煩雑に見え、
あくまで知らない身からの視点ですが同列には語れない気がします。

とはいえ多くの優秀な技術者が愛してやまない言語という事も理解していますので、
自分にその魅力を見いだせるほどの能力がまだ無いのでしょう。もう少し様子を見ます。
回答ありがとうございました。
by項
[#6](byofhp) 2008-09-23 02:49:29

C++,Common Lisp両方共扱った上のコメントです。表現力はC++よりLispの方が高いよ。ところでどのLisp(common lisp, scheme, 純lisp など)をさしている? Lisp系はジェネリックなところから出発しているけど、C++は変数の型ありきから、後付けでジェネリックな方向にいってるってこともあって、C++の柔軟性は無理やり感がある。それゆえ複雑になってる。不器用な柔軟性と言う印象。速度的にはC++の方が有利だがね。
CLに絞って話を進めるね。関数ごとにコンパイル・インタプリタを選べる。もちろん、関数ごとに最適化の度合いを変えられる。変数も型宣言は必要なものだけすればいい。(速度的に速くなる。)マクロが強力。リーダーマクロを書けばS式以外の表現でも理解できるかな。要するにしょうもない仕様にしやがってと思ったら、自分の都合の良い仕様に変更する事が可能ってことかな。動的言語ってのは一番外せないかも。REPLはそれだけ強力だよ。C++のように、静的なものだけを触っていたら理解ができないかも。この辺はデバックの方法すら変わるよ。
closも強力なオブジェクト指向とよく言われている。C++のそれとは感覚的にずいぶん違うよ。なぜならクラスの中に関数を作らないといけないわけではないから、メソッド関数は分けて作れる。それゆえだと思うけど、マルチディスパッチも扱いやすいですね。closでマルチディスパッチを気をつけるところはメソッドコンビネーションを扱うときかな。C++でマルチディスパッチは使う気すらおこらないけど。
[#7](xwmjqd) 2008-09-24 13:11:04

あとプログラミングスタイルの違いって事にふれておくと、変数の型宣言なんてあとでいいので、取り合えず作ってしまえで作るけど、その後に最適化をはかっていく。最初から最適化はしないです。その最適化の方法は、関数ごとに切り替えていけるのでREPL上で一つずつ確認しながらしていくかな。それも、プロファイラを使って、特定のよく利用する関数を煮詰めていきますね。この辺はLL言語の感覚をネイティブコンパイラを持つ言語でやってると思えばいい。だからC++とはスタイルがずいぶん違うはずだよ。LLでまかないきれない重い処理をLL感覚でやるならCLしかないです。表現についてアレルギーを持ってる人がいるから、本当はどの言語より真っ先にS式にふれていたら世界が広がるのにと思うと残念です。

>#5ざんねんながら、信者の多くは脳内lisperなんだよ。実際に使ってくれたら、日本語の問題の事や、必要なライブラリは作っていけるのでもっと実用的になる。windows上でcommon lispはお進めできないと言う意味では実用性はないけど、linuxやmac上ならなんら支障はないよ。ffiまで扱えたなら、C/C++のライブラリは取扱いできますから。
[#8](xwmjqd) 2008-09-24 13:26:19

表現力がどうであろうとLISPのコードが読みにくいのは揺るぎない事実。
[#9](ouhdur) 2008-09-24 16:31:57

マンガで分かるLisp
http://lambda.bugyo.tk/cdr/mwl/
あとで読む
[#10](sphflg) 2009-10-20 01:12:34

魔法言語 リリカル☆Lisp
http://lyrical.bugyo.tk/
[#11](sphflg) 2009-10-20 01:14:48

>当然 LISPの表現力>>>>classという概念・表現力 だよ。

同じ頭の悪い発言をするなら「当然 LISPの表現力))))classという概念・表現力 だよ。」くらいはじけて欲しかった。
[#12](cjccie) 2010-04-21 12:57:23

LISPは使い手を選ぶからな
しかし関数型の言語はどれもコレもLISPから括弧をなんとかして消そうとして解決策としてはイマイチな印象
マイクロソフトリサーチ謹製のF#はどうなのかね?最近の仕事は.NETばっかだからあのライブラリが使える関数型ってのには興味あるが
[#13](gfcfyd) 2010-04-21 21:45:58

Lispはええよ.
Lispからみると他の言語は構文制約がキツい Syntax sugar の塊.
クドすぎる.でも perl はたまに食べたくなる.そんな感じ.
[#14](pizkcw) 2010-12-26 00:51:00

lots of irritated stupid parentheses
[#15](gnjevi) 2010-12-26 02:26:59
コメント(10行1000文字まで)

画像jpg,png,gifのみ500Kbytesまで