トップページ⇒tech
1001コメント290KB

最も美しいプログラミング言語は? Part2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/05/16(土) 23:39:27
最も美しいプログラミング言語は何か語りませう。

最も美しくプログラムを書ける言語はなにか?ということです。

言語名と理由を書いてください。
0002デフォルトの名無しさん2009/05/16(土) 23:42:21
前スレ
http://pc12.2ch.net/test/read.cgi/tech/1153320716/l50
0003デフォルトの名無しさん2009/05/16(土) 23:42:21
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所 
0004デフォルトの名無しさん2009/05/17(日) 01:52:41
各言語のソースの最も美しいソフトを語ってくれた方がよほどありがたい
0005デフォルトの名無しさん2009/05/17(日) 04:03:29
ソースコードとして史上最高の名作は、emacsじゃなかった?
0006デフォルトの名無しさん2009/05/17(日) 05:13:49
      r;ァ'N;:::::::::::::,ィ/      >::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、 ここはちんこ ◆GbXlaaQNk.の日記帳じゃねえんだ
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  チラシの裏にでも書いてろ
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /
0007デフォルトの名無しさん2009/05/17(日) 05:15:55
>>5
全部グローバル変数っていうんじゃなかった?
それだと、最高はないっしょ
0008デフォルトの名無しさん2009/05/17(日) 06:51:16
前スレの統計出すんだ
0009統計2009/05/17(日) 10:45:38
Haskell :9票|||||||||
Python :9票|||||||||
LISP :8票||||||||
Ruby :7票|||||||
Brainf*ck :7票|||||||
Prolog :6票||||||
アセンブリ言語 :6票||||||
C# :5票|||||
Smalltalk :5票|||||
Whitespace :5票|||||
0010統計2009/05/17(日) 10:47:44
Scheme :4票||||
Shakespeare :4票||||
C :3票|||
C++ :3票|||
Pascal :3票|||
機械語 :3票||
APL :2票||
BASIC :2票||
COBOL :2票||
D :2票||
Forth :2票||
Java :2票||
Objective-C :2票||
ひまわり :2票||
0011統計2009/05/17(日) 10:49:16
Grass :1票|
HQ9+ :1票|
JavaScript :1票|
Ook! :1票|
PHP :1票|
SaC :1票|
System F :1票|
unlambda :1票|
VisualBasic :1票|
なでしこ :1票|
織田信長 :1票|
regex :1票|
0012デフォルトの名無しさん2009/05/17(日) 10:53:40
微妙な言い回しが多くて、一部はカウントできずスマン。m(__)m
nasm はアセンブリ, N88はBASICに分類しています.
間違いあったら修正よろしく.
0013統計2009/05/17(日) 10:55:40
(おまけ)汚いプログラミング言語(前スレ統計)
6票:C++
3票:Java
3票:Perl
2票:Python
2票:Ruby
2票:C#
2票:LISP
2票:bat,Shell Script
1票:C
1票:COBOL
1票:Haskell
1票:Visual Basic
1票:Whitespace
0014デフォルトの名無しさん2009/05/17(日) 11:44:47
perl汚いに一票
0015デフォルトの名無しさん2009/05/17(日) 12:15:13
ノシ つづいてperl汚いに1票
dan kogaiも認める断トツ1位の汚さだろ
0016デフォルトの名無しさん2009/05/17(日) 13:31:24
ここまでKEMURIなしか
0017デフォルトの名無しさん2009/05/17(日) 16:28:36
>>12
KL1は2回くらいでてきたのでは。一方はGHCとなっているかも知れないが。
0018デフォルトの名無しさん2009/05/17(日) 17:15:22
前スレの最後の話の続き。
表計算は美しいがチューリング完全ではないのでプログラミング言語とは呼べない、と。
ということは、純粋関数型言語は状態を持たないので、つまりチューリング完全ではないのでしょうか?
0019デフォルトの名無しさん2009/05/17(日) 17:57:29
再帰できれば状態を更新できなくてもチューリング完全になり得る
普通は関数型言語も当然のようにチューリング完全
0020デフォルトの名無しさん2009/05/17(日) 19:52:36
なるほど、新しい状態を引数にしながら無限に再帰すれば状態を持っているのと同じですね。
0021デフォルトの名無しさん2009/05/17(日) 20:35:30
GUIプログラムとかで状態なしってどうやるの?
つねにぜんがめんのじょうたいを持ったものを引数渡しってかんじ?
0022デフォルトの名無しさん2009/05/17(日) 20:54:46
>>21
そんなの、グローバル変数だよ
0023デフォルトの名無しさん2009/05/17(日) 21:06:16
haskellでStateモナドを使った場合
状態を扱う関数を合成していってできたものに最後に初期状態を渡すと
最後に実行される関数の戻り値と最後の状態が戻ってくるとかそういう感じ
合成される関数は任意にその時点での状態を参照してそれに応じた処理をすることができる

