最も美しいプログラミング言語を語れ
前スレ
http://pc12.2ch.net/test/read.cgi/tech/1262707694/
最も美しいプログラミング言語は? Part6
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/03/23(火) 16:44:082010/03/23(火) 16:49:01
↑天才チンパンジーのアイちゃん
↓天才チンパンジーのアイちゃん
↓天才チンパンジーのアイちゃん
2010/03/23(火) 16:59:26
前スレではC#が圧倒的優勢でしたが他の言語も負けないでください。
特に Python は危機的です、もっと頑張りましょう!
特に Python は危機的です、もっと頑張りましょう!
2010/03/23(火) 17:13:57
美しく書かれたソースを貼ると効果的です
2010/03/23(火) 17:22:15
じゃあ Quine を。
2010/03/23(火) 17:37:33
Whitespace
2010/03/23(火) 20:29:25
とりあえずC、python、lisp等のみたいな美しい言語について語るスレです
排他的なC#は論外です
排他的なC#は論外です
2010/03/23(火) 21:10:23
CやPythonのどこが美しいのかわからん
Lisp-2は#'だのfuncallだのが関数型言語として見ると鬱陶しくキモい
C#が排他的だとして、それが言語の美しさと何の関係があるのかもさっぱり分からん
Lisp-2は#'だのfuncallだのが関数型言語として見ると鬱陶しくキモい
C#が排他的だとして、それが言語の美しさと何の関係があるのかもさっぱり分からん
2010/03/23(火) 21:38:10
じゃあどんな言語が美しいというの言ってみろ。
批判だけして、自分の意見を言わずに逃げるのは卑怯だろ。
批判だけして、自分の意見を言わずに逃げるのは卑怯だろ。
2010/03/23(火) 21:50:49
Haskell Forth Prolog Scheme
2010/03/23(火) 21:54:01
J
2010/03/23(火) 22:15:37
,―ヽ_(((((_、―
,/ ノ ヽ ~\
/ ノ IPA ヽ ~\
/ ノ ヽ、 `ヽ
| ノ / ̄\ / ̄~ヽ ヽ i
| ノ | ノ
\ | <●> <●> ( )
\ | | | i /
| / ヽ レ
i (●_●) /
i、 ,-――-、 ・ /
i、 <(EEEEE)> ∵/ IPA Ruby最高、他は糞。
i、 \ ./ /
\ ーー ,ノ
,,.....イ.ヽヽ、ー-―一ノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
,/ ノ ヽ ~\
/ ノ IPA ヽ ~\
/ ノ ヽ、 `ヽ
| ノ / ̄\ / ̄~ヽ ヽ i
| ノ | ノ
\ | <●> <●> ( )
\ | | | i /
| / ヽ レ
i (●_●) /
i、 ,-――-、 ・ /
i、 <(EEEEE)> ∵/ IPA Ruby最高、他は糞。
i、 \ ./ /
\ ーー ,ノ
,,.....イ.ヽヽ、ー-―一ノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
2010/03/23(火) 22:18:40
>>12
お引取りください
お引取りください
2010/03/23(火) 22:41:35
VB6は美しい。
2010/03/23(火) 22:46:26
前スレ最後の話題。
慣れを排除した上で
「書いたコードが読みやすい」
「他人が見ても内容が理解しやすい」
という言語は、結局どれなんだろう?
慣れを排除した上で
「書いたコードが読みやすい」
「他人が見ても内容が理解しやすい」
という言語は、結局どれなんだろう?
2010/03/23(火) 23:17:17
自分が書きやすい言語に、ソースにコメントを添えた方が何より楽。
2010/03/24(水) 01:51:38
慣れを排除すると、C++とperlが脱落
2010/03/24(水) 09:43:03
perlは入門書の最初とかで
「perlならこんな長文がこんなに短くかけますよ」的な記述をみて
理解できなくてやめた奴いると思うんだけど
おれがそうだった
今なら分かるかもしれんがプログラム覚えたてのときに見るのはつらい。
可読性って意味では最悪だとおもう
「perlならこんな長文がこんなに短くかけますよ」的な記述をみて
理解できなくてやめた奴いると思うんだけど
おれがそうだった
今なら分かるかもしれんがプログラム覚えたてのときに見るのはつらい。
可読性って意味では最悪だとおもう
2010/03/24(水) 10:24:34
直感で理解できない記号が大量に出てくる言語はダメだな
2010/03/24(水) 11:03:48
APLのことか
2010/03/24(水) 11:13:06
APLまでいくと、別世界。
たぶん、ネイティブには、プログラムの記述に英単語を使うというのは、直観的ではないんだろう。
日本語BASICは、何が悪いというわけでもないのに、キモかった。
たぶん、ネイティブには、プログラムの記述に英単語を使うというのは、直観的ではないんだろう。
日本語BASICは、何が悪いというわけでもないのに、キモかった。
2010/03/24(水) 11:42:25
awkはCと同じ記号を使ったが、perlはshと同じ記号を使った、という印象がある
2010/03/24(水) 12:35:28
ここで言われる「読みやすい」は、「美しい」と同等の意味を持つのか?
2010/03/24(水) 14:28:22
パラメーターだよ
2010/03/24(水) 14:34:51
>>23
俺はスレタイとは全然別の質問だと思ってるけど
俺はスレタイとは全然別の質問だと思ってるけど
2010/03/24(水) 15:49:34
2010/03/25(木) 11:21:54
文法は言語の機能だと思う。
だから、読みやすいプログラムを書けるような文法を備えた言語は
美しい機能を持っていると言えるのではないかと思う。
だから、読みやすいプログラムを書けるような文法を備えた言語は
美しい機能を持っていると言えるのではないかと思う。
2010/03/25(木) 12:22:33
2010/03/25(木) 12:43:09
読みやすさと美しさには特に相関が無い気がするな
前スレで出てたがCOBOLは誰が書いても同じようなコードになり
英文に近いという意味で「読みやすい」と言える
が、プログラミング言語として「美しい」というのとは違うと思う
前スレで出てたがCOBOLは誰が書いても同じようなコードになり
英文に近いという意味で「読みやすい」と言える
が、プログラミング言語として「美しい」というのとは違うと思う
2010/03/25(木) 13:28:44
美しいよりかわいい言語に興味があるんだけど。
2010/03/25(木) 14:04:06
ほう、かわいい言語とな
2010/03/25(木) 14:15:41
tinyなんとかっていうのは、かわいいとも言える
2010/03/25(木) 14:35:01
TL/1萌え
2010/03/25(木) 16:50:52
美しいプログラミング言語ってのはなくて、美しく書けるプログラミング言語だけがある
どう頑張っても無理なのはたとえばBASICとか
どう頑張っても無理なのはたとえばBASICとか
2010/03/25(木) 17:43:55
全くの素人の女の子だったら、
ruby か perl が美しそうって言うだろう。
おっさんだったら俺はCだなとか言いそう。あ、これは関係ないか。
ruby か perl が美しそうって言うだろう。
おっさんだったら俺はCだなとか言いそう。あ、これは関係ないか。
2010/03/25(木) 18:47:03
BASICできれいなプログラムがかけないといっているやつは、能力が低い。
2010/03/25(木) 18:53:36
2010/03/25(木) 19:01:00
2010/03/25(木) 19:20:24
昔のBASICがスタックマシンでないインタプリタであることを考えると、非常に優れた設計。
2010/03/25(木) 19:43:20
子供の頃はGOTO文とGOSUB文の違いに対する意識が希薄だった。
雑誌の投稿プログラムが手本だったのでスパゲティに疑問を抱かなかった。
雑誌の投稿プログラムが手本だったのでスパゲティに疑問を抱かなかった。
2010/03/25(木) 20:11:24
42デフォルトの名無しさん
2010/03/25(木) 20:51:18 >>40
あーわかるわかるw
あーわかるわかるw
2010/03/25(木) 22:53:43
2010/03/26(金) 03:02:51
Haskellが最もふつくしひ
2010/03/26(金) 09:01:33
今も昔もBASICはスタックマシンじゃないだろ。
それにひどく昔のTinyBASIC(たとえば東京版TinyBASIC)でもスタックは内部で使ってるぞ?
それにひどく昔のTinyBASIC(たとえば東京版TinyBASIC)でもスタックは内部で使ってるぞ?
46デフォルトの名無しさん
2010/03/26(金) 10:54:39 10 print"Hello world!"
これが最初の一歩だという人が多いのでは。
これが最初の一歩だという人が多いのでは。
2010/03/26(金) 11:07:23
2010/03/26(金) 11:08:30
BASICはスタックを使ってるよ。
スタックがなければZ80のCALLステートメントすら動かないよ。
スタックがなければZ80のCALLステートメントすら動かないよ。
2010/03/26(金) 11:19:08
スタックを使う><スタックマシン
2010/03/26(金) 11:24:12
2010/03/26(金) 11:25:32
2010/03/26(金) 11:33:30
2010/03/26(金) 11:46:52
C#やJavaのコードは最終的にはスタックマシンの上で実行される。
2010/03/26(金) 17:20:43
>>53
仮想マシンなんだから最終という言い方は×
仮想マシンなんだから最終という言い方は×
2010/03/26(金) 20:02:20
2010/03/27(土) 01:07:31
2010/03/27(土) 07:20:55
あ、51な。w
2010/03/27(土) 13:31:46
デバガでおえばわかるけC# はすぐにネイティブコードになっちゃうぞ
2010/03/29(月) 13:07:51
美しいプログラミング言語には、マクロ、つまり実行前にプログラムを書き換える機能はあった方がいいのかな?
それとも、ない方がいいのかな?
それとも、ない方がいいのかな?
2010/03/29(月) 13:25:26
>>58
すぐじゃないだろ。少なくとも実行後にしかネィティブコードはにならい。
すぐじゃないだろ。少なくとも実行後にしかネィティブコードはにならい。
2010/03/29(月) 13:29:09
>>60
実行前だろ
実行前だろ
2010/03/29(月) 16:00:21
2010/03/29(月) 16:07:01
実行の意味が違う。また、その意味ではngenを使った場合を説明していない
2010/03/29(月) 16:29:14
>>63
ngen にしたってすぐじゃないだろ。
インストール時か最初の実行時であって、コンパイル時でないことは明白。
けど ngen の話になるんだ?
それもと「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
ngen ってただのキャッシュだよ。根本的なこと勘違いしてんじゃね?
ngen にしたってすぐじゃないだろ。
インストール時か最初の実行時であって、コンパイル時でないことは明白。
けど ngen の話になるんだ?
それもと「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
ngen ってただのキャッシュだよ。根本的なこと勘違いしてんじゃね?
2010/03/29(月) 16:30:30
けど ngen の話になるんだ?
それもと「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
→けどどうして ngen の話になるんだ?
→それとも「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
それもと「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
→けどどうして ngen の話になるんだ?
→それとも「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
2010/03/29(月) 16:57:23
>>59
必要、もしくは無いほうがいいと俺は思う。
必要、もしくは無いほうがいいと俺は思う。
2010/03/29(月) 17:13:24
トークンを置換するプリプロセッサマクロと、
構文木を変形するいわゆるLispのマクロは、一絡げにできないだろう
構文木を変形するいわゆるLispのマクロは、一絡げにできないだろう
2010/03/29(月) 18:58:07
>>67
Lispとかもとから対象外だし
Lispとかもとから対象外だし
2010/03/29(月) 21:00:16
Lispのよさが理解できない人発見
70デフォルトの名無しさん
2010/03/30(火) 06:55:57 初カキコだがweb に特化すれば php, perl, java は美しい。
それぞれの言語でサイト作った感想から言えば、
phpはどんな環境でもそれなりに動くという点で美しい。
それこそ月300円の鯖にでも納品できる。
スレ的な美しさとは違うだろうが、これも言語仕様による
美しさだと思うがな。
個人的に一番好きなのはPerlだったりするが。
力技が一番効く言語だと思うし。なんでもあり。
それぞれの言語でサイト作った感想から言えば、
phpはどんな環境でもそれなりに動くという点で美しい。
それこそ月300円の鯖にでも納品できる。
スレ的な美しさとは違うだろうが、これも言語仕様による
美しさだと思うがな。
個人的に一番好きなのはPerlだったりするが。
力技が一番効く言語だと思うし。なんでもあり。
2010/03/30(火) 07:26:43
10年ROMってろ。
2010/03/30(火) 08:45:07
多分一生わからんのだろ
2010/03/30(火) 08:58:58
>>70
>初カキコだがweb に特化すれば php, perl, java は美しい。
自分が使ったことのある言語を羅列してるだけだろ。
クライアントとサーバーサイドの違いを認識しているのかも怪しい。
>初カキコだがweb に特化すれば php, perl, java は美しい。
自分が使ったことのある言語を羅列してるだけだろ。
クライアントとサーバーサイドの違いを認識しているのかも怪しい。
2010/03/30(火) 09:17:00
春だから仕方ない
2010/03/30(火) 19:26:09
>>60-65
実行前
xxx.exe
return
実行後
実行前
xxx.exe
実行後
return
xxx.exe
実行前
実行後
return
xxx.exe
実行前
実行
return
実行後
一体どれのことを言ってるんだ
実行前
xxx.exe
return
実行後
実行前
xxx.exe
実行後
return
xxx.exe
実行前
実行後
return
xxx.exe
実行前
実行
return
実行後
一体どれのことを言ってるんだ
7658
2010/03/31(水) 11:50:382010/03/31(水) 15:31:45
Haskellの勉強を始めたんだけど、遅延評価は美しいと思った。
2010/03/31(水) 15:45:11
>>76
純粋なILインタプリタかJITコンパイルするかはVMの実装の問題だからね
純粋なILインタプリタかJITコンパイルするかはVMの実装の問題だからね
2010/03/31(水) 17:19:40
中間コード⇒ネイティブ
って最適化されてるん?
まさか中間コードを置き換えただけってことはないよね
って最適化されてるん?
まさか中間コードを置き換えただけってことはないよね
2010/03/31(水) 17:41:06
http://msdn.microsoft.com/ja-jp/library/ht8ecch6(VS.80).aspx
MSIL (Microsoft Intermediate Language) は、実行する前に .NET Framework の Just-In-Time (JIT) コンパイラによってネイティブ コードに変換する必要があります。
ネイティブ コードは CPU 固有のコードで、JIT コンパイラと同じコンピュータ アーキテクチャ上で実行されます。
JIT コンパイルは、実行時に呼び出されることがないコードがあることを考慮しています。
つまり、ポータブル実行可能 (PE) ファイル内にあるすべての MSIL をネイディブ コードに変換するために時間とメモリを費やすのではなく、
実行時に必要になった MSIL を変換し、その結果生成されたネイティブ コードを保存して、以降の呼び出しで利用できるようにしておきます。
MSIL (Microsoft Intermediate Language) は、実行する前に .NET Framework の Just-In-Time (JIT) コンパイラによってネイティブ コードに変換する必要があります。
ネイティブ コードは CPU 固有のコードで、JIT コンパイラと同じコンピュータ アーキテクチャ上で実行されます。
JIT コンパイルは、実行時に呼び出されることがないコードがあることを考慮しています。
つまり、ポータブル実行可能 (PE) ファイル内にあるすべての MSIL をネイディブ コードに変換するために時間とメモリを費やすのではなく、
実行時に必要になった MSIL を変換し、その結果生成されたネイティブ コードを保存して、以降の呼び出しで利用できるようにしておきます。
2010/03/31(水) 17:47:18
>>64
http://msdn.microsoft.com/ja-jp/library/ht8ecch6.aspx
ネイティブ イメージ ジェネレータ (Ngen.exe) を使用して、
JIT コンパイラと同様に MSIL アセンブリをネイティブ コードに変換します。
ただし、Ngen.exe の動作は、以下の 3 つの点で JIT コンパイラの動作と異なります。
・MSIL からネイティブ コードへの変換を、アプリケーション実行中ではなく、実行前に行います。
・メソッドを 1 つずつではなく、アセンブリ全体を一度にコンパイルします。
・生成したコードを、ディスク上のファイルとしてネイティブ イメージ キャッシュに保持します。
http://msdn.microsoft.com/ja-jp/library/ht8ecch6.aspx
ネイティブ イメージ ジェネレータ (Ngen.exe) を使用して、
JIT コンパイラと同様に MSIL アセンブリをネイティブ コードに変換します。
ただし、Ngen.exe の動作は、以下の 3 つの点で JIT コンパイラの動作と異なります。
・MSIL からネイティブ コードへの変換を、アプリケーション実行中ではなく、実行前に行います。
・メソッドを 1 つずつではなく、アセンブリ全体を一度にコンパイルします。
・生成したコードを、ディスク上のファイルとしてネイティブ イメージ キャッシュに保持します。
2010/03/31(水) 17:56:58
はじめからネイティブコンパイルすりゃいいのに
2010/03/31(水) 17:57:09
>>79
getter, setterをインライン展開するぐらいには最適化する。デバッガ上で実行すると最適化しないので、誤解をしている人もいるけど。
getter, setterをインライン展開するぐらいには最適化する。デバッガ上で実行すると最適化しないので、誤解をしている人もいるけど。
2010/04/02(金) 17:24:15
最近Haskellが美しく感じられてきた
2010/04/03(土) 00:22:40
いいことじゃないか
2010/04/05(月) 22:47:52
止まったね
2010/04/05(月) 23:18:55
ちんこも別の所で遊んでるしな
2010/04/06(火) 04:04:08
Haskellはflipとかポイントフリースタイルとかそういうのをやんなければ
かなり読みやすい部類だと思うぜ
簡潔なラムダとか関数適用演算子とかは他の言語にも欲しい
かなり読みやすい部類だと思うぜ
簡潔なラムダとか関数適用演算子とかは他の言語にも欲しい
2010/04/06(火) 22:02:41
flip はまぁ分かるが、Haskell のポイントフリースタイルは
冗長な記述が省かれて読みやすくなる場合も結構あるぞ。
たとえば演算子をリフトアップで定義する場合。
instance (Num a) => Num (Hoge a) where
(+) = liftA2 (+)
この場合 (+) x y = liftA2 (+) x y なんて冗長で、
こんな定義が何行も続くとかえって読みにくいだろ。
冗長な記述が省かれて読みやすくなる場合も結構あるぞ。
たとえば演算子をリフトアップで定義する場合。
instance (Num a) => Num (Hoge a) where
(+) = liftA2 (+)
この場合 (+) x y = liftA2 (+) x y なんて冗長で、
こんな定義が何行も続くとかえって読みにくいだろ。
2010/04/21(水) 12:47:14
Scalaは?
2010/04/21(水) 18:34:12
Scala?ないない
2010/04/21(水) 18:53:42
Simplicityは必要条件だな。
2010/04/21(水) 21:05:59
>>91
友人がメッチャScalaプッシュしてくるんだけど、どう断れば良いか
分からん。(興味無いとか、ピンと来ないとか言ってはいるんだが)
ちなみにおいらはLisperで最近Haskellに手を染め始めたところ
友人はPerl使い。
なんかビシッと言う方法無い?
友人がメッチャScalaプッシュしてくるんだけど、どう断れば良いか
分からん。(興味無いとか、ピンと来ないとか言ってはいるんだが)
ちなみにおいらはLisperで最近Haskellに手を染め始めたところ
友人はPerl使い。
なんかビシッと言う方法無い?
2010/04/22(木) 00:33:32
>>93
「俺、副作用が嫌いなんだよね」
「俺、副作用が嫌いなんだよね」
2010/04/22(木) 00:59:55
「Javaな人とはお付き合いできません!」とか
2010/04/22(木) 07:04:55
2010/04/24(土) 18:38:13
美しいプログラミング言語 = 実用性がない
っていうと、みんな怒っちゃう?
っていうと、みんな怒っちゃう?
2010/04/24(土) 18:45:08
ああ機械語は0と1だけで単純かつ美しいが実用性はないよな
2010/04/24(土) 20:28:33
"Everything should be made as simple as possible, but no simpler." -- Albert Einstein
100デフォルトの名無しさん
2010/04/24(土) 23:57:20■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- バイデン政権国防次官補「日本人よ。憲法9条変えてアジア版NATO作らないと滅びるぞ」 [237216734]
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- 日本人、インバウンド減っても貧乏すぎて国内旅行すら行けないと判明🥺 [399259198]
- 【貧鈍】日本人、ついにゴミ箱設置で自治体、住民、事業者、域外来訪者らで揉める!街がポイ捨てゴミで溢れる [219241683]
- プログラミングって具体的に何?