でその状態が(画面とかの)入出力を伴う場合、プログラム全体での入出力を伴う処理
と合成し、最終的にmainの外から一括で実行される
0024212009/05/17(日) 21:24:30
・・・なんか言ってることはわからんでもないが、いわゆる普通のGUIアプリの少なくとも書くウィンドウとかはOOPのほうが人間の思考に近そうだな・・・
0025デフォルトの名無しさん2009/05/17(日) 22:17:30
haskellなんて、実用度ゼロじゃん。
0026デフォルトの名無しさん2009/05/17(日) 22:40:52
>>25
そんなあなたにモナディウス
ttp://www.geocities.jp/takascience/haskell/monadius_ja.html
0027デフォルトの名無しさん2009/05/18(月) 02:35:08
SchemeかSmalltalkかPythonかRubyだろうな。
0028デフォルトの名無しさん2009/05/18(月) 13:02:58
Aが一番きれい
0029デフォルトの名無しさん2009/05/18(月) 23:15:22
仕様はDが好きだな、使いたいとは思わないが
0030デフォルトの名無しさん2009/05/21(木) 19:09:41
保守を兼ねて、Rubyに1票。
「LISPとSmalltalkが提供するものを、普通の人が使える形で提供しようと考えています」
(作者へのインタビュー記事より)
0031デフォルトの名無しさん2009/05/21(木) 21:19:40
個人的にはRubyは美しいとは思えないな
Perlと同レベルにしか見えん
中途半端に色々な言語のユニークな所を突っ込んだだけとしか

Rubyやるぐらいなら本気でLispをやった方がいいと思う
0032デフォルトの名無しさん2009/05/21(木) 22:11:57
まともなRuby.NETが使いたいな
0033デフォルトの名無しさん2009/05/21(木) 22:25:24
言語とVMはきれいに分離されるべき
0034デフォルトの名無しさん2009/05/21(木) 22:31:25
Ruby は使いやすさのために美しさを犠牲にしてるように思えるので
俺も Ruby は美しいとは思えないね。というわけで Smalltalk に一票。

それよりも

> 「LISPとSmalltalkが提供するものを、普通の人が使える形で提供しようと考えています」

そうなの?
Smalltalk はともかくとして、Lisp?

そりゃ、ま、Lisp は古くからある言語なので、動的型付け型なんかは
さかのぼっていったら Lisp が元だとも言えるのかも知れんが、
matz の発言の趣旨はそういう意味じゃないんだよね?

どちらかと言えば

Perl と Smalltalk が提供するものを、普通の人が使える形で提供してる

ように思えるんだけどねー。

0035デフォルトの名無しさん2009/05/21(木) 22:38:25
「RubyはLispの方言」 某Lisper
0036デフォルトの名無しさん2009/05/21(木) 22:56:29
Rubyがそこそこ人気なのは
Javaのようなベタなオブジェクト指向を素直に受け入れてるから。

PerlやLispやJavaScriptとの一番の違いはそこだろ。
0037デフォルトの名無しさん2009/05/21(木) 23:11:27
>>35
それいったらPerlもPythonもLispの方言と言えるぞ
PythonはLisp-1だからSchemeの方言だな
0038デフォルトの名無しさん2009/05/21(木) 23:16:59
RUBY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0039デフォルトの名無しさん2009/05/21(木) 23:51:27
Rubyが影響を受けたとしたら、第一がPerlであって、次がSmallTalk
Lispはマルチパラダイム言語としして導入した手法の一つだと思うがな
0040デフォルトの名無しさん2009/05/22(金) 01:13:23
IOCCCアゲ
0041デフォルトの名無しさん2009/05/22(金) 01:14:08
アガッテナカッタ
0042デフォルトの名無しさん2009/05/22(金) 02:17:29
GHCだろ
0043デフォルトの名無しさん2009/05/22(金) 04:00:47
そう。理屈の要らない Guarded Horn Clauses ね。
0044デフォルトの名無しさん2009/05/22(金) 11:29:37
>>34
RubyがLISPから導入したものには、以下のものがあると思う
・高階関数
・リスト内包表記
・継続
0045デフォルトの名無しさん2009/05/22(金) 13:44:17
高階関数ならRubyだけでなくPerlやPythonにもあるだろう
内包表記もPythonにあるし
0046デフォルトの名無しさん2009/05/22(金) 17:25:02
ところで誰が>>35みたいなこと言ったんだ?
本当にLisp使ったことある人ならそんなことは言えないと思うのだが
0047デフォルトの名無しさん2009/05/22(金) 21:34:50
なんでそう思うの?
0048デフォルトの名無しさん2009/05/22(金) 22:12:40
S式、マクロが無い時点でLispの方言とは言えないな
0049デフォルトの名無しさん2009/05/22(金) 23:28:17
RubyをLispで作ればいいじゃない
0050デフォルトの名無しさん2009/05/23(土) 00:04:22
「あらゆるプログラミング言語はLispの構文糖衣」だって爺ちゃんが言ってた。
0051デフォルトの名無しさん2009/05/23(土) 00:07:13
「あらゆるプログラミング言語はアセンブラの構文糖衣」だってヒィ爺ちゃんが言ってた。

0052デフォルトの名無しさん2009/05/23(土) 00:09:27
ヒィ爺ちゃんってフォン・ノイマン級の頭脳だなw
0053デフォルトの名無しさん2009/05/23(土) 01:18:59
LispでPrologとか作るのはよくあるけど
PerlやPython、Rubyl作ったって旨みないしなぁ
0054デフォルトの名無しさん2009/05/23(土) 01:50:58
Lispよりかは親しみやすい。それで十分じゃないか。だからArc作ったんだろ。グレアムは。
0055デフォルトの名無しさん2009/05/23(土) 06:30:25
>>51
LISPマシン Prologマシンと言う場合、
アセンブラがそれぞれ LISP Prolog だということだろ。
その点について?
0056デフォルトの名無しさん2009/05/23(土) 07:30:15
それはソフトの部分がハード化されてるだけだろ
0057デフォルトの名無しさん2009/05/23(土) 10:33:20
バイトコードを直接処理できるとかそういう話ではなく?
0058デフォルトの名無しさん2009/05/23(土) 10:59:09
LISPマシンのような高水準言語マシンでは、
高水準言語がアセンブラにくるので、より低水準な言語は
生きる場所がなくなる。そういうケースも考えに入れる
必要があるのではないか。
0059デフォルトの名無しさん2009/05/23(土) 12:45:31
>より低水準な言語は
ちがうよ
たとえ高水準でもLISP以外は生きる場所がないのがLISPマシン。
0060デフォルトの名無しさん2009/05/23(土) 17:05:03
Lispより高水準な言語なんてあったっけ
0061デフォルトの名無しさん2009/05/23(土) 18:01:45
Prolog on Lisp
0062デフォルトの名無しさん2009/05/23(土) 20:44:11
>>58
あのなLISPマシンのような高水準言語マシンでもマシン語は持ってる

0063デフォルトの名無しさん2009/05/23(土) 20:51:54
その論理ならx86のニーモニックなんて高級言語じゃないか?
0064デフォルトの名無しさん2009/05/24(日) 02:18:29
>>44
継続?!
なんで Ruby に継続がいるんだ?
0065デフォルトの名無しさん2009/05/24(日) 06:08:18
>>58
マイクロコード?
0066652009/05/24(日) 06:13:45
>>62 (にしないと訳け解らないか)
マイクロコード?
0067デフォルトの名無しさん2009/05/24(日) 06:30:02
> アセンブリ言語 :6票||||||
たしかに、これが一番美しいきがする
0068デフォルトの名無しさん2009/05/24(日) 06:31:38
>>66
だからマシン語だってば、マイクロコードだってマシン語をインタプリト
するわけでしょ。
アセンブラが存在するかどうかってのは別にして…
0069デフォルトの名無しさん2009/05/24(日) 08:20:53
>>67
だから、アセンブリ言語にもいろいろあるよ、っていう話を今している。
0070デフォルトの名無しさん2009/05/24(日) 10:10:42
文法的にはどれもオペコードの後にオペランドが並んでるだけじゃん
直交性がどうこうとかいう話になればアセンブラ固有の話になるし
0071デフォルトの名無しさん2009/05/24(日) 10:12:44
よく考えたらアセンブラじゃねえな、CPUレベルの話だ
0072デフォルトの名無しさん2009/05/24(日) 23:50:23
やっぱハーバードアーキテクチャだよな
0073デフォルトの名無しさん2009/05/25(月) 14:49:56
>>64
Rubyの継続は、その名もズバリ「callcc」です(笑)

使い方:
callcc do |c|
 # 処理
 c.call if condition # ← c.call で「callccの後の世界(A)」へ継続する
 # 処理
end
# ← (A)はここ
0074デフォルトの名無しさん2009/05/25(月) 15:05:35
アーキテクチャでいえばスタックアーキテクチャは美しいと思う。
スタックマシンであるバロースB5000という古いコンピュータは
アーキテクチャも開発環境も実行環境も美しいよ。
0075デフォルトの名無しさん2009/05/25(月) 15:13:48
このスレで
PostScriptがまったく候補に挙がらないことについて
0076デフォルトの名無しさん2009/05/25(月) 16:10:55
ソースレベルで言うならCだろう
0077デフォルトの名無しさん2009/05/25(月) 22:55:20
LISPは括弧に縛られるのがあまり美しくない
評価と適用を括弧を使わないで区別できないかな
0078デフォルトの名無しさん2009/05/26(火) 00:37:33
>>77
それがLogoだったんだがほとんど絶滅状態
0079デフォルトの名無しさん2009/05/27(水) 18:51:18
Forthはシンプルで美しいね。
自分はHP12C(スタック電卓)を使ってでスタック脳になってるから、そう思うのかも。
0080ちんこ ◆GbXlaaQNk. 2009/05/27(水) 20:10:17
もうプログラミングとかどうでも良くなった。
これは難しすぎる。
自分の書いたプログラムを4ヶ月ぶりに読んだら、意味不明だった。
0081デフォルトの名無しさん2009/05/27(水) 20:13:25
なんだちみは
0082デフォルトの名無しさん2009/05/27(水) 20:29:37
なんか○んこって書いてあるよ
0083デフォルトの名無しさん2009/05/27(水) 23:04:26
Pascalで出来る範囲のものを書く限りPascalは美しかった。
Cばりにポインタ駆使してメモリ読み書きするコードは醜悪の一言だったが。
0084デフォルトの名無しさん2009/05/28(木) 09:08:24
>>81
この方は前スレの後半を盛り上げた功労者です。
0085デフォルトの名無しさん2009/05/30(土) 03:30:21
>>80
おれはちんこか
0086デフォルトの名無しさん2009/05/30(土) 21:32:40
Pascalはyaccにとって美しいだけじゃないの?
0087デフォルトの名無しさん2009/05/31(日) 22:49:45
PascalならModular2だろう、Oberonもあるが一般的でないし
俺の印象では、アメリカの言語は力強く合理的で
ヨーロッパの言語は学問的で美しい印象だな
0088デフォルトの名無しさん2009/05/31(日) 23:25:59
英語は汚いが実用的で、ヨーロッパ言語は綺麗だが難解なのに似てるな
0089デフォルトの名無しさん2009/06/03(水) 15:57:47
ある時代の審美眼からいえば、
DIBOL
も美しかった。
0090デフォルトの名無しさん2009/06/06(土) 16:40:57
>>89
DIBOL って今でも使える処理系あるの?
0091デフォルトの名無しさん2009/06/06(土) 23:18:57
ぐぐったら○OBOLのtypoじゃないのか・・・
0092デフォルトの名無しさん2009/06/09(火) 10:03:40
同じくググったらPDP-8の話がひっかかって興味深かった
0093デフォルトの名無しさん2009/06/12(金) 13:33:42
FORTHは美しいと思う。
美しさの源泉は「Thinking Forth」という本にまとまっているらしい。
PDFを入手したが、なにせ英語なので読むのが難しい。
0094デフォルトの名無しさん2009/06/12(金) 20:43:54
Forthも面白いけど俺はやっぱりLispだな
全てがS式であることの素晴らしさ!
0095デフォルトの名無しさん2009/06/13(土) 00:33:28
特殊形式という例外が美しくないLispが嫌いな俺はForthに一票。
0096デフォルトの名無しさん2009/06/24(水) 19:19:39
プログラミングしりとり
http://schiphol.2ch.net/test/read.cgi/575/1010948472/l50
0097デフォルトの名無しさん2009/07/06(月) 12:56:08
FORTHを勉強中。
変数は値ではなくアドレスが積まれるのが秀逸。
0098デフォルトの名無しさん2009/07/08(水) 21:36:22
今更ながら FORTH 勉強しようと思ってるんだけど、
何かいい本ある?
できれば日本語がいいけど英語も可。
0099デフォルトの名無しさん2009/07/08(水) 22:12:33
ここで聞けチンカス
2 part forth
http://pc12.2ch.net/test/read.cgi/tech/1073673931/
0100デフォルトの名無しさん2009/07/17(金) 01:03:02
Factorも面白そうじゃない?
0101デフォルトの名無しさん2009/08/31(月) 20:25:49
すっかり寂れたな
■ このスレッドは過去ログ倉庫に格納されています