最も美しいプログラミング言語を語れ
前スレ
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:20101デフォルトの名無しさん
2010/04/26(月) 02:05:32 KISS
102デフォルトの名無しさん
2010/05/06(木) 10:31:41 objective-Cが最強。
103デフォルトの名無しさん
2010/05/06(木) 12:55:17 Macなんか使ってる時点で人生終了w
104デフォルトの名無しさん
2010/05/06(木) 13:56:41 いやいや、美しさを競うなら圧倒的に
mac >>>>>>>>>> windows
でしょ。
mac >>>>>>>>>> windows
でしょ。
105デフォルトの名無しさん
2010/05/06(木) 14:19:04 Windowsなんて比較対象に入らない
Linuxだよ
Linuxだよ
106デフォルトの名無しさん
2010/05/06(木) 14:28:25 もしくは日本語ベーシック。
107デフォルトの名無しさん
2010/05/06(木) 16:50:29 >>104
ハードとソフトの違いもわからない馬鹿ですね^^
ハードとソフトの違いもわからない馬鹿ですね^^
108デフォルトの名無しさん
2010/05/06(木) 17:46:35 >>103
ハードとソフトの違いもわからない馬鹿ですね^^
ハードとソフトの違いもわからない馬鹿ですね^^
109デフォルトの名無しさん
2010/05/06(木) 21:16:42 パイソンだろ。
110デフォルトの名無しさん
2010/05/07(金) 13:35:40111デフォルトの名無しさん
2010/05/07(金) 15:13:43 ではPythonがほぼ標準で入ってるLinuxなんかも子供の玩具なのか〜
112デフォルトの名無しさん
2010/05/07(金) 15:21:38113デフォルトの名無しさん
2010/05/07(金) 16:08:32 Pythonはちょっと複雑なことをさせると
途端に汚なくなる
途端に汚なくなる
114デフォルトの名無しさん
2010/05/07(金) 18:50:32 どっちにしろ >>102 は池沼
115デフォルトの名無しさん
2010/05/07(金) 20:39:02 美しさを競うなら圧倒的に
windows >>>>>>>>>> mac
でしょ。
windows >>>>>>>>>> mac
でしょ。
116デフォルトの名無しさん
2010/05/07(金) 23:17:45 Windowsってたくさんあるからね
117デフォルトの名無しさん
2010/05/08(土) 00:52:50 1番美しいのは Haskell で結論出たんじゃないの?
これから 2番目に美しい言語を語ろうず これはなかなか難しいぞな
ココでそれからWindowsとかMacとか言ってるヤツはな、全然面白くないから
死ね な? 氏ねでも市ねでもなく 死ね OK?
これから 2番目に美しい言語を語ろうず これはなかなか難しいぞな
ココでそれからWindowsとかMacとか言ってるヤツはな、全然面白くないから
死ね な? 氏ねでも市ねでもなく 死ね OK?
118デフォルトの名無しさん
2010/05/08(土) 01:06:33 現状ではHaskellでFAに賛成
119デフォルトの名無しさん
2010/05/08(土) 02:55:26 流行りものに弱いよねみんなw
Haskellの次って何だと思う?俺それが一番美しいと思う
Haskellの次って何だと思う?俺それが一番美しいと思う
120デフォルトの名無しさん
2010/05/08(土) 03:11:01 次に来るのはHaskellにできないことができる言語だと思う
121デフォルトの名無しさん
2010/05/08(土) 05:43:49 >>119
Curry. 関数論理型言語。Haskellと違って不完全情報の記述ができる。
Curry. 関数論理型言語。Haskellと違って不完全情報の記述ができる。
122デフォルトの名無しさん
2010/05/09(日) 19:36:03123デフォルトの名無しさん
2010/05/09(日) 20:11:36 C++がまとも、ってのはどういう意味のまともなん?
124デフォルトの名無しさん
2010/05/09(日) 20:31:15 規格化されてる。複数の実装が存在する。ユーザーの数。ライブラリ数。
書籍。プログラムの速度。この辺で、まとも。
まともでないのは、よく分からない、かつ、速度が遅くて、
メリットの不明な機能の作成に熱心な方々。
書籍。プログラムの速度。この辺で、まとも。
まともでないのは、よく分からない、かつ、速度が遅くて、
メリットの不明な機能の作成に熱心な方々。
125デフォルトの名無しさん
2010/05/09(日) 21:03:08 その基準だと、C++は FORTRAN、COBOL、C に負けているな。
126デフォルトの名無しさん
2010/05/09(日) 21:19:13 項目によっては、Javaにも負けているかも。
127デフォルトの名無しさん
2010/05/09(日) 21:24:58 数値計算、金融計算、OS、言語処理系、組み込み系で考えたら、
他の言語の方が特化しているのは確かだろうけど、
多方面で扱うこと考えたらC++じゃないか
OOPやテンプレートで簡潔に書ける場面は存在するし
純粋な何々指向は、その縛りでかえって複雑になったり、
後々で不純物が混じったり。
なら、初めから不純物含んだものの方が目的達成するのがはやそう
という、プログラムの組めない奴の妄想
メリットが不明なのは、boostのconceptとか、lambdaとかファンクタとか
他の言語の方が特化しているのは確かだろうけど、
多方面で扱うこと考えたらC++じゃないか
OOPやテンプレートで簡潔に書ける場面は存在するし
純粋な何々指向は、その縛りでかえって複雑になったり、
後々で不純物が混じったり。
なら、初めから不純物含んだものの方が目的達成するのがはやそう
という、プログラムの組めない奴の妄想
メリットが不明なのは、boostのconceptとか、lambdaとかファンクタとか
128デフォルトの名無しさん
2010/05/09(日) 21:40:59 スレタイの「美しさ」とは無関係な議論だな
もうスレタイ的な意味の議論は終了してしまったから他の話をやってるだけか
templateは俺は嫌い
総称型、ダックタイピング、コンパイル時計算、メタプログラミングと
少なくとも4種類の目的の異なる仕事を(汚く/無理やり)扱っているのが
好きになれない
そもそも本当に全てが必要か、という問題もあるわけだが
OOPのための言語としてもC++はあまり良くないよね
純粋じゃない、というのはさておき、GC無いのとオブジェクトが
自己記述的じゃないのがOOP言語として見るとちょっとな
もうスレタイ的な意味の議論は終了してしまったから他の話をやってるだけか
templateは俺は嫌い
総称型、ダックタイピング、コンパイル時計算、メタプログラミングと
少なくとも4種類の目的の異なる仕事を(汚く/無理やり)扱っているのが
好きになれない
そもそも本当に全てが必要か、という問題もあるわけだが
OOPのための言語としてもC++はあまり良くないよね
純粋じゃない、というのはさておき、GC無いのとオブジェクトが
自己記述的じゃないのがOOP言語として見るとちょっとな
129デフォルトの名無しさん
2010/05/09(日) 22:12:16 最近にublasを知って、templateが好きになったんだが、たぶん、
すぐに嫌いになるかもしれない。普通に配列で書く方が速そうだし。
数値計算するのに、C++は不要だろうが視認性が良いんだ。
GCのある言語だと数値計算、やたら遅いイメージが拭えないし。
純粋なOOPに、どれだけメリットと恩恵があるのか疑問。
SmalltalkよりJavaが勝利したあたりで、それほど必要だとも思えない
すぐに嫌いになるかもしれない。普通に配列で書く方が速そうだし。
数値計算するのに、C++は不要だろうが視認性が良いんだ。
GCのある言語だと数値計算、やたら遅いイメージが拭えないし。
純粋なOOPに、どれだけメリットと恩恵があるのか疑問。
SmalltalkよりJavaが勝利したあたりで、それほど必要だとも思えない
130デフォルトの名無しさん
2010/05/09(日) 22:17:48 >>129
Javaも純粋じゃないけど、GCとまともに使える例外があって
オブジェクトが自己記述的だから、C++よりはずっと自然にOOPしやすいでしょ
まあJavaはJavaで融通が利かないから俺は好きじゃないんだけどな
Javaも純粋じゃないけど、GCとまともに使える例外があって
オブジェクトが自己記述的だから、C++よりはずっと自然にOOPしやすいでしょ
まあJavaはJavaで融通が利かないから俺は好きじゃないんだけどな
131デフォルトの名無しさん
2010/05/10(月) 00:19:45 GCはプログラミングがルーズになるし制御できない部分が気持ち悪い
作ったものくらい自分で始末しろとw
作ったものくらい自分で始末しろとw
132デフォルトの名無しさん
2010/05/10(月) 00:33:43 >>124
速度に目を瞑ればJavaScriptが割といい線いってるな
速度に目を瞑ればJavaScriptが割といい線いってるな
133デフォルトの名無しさん
2010/05/10(月) 00:39:59 ブラウザを除けばJavaScriptのユーザは0だけどな
134デフォルトの名無しさん
2010/05/10(月) 01:27:14135デフォルトの名無しさん
2010/05/10(月) 01:32:52 OCaml全然詳しくねーけど、チラ見した感じではなーんか微妙
関数型のくせにstringがmutableとか、意味不明なセンスの悪さをそこかしこに感じる
structural subtyping一見良さそうだけど、実行時情報ねーから
ダウンキャスト(風のこと)はできないっしょ?
"O"とかいいつつ、あれで下手にOOの真似事やろうとすると怪我すると思う
あとは、ありがちだけどライブラリが未成熟で、Unix系以外ではあんま使い物に
ならないっぽいよね
関数型のくせにstringがmutableとか、意味不明なセンスの悪さをそこかしこに感じる
structural subtyping一見良さそうだけど、実行時情報ねーから
ダウンキャスト(風のこと)はできないっしょ?
"O"とかいいつつ、あれで下手にOOの真似事やろうとすると怪我すると思う
あとは、ありがちだけどライブラリが未成熟で、Unix系以外ではあんま使い物に
ならないっぽいよね
136デフォルトの名無しさん
2010/05/10(月) 01:53:47 OCamlの良いところはな、OCamlかじってなんとも言えない気持ちの悪さ
を感じた時にHaskellかじると、なんだ関数プログラミング言語って実は
分かりやすいじゃんって思えるところナンテネ
を感じた時にHaskellかじると、なんだ関数プログラミング言語って実は
分かりやすいじゃんって思えるところナンテネ
137デフォルトの名無しさん
2010/05/10(月) 01:59:47 一般的なプログラミング言語は計算能力において等価だから、
一昔前の言語で能力的には既に十分。
残された問題は、複雑なロジックをいかに簡潔に記述できるか、
それが他人にも理解されるかというだけ。
進歩の方向性はそれくらいしか考えられない。
一昔前の言語で能力的には既に十分。
残された問題は、複雑なロジックをいかに簡潔に記述できるか、
それが他人にも理解されるかというだけ。
進歩の方向性はそれくらいしか考えられない。
138デフォルトの名無しさん
2010/05/10(月) 12:03:50 >>136
これ正に俺だ
最初にHaskell触った時は全然理解できなかったけど
OCamlを触った後に再びHaskell触ったら割とすんなりなじむことができた
OCamlの表記法はなんともなじめなかったけど
これ正に俺だ
最初にHaskell触った時は全然理解できなかったけど
OCamlを触った後に再びHaskell触ったら割とすんなりなじむことができた
OCamlの表記法はなんともなじめなかったけど
139デフォルトの名無しさん
2010/05/10(月) 20:50:48 言語進化とか言いながら、単に暗黙の前提仮定が増えただけだったりする。
ルールを知らないと読むこともできない。言語解説書バカ売れ。
制限は減ったのかもしれないけどな。
ルールを知らないと読むこともできない。言語解説書バカ売れ。
制限は減ったのかもしれないけどな。
140デフォルトの名無しさん
2010/05/10(月) 22:05:42 Haskel,lispが勝利したのは英語圏と米で流行ったからとか言ってみるテスト
141デフォルトの名無しさん
2010/05/10(月) 23:11:16142デフォルトの名無しさん
2010/05/10(月) 23:13:06 いつ流行ったんだよw
143デフォルトの名無しさん
2010/05/10(月) 23:43:39 流行ったっていうか、関数型の中でもメジャーで市民権を得ているあたり
144デフォルトの名無しさん
2010/05/10(月) 23:52:43145デフォルトの名無しさん
2010/05/11(火) 05:36:39 >>139
グローバルスタンダードってそういうものでしょ。
グローバルスタンダードってそういうものでしょ。
146デフォルトの名無しさん
2010/05/12(水) 01:02:35147デフォルトの名無しさん
2010/05/12(水) 05:55:53 半年くらい前にここ覗いた時は何かJavaキチガイコテが連投してた気がするんだけど、
あいつは結局あの後どうなったん?
あいつは結局あの後どうなったん?
148デフォルトの名無しさん
2010/05/12(水) 06:24:21149デフォルトの名無しさん
2010/05/12(水) 10:54:05 >>148
thx
超大雑把に流し読みしたが、誰かがガチで叩いたのかw
面白い流れを見逃したかもしれんなぁ
つーかよくあんなの真面目に叩く気になったもんだ、良くも悪くもすげーな
まぁこんなとこ見てる俺が言えた義理じゃねーけど
thx
超大雑把に流し読みしたが、誰かがガチで叩いたのかw
面白い流れを見逃したかもしれんなぁ
つーかよくあんなの真面目に叩く気になったもんだ、良くも悪くもすげーな
まぁこんなとこ見てる俺が言えた義理じゃねーけど
150デフォルトの名無しさん
2010/05/13(木) 10:40:08 一番美しいと思うのはアセンブラとLISP
151デフォルトの名無しさん
2010/05/13(木) 12:47:17 アセンブラなら CPUにもよるだろ
152デフォルトの名無しさん
2010/05/13(木) 12:57:23 彼は特定のアセンブラ言語ではなく、アセンブラ言語の本質的な特性を好んでいるのだろう。
lispだって複数の言語の総称だ。
lispだって複数の言語の総称だ。
153デフォルトの名無しさん
2010/05/14(金) 03:10:01 通訳無しにプロセッサと話せるのはアセンブラだけだしな
厳密には機械語だが、まぁ本質は同じだ
厳密には機械語だが、まぁ本質は同じだ
154デフォルトの名無しさん
2010/05/14(金) 11:11:42155デフォルトの名無しさん
2010/05/14(金) 11:29:35156デフォルトの名無しさん
2010/05/14(金) 12:21:59157デフォルトの名無しさん
2010/05/14(金) 12:44:29 まあ Ook! と Whitespace は、美しさで言えば同質。
158デフォルトの名無しさん
2010/05/14(金) 13:45:22 あの辺はみんな同じだな
まぁ見た目重視言語の一派だから、見た目の違いが大事になる可能性はあるが
まぁ見た目重視言語の一派だから、見た目の違いが大事になる可能性はあるが
159デフォルトの名無しさん
2010/05/14(金) 13:46:57 ×見た目重視
○見た目も重視する
つーかこれで置換すると俺がバカな文章書いたことがよく分かるな
○見た目も重視する
つーかこれで置換すると俺がバカな文章書いたことがよく分かるな
160デフォルトの名無しさん
2010/05/14(金) 14:29:29 アセンブラと言ってもmasm系とgas系では書式違う。
cpuやアーキテクチャによって使える命令違うから、アルゴリズムをスマートに書けるかどうかも変わってくる。
ノイマン型でなければ逐次実行もままならない。
だからアセンブラが共通して持つ本質的な美しさなんてありえない。
cpuやアーキテクチャによって使える命令違うから、アルゴリズムをスマートに書けるかどうかも変わってくる。
ノイマン型でなければ逐次実行もままならない。
だからアセンブラが共通して持つ本質的な美しさなんてありえない。
161デフォルトの名無しさん
2010/05/14(金) 14:42:53 >>160
> コンピュータの挙動を厳密にコントロールできる
> コンピュータの挙動を厳密にコントロールできる
162デフォルトの名無しさん
2010/05/14(金) 14:44:34 >>161
言語の美しさじゃない
言語の美しさじゃない
163デフォルトの名無しさん
2010/05/14(金) 15:01:16 このスレを見ると、何をもってして美しいと感じるか、それは人それぞれなんだぁと
つくづく思う、だが○○オメーはダメだ!
Q.○○に当てはまるプログラミング言語を挙げなさい
つくづく思う、だが○○オメーはダメだ!
Q.○○に当てはまるプログラミング言語を挙げなさい
164デフォルトの名無しさん
2010/05/14(金) 15:04:42165デフォルトの名無しさん
2010/05/14(金) 15:07:47 masmだろうがgasだろうが本質は一緒だろ
機械語とアセンブラが違うのかどうかの話の後にそんなことを言ってる時点で的外れ
全てのアセンブラに共通する点というのはある(同じ名前でくくられてるんだから当然)
その共通する点について美しいと思うなら、それはアセンブラを美しいと感じることに等しい
機械語とアセンブラが違うのかどうかの話の後にそんなことを言ってる時点で的外れ
全てのアセンブラに共通する点というのはある(同じ名前でくくられてるんだから当然)
その共通する点について美しいと思うなら、それはアセンブラを美しいと感じることに等しい
166デフォルトの名無しさん
2010/05/14(金) 15:11:53 そりゃざっくりすぎるんじゃないか
167デフォルトの名無しさん
2010/05/14(金) 15:12:27 >>164
ツッコミがいかにも浅いなぁ。CRISC以降は同時実行云々どころじゃねーだろw
どう言おうが、プロセッサが用意したI/Fを直接叩けるのはアセンブラだけだわな。
他の言語では「最適化」でも、アセンブラでは「クロックを削る」というような感覚に
近付く。それが美しいといえば美しいんじゃねーの。少なくとも共通して特異だ。
ツッコミがいかにも浅いなぁ。CRISC以降は同時実行云々どころじゃねーだろw
どう言おうが、プロセッサが用意したI/Fを直接叩けるのはアセンブラだけだわな。
他の言語では「最適化」でも、アセンブラでは「クロックを削る」というような感覚に
近付く。それが美しいといえば美しいんじゃねーの。少なくとも共通して特異だ。
168デフォルトの名無しさん
2010/05/14(金) 15:14:09169デフォルトの名無しさん
2010/05/14(金) 16:01:05170デフォルトの名無しさん
2010/05/14(金) 16:11:36 マクロアセンブラのマクロの力を知らぬな。そういう自分ももう忘れたが。
171デフォルトの名無しさん
2010/05/15(土) 00:39:43 この"美しい"の意味を明確に定義しとく必要があるでしょ。ソースコードの見た目が美しい(他者が読みやすい)
のか、用途が美しい(曖昧だけど)のかどうなのか・・・・
ハード方向でCを使ってレジスタ、アドレス演算ができるようになればCがいいんじゃないw 破壊力は抜群。
同じプログラムを組むのでも、素人とプロが組むのでは実行速度も行数もまったく異なる、天と地の差を見せ付ける
ことができるのがC言語。そこに美しさを感じる僕ですb
のか、用途が美しい(曖昧だけど)のかどうなのか・・・・
ハード方向でCを使ってレジスタ、アドレス演算ができるようになればCがいいんじゃないw 破壊力は抜群。
同じプログラムを組むのでも、素人とプロが組むのでは実行速度も行数もまったく異なる、天と地の差を見せ付ける
ことができるのがC言語。そこに美しさを感じる僕ですb
172デフォルトの名無しさん
2010/05/15(土) 09:57:14 コードが美しい、ってのはわかりやすいけど、言語が美しい、ってのはなあ。
173デフォルトの名無しさん
2010/05/17(月) 08:59:02 分からん奴は参加しなくてよし
174デフォルトの名無しさん
2010/05/17(月) 10:11:55175デフォルトの名無しさん
2010/05/17(月) 10:17:22 最も美しい言語は Haskell と定義されている。
176デフォルトの名無しさん
2010/05/17(月) 22:56:30 美しい言語鈴木を誰か作ればいい
177デフォルトの名無しさん
2010/05/18(火) 02:04:05178デフォルトの名無しさん
2010/05/18(火) 08:29:11 美しい言語鈴木「美しい言語だけにコンパイルされる権利を与える」
179デフォルトの名無しさん
2010/05/18(火) 22:53:29 じゃあ俺インタプリタでいいや
180デフォルトの名無しさん
2010/05/19(水) 23:17:41 どの言語も似たり寄ったりだからな
ifはどの言語でもifだし
インクルードやデファインも意味と書き方こそ違えどの言語も同じような記述法だし
書こうと思えばどの言語でも他のどんな言語の流儀でも書ける
それを踏まえても美しいと言い切れるには何を観点とすればいいのか
ifはどの言語でもifだし
インクルードやデファインも意味と書き方こそ違えどの言語も同じような記述法だし
書こうと思えばどの言語でも他のどんな言語の流儀でも書ける
それを踏まえても美しいと言い切れるには何を観点とすればいいのか
181デフォルトの名無しさん
2010/05/20(木) 00:01:20 謎の仕様が少ないものは美しいといえるだろう。
言語の普及と発展、互換の足かせとともに、もともとあった美しさを穢していく。
言語の普及と発展、互換の足かせとともに、もともとあった美しさを穢していく。
182デフォルトの名無しさん
2010/05/20(木) 00:25:30 Q なぜ謎を解かないのか
A その謎はけがれているから
A その謎はけがれているから
183デフォルトの名無しさん
2010/05/20(木) 00:37:18 >>180
言語設計者の思想とか哲学
言語設計者の思想とか哲学
184デフォルトの名無しさん
2010/05/23(日) 13:41:43 Prologに言語設計者なんていたかな。
185デフォルトの名無しさん
2010/05/25(火) 12:20:43 >>184
lispもそうだが、新しいパラダイムを研究する過程で提案された言語は、
ただの表記でしかない。
実用的な目的のために詳細にまで注意して設計されたものではない。
設計の改善は後の人たちの役割。
lispもそうだが、新しいパラダイムを研究する過程で提案された言語は、
ただの表記でしかない。
実用的な目的のために詳細にまで注意して設計されたものではない。
設計の改善は後の人たちの役割。
186デフォルトの名無しさん
2010/05/25(火) 18:58:33 言語のセマンティクス=パラダイムを議論するんだな
論文を読めばいい
論文を読めばいい
187デフォルトの名無しさん
2010/05/25(火) 23:55:11 その手の論文の探し方おしえて
188デフォルトの名無しさん
2010/05/26(水) 06:23:12 自分で探せよ
189デフォルトの名無しさん
2010/05/26(水) 23:56:02 ciniiしか知らんのだよ
190デフォルトの名無しさん
2010/05/27(木) 02:11:06 最近の中間コード言語は美しくないね
namespaceやらclass階層の中にじかに関数定義書くもんだから
@ネストが無駄に深くなる
Anamespace,classの開き括弧、閉じ括弧の対応が追いにくい。それを防ぐためにネストを無駄に深くしなければならないので@。
JAVAもそうだし、.NET系言語はこれから主流扱いになるらしいけど、先行きは暗い
こんな仕様は小さなコードなら良いだろうけど大きくなったら読みづらくなって仕方ない
大粒のライブラリ使えばコードは大きくならないだろうという見通しでしてるんだったら、たいていそういう予測は外れてるしね
namespaceやらclass階層の中にじかに関数定義書くもんだから
@ネストが無駄に深くなる
Anamespace,classの開き括弧、閉じ括弧の対応が追いにくい。それを防ぐためにネストを無駄に深くしなければならないので@。
JAVAもそうだし、.NET系言語はこれから主流扱いになるらしいけど、先行きは暗い
こんな仕様は小さなコードなら良いだろうけど大きくなったら読みづらくなって仕方ない
大粒のライブラリ使えばコードは大きくならないだろうという見通しでしてるんだったら、たいていそういう予測は外れてるしね
191デフォルトの名無しさん
2010/05/28(金) 09:47:41192デフォルトの名無しさん
2010/05/28(金) 19:20:26 $@&*のない綺麗なperlが欲しいと思っていたら、pikeがそうだった
流行らんかな。これ
流行らんかな。これ
193デフォルトの名無しさん
2010/06/11(金) 21:10:55 Rob?
194デフォルトの名無しさん
2010/06/19(土) 23:20:26 Lisp
195デフォルトの名無しさん
2010/08/25(水) 02:46:02 Vala
196デフォルトの名無しさん
2010/11/10(水) 01:19:29 >>192
Perl はシギルがあるからキレイなんじゃないか
Perl はシギルがあるからキレイなんじゃないか
197デフォルトの名無しさん
2010/11/10(水) 02:09:29 CかC++で書かれててPythonがガチガチの静的型付けになったような言語が理想だ
型推論もいらない。高機能なIDEは必須。
型推論もいらない。高機能なIDEは必須。
198デフォルトの名無しさん
2010/11/10(水) 02:40:41 >>197
Cython?
Cython?
199デフォルトの名無しさん
2010/11/10(水) 08:04:22200デフォルトの名無しさん
2010/11/11(木) 09:49:11 >>197
今売り出し中のNimrodはどうよ
今売り出し中のNimrodはどうよ
201デフォルトの名無しさん
2010/11/12(金) 20:43:04 >>197
いまどきの静的型付けの言語は似たようなものだが。
いまどきの静的型付けの言語は似たようなものだが。
202デフォルトの名無しさん
2010/11/16(火) 22:22:50 IDEなしで書ける直感的なメソッド体系の言語が理想だ
マニュアル片手に書くのはめんどい
マニュアル片手に書くのはめんどい
203デフォルトの名無しさん
2010/12/27(月) 15:43:59 >>202
メソッド体系?
メソッド体系?
204デフォルトの名無しさん
2010/12/27(月) 19:39:54 IDEなしで書けるぐらいにメソッドが直感的に体系化された言語
ってことじゃね
ってことじゃね
205デフォルトの名無しさん
2010/12/27(月) 20:03:09 メソッドって基本的にユーザが立てるもの
ではないのかな。組み込み的な意味なら、
無いに越したことはない。少なくとも美しさを
論じるなら。
ではないのかな。組み込み的な意味なら、
無いに越したことはない。少なくとも美しさを
論じるなら。
206デフォルトの名無しさん
2010/12/28(火) 15:00:00 >>205 標準APIかなんかの話じゃないの。
207デフォルトの名無しさん
2010/12/28(火) 15:17:59 J
208デフォルトの名無しさん
2010/12/29(水) 22:00:40 >>202
どういうこと?
IDEと連携取りやすい言語ならばむしろマニュアル片手にする必要ないぞ。リファレンスが内蔵されているようなものだからな。
チュートリアルは別途やればいい。
そもそも直感的なメソッド体系の言語というのが誰にとっての?というところがある。
C#はC系の言語利用者にとっても直感的ではなかったが、DelphiやVCLの利用者やJavaかじったことある人間にはむしろ直感的だった。
RubyはかつてはモダンではないPerl利用者には直感的だったかも知れないが、
今やRails以降のRubyやモダンPerlは双方ともバラバラ全くの別物。直感的でない。
しかも、これらも個人の感覚だ。
中学生にとっての直感的な言語も違うだろうし。
どういうこと?
IDEと連携取りやすい言語ならばむしろマニュアル片手にする必要ないぞ。リファレンスが内蔵されているようなものだからな。
チュートリアルは別途やればいい。
そもそも直感的なメソッド体系の言語というのが誰にとっての?というところがある。
C#はC系の言語利用者にとっても直感的ではなかったが、DelphiやVCLの利用者やJavaかじったことある人間にはむしろ直感的だった。
RubyはかつてはモダンではないPerl利用者には直感的だったかも知れないが、
今やRails以降のRubyやモダンPerlは双方ともバラバラ全くの別物。直感的でない。
しかも、これらも個人の感覚だ。
中学生にとっての直感的な言語も違うだろうし。
209デフォルトの名無しさん
2010/12/29(水) 22:43:44 COBOLはそれをめざしたとか。
AppleScriptもそうかも。
AppleScriptもそうかも。
210デフォルトの名無しさん
2010/12/30(木) 07:30:37 >>1 実用的な言語の中で一番自由度が高いという意味で、 Prolog
211デフォルトの名無しさん
2011/05/24(火) 23:21:41.72 >>208
少なくともhtonl();よりhost.to<NetworkLong>()の方が解りやすいだろ。
ライブラリの詳細な知識はいらんからな。
やっぱり綺麗となるとどうしてもLispだよ
(+ 5 10 20)は(+ . (5 . (10 . 20) ) )というデータ。
極一部の特殊シンボルを除いて全てデータだからな。
言語の機能とデータに殆ど壁が無くて、機能の拡張を
データの入力と捉えられる。
少なくともhtonl();よりhost.to<NetworkLong>()の方が解りやすいだろ。
ライブラリの詳細な知識はいらんからな。
やっぱり綺麗となるとどうしてもLispだよ
(+ 5 10 20)は(+ . (5 . (10 . 20) ) )というデータ。
極一部の特殊シンボルを除いて全てデータだからな。
言語の機能とデータに殆ど壁が無くて、機能の拡張を
データの入力と捉えられる。
212デフォルトの名無しさん
2011/06/04(土) 15:43:02.98 >>211
だからきれい?
だからきれい?
213デフォルトの名無しさん
2011/06/19(日) 07:58:22.97 半年近く前のレスにアンカーってどうなんだろうな
レス全部見る気がしないので適当に書くが、見方じゃね?
プログラマ側のインプットとしてはPython、Java、Lispで意見が分かれると思う
価値観としか言いようが無い
プログラマ側のアウトプットはLisp、Java、c#
Rubyが美しいと思う奴はこっちだと思うが、その感性は理解できん
CPU側というか、コンパイラ側というか…そっち側ではアセンブラ、Pascal、c
Haskellもこっちに入ると思うが、これまた理解が出来ん
慣れと覚えたては読みやすく書きやすいし、いつまでも平行線だろうな
俺が美しいと思うのはJava、Pythonだ
レス全部見る気がしないので適当に書くが、見方じゃね?
プログラマ側のインプットとしてはPython、Java、Lispで意見が分かれると思う
価値観としか言いようが無い
プログラマ側のアウトプットはLisp、Java、c#
Rubyが美しいと思う奴はこっちだと思うが、その感性は理解できん
CPU側というか、コンパイラ側というか…そっち側ではアセンブラ、Pascal、c
Haskellもこっちに入ると思うが、これまた理解が出来ん
慣れと覚えたては読みやすく書きやすいし、いつまでも平行線だろうな
俺が美しいと思うのはJava、Pythonだ
214デフォルトの名無しさん
2011/06/19(日) 09:04:22.15 Javaはない。
215デフォルトの名無しさん
2011/06/19(日) 11:37:46.14 俺はPythonが美しいとは思わないなあ
便利だけど、統一感が無くて
便利だけど、統一感が無くて
216デフォルトの名無しさん
2011/06/19(日) 12:12:37.66 統一感は、ある方だと思うけど。Rubyに比べたら。
SchemeとかForthと比べたら無いけど。
SchemeとかForthと比べたら無いけど。
217デフォルトの名無しさん
2011/06/19(日) 12:16:04.43 確かに C++ よりは統一感あるかもねw
218デフォルトの名無しさん
2011/06/20(月) 01:02:19.16 やっぱり S 式は美しいな
データとコードの形式が共通で、プログラムからプログラムを操作するのが容易だったり、
プログラムをデータとしてやり取りするのが容易だったりするのは素晴らしい
唯一(最大)の欠点は一般的なオブジェクト指向の記法と相性が悪い事なんだが...
データとコードの形式が共通で、プログラムからプログラムを操作するのが容易だったり、
プログラムをデータとしてやり取りするのが容易だったりするのは素晴らしい
唯一(最大)の欠点は一般的なオブジェクト指向の記法と相性が悪い事なんだが...
219デフォルトの名無しさん
2011/06/20(月) 01:27:53.30 ASTをそのまま書き下せる言語が良いな
220uy ◆yyC0rYWEq2
2011/06/20(月) 02:17:08.24 (class C
(attr_accessor x)
(attr_accessor y)
(def initialize x y
(setq @x x)
(setq @y y) )
(def function
(new CC 2 3 4 5) ) )
class C
attr_accessor :x
attr_accessor :y
def initialize x , y
@x = x
@y = y
end
def function
CC.new 2 , 3 , 4 , 5
end
end
(attr_accessor x)
(attr_accessor y)
(def initialize x y
(setq @x x)
(setq @y y) )
(def function
(new CC 2 3 4 5) ) )
class C
attr_accessor :x
attr_accessor :y
def initialize x , y
@x = x
@y = y
end
def function
CC.new 2 , 3 , 4 , 5
end
end
221uy ◆yyC0rYWEq2
2011/06/20(月) 02:23:10.69 #include < stduo.h >
int main( int argc , char ** argv ) {
printf( "test %d" , 444 ) ;
return 0;
}
(include "stdio.h")
(def (int main) (int argc) (char argv)
(printf "test %d" 444)
(return 0) )
(include "stdio.h")
(def int main int argc char argv
(printf "test %d" 444)
(return 0) )
int main( int argc , char ** argv ) {
printf( "test %d" , 444 ) ;
return 0;
}
(include "stdio.h")
(def (int main) (int argc) (char argv)
(printf "test %d" 444)
(return 0) )
(include "stdio.h")
(def int main int argc char argv
(printf "test %d" 444)
(return 0) )
222デフォルトの名無しさん
2011/06/20(月) 02:32:44.26 プログラムはツリーである
故に、ツリーを華麗に扱える言語が最も美しい
故に、ツリーを華麗に扱える言語が最も美しい
224uy ◆yyC0rYWEq2
2011/06/20(月) 03:32:46.69 現在、一般浸透してる言語はツリーを軽視しすぎてる
ツリー構造で管理していないプログラムっていうのは
たとえば深度4から、深度5〜n まで、参照可能にさせておきたい変数があっても
深度1の場所に名前がかぶらないように定義してるだけなんだよ
ネームスペースを使って NAMESPACE::NAMESPACE::変数
と、してるだけ 砕いていっちゃえば ネームスペースなんて、アンダーバーつかってかぶらない変数名かいてるのと同じようなもん
hensuu___henssuss__susususus__susus = 4 ← けっきょくせかいの平均はここから進歩してない
だから、深度1〜n全ての場所でその変数が普通の方法でも参照できてしまうため
そこまで気にする必要はないにしてもわずかに名前衝突は気をつけなくてはいけない
特に名前のかぶりそうな、Windowクラスとか、Mainクラスといったもののなまえしょうとつを起こす可能性を消せない
これをツリーで管理すると
深度4の場所で Windowクラスを定義すれば
深度1〜3の場所では、どうやっても普通の方法ではWindowクラスまでたどり着けないので
名前衝突が完全に100%といっていいほどなくなる
君たちは全く名前衝突を意識せずにプログラミングできるプログラミングをプログラミングした事はあるかね?
心の清清しさが違う・・・・・ すっげー適当な変数名でプログラミングしても大丈夫、むしろ名前なんて付けない
無名関数でプログラミングしていく、自分で根幹部分のほうに、名前を指定しなければランダムで名前をつけるようにしてしまう
でもツリーを効率的に扱う
そのための言語がないからね、ツリー操作に長けていて、なおかつドキュメント、ライブラリ、人気、見た目
そういうものを全部クリアした言語がまだでてきていない
お話しゅうりょ。
ツリー構造で管理していないプログラムっていうのは
たとえば深度4から、深度5〜n まで、参照可能にさせておきたい変数があっても
深度1の場所に名前がかぶらないように定義してるだけなんだよ
ネームスペースを使って NAMESPACE::NAMESPACE::変数
と、してるだけ 砕いていっちゃえば ネームスペースなんて、アンダーバーつかってかぶらない変数名かいてるのと同じようなもん
hensuu___henssuss__susususus__susus = 4 ← けっきょくせかいの平均はここから進歩してない
だから、深度1〜n全ての場所でその変数が普通の方法でも参照できてしまうため
そこまで気にする必要はないにしてもわずかに名前衝突は気をつけなくてはいけない
特に名前のかぶりそうな、Windowクラスとか、Mainクラスといったもののなまえしょうとつを起こす可能性を消せない
これをツリーで管理すると
深度4の場所で Windowクラスを定義すれば
深度1〜3の場所では、どうやっても普通の方法ではWindowクラスまでたどり着けないので
名前衝突が完全に100%といっていいほどなくなる
君たちは全く名前衝突を意識せずにプログラミングできるプログラミングをプログラミングした事はあるかね?
心の清清しさが違う・・・・・ すっげー適当な変数名でプログラミングしても大丈夫、むしろ名前なんて付けない
無名関数でプログラミングしていく、自分で根幹部分のほうに、名前を指定しなければランダムで名前をつけるようにしてしまう
でもツリーを効率的に扱う
そのための言語がないからね、ツリー操作に長けていて、なおかつドキュメント、ライブラリ、人気、見た目
そういうものを全部クリアした言語がまだでてきていない
お話しゅうりょ。
225デフォルトの名無しさん
2011/06/20(月) 10:28:58.30226デフォルトの名無しさん
2011/06/20(月) 21:17:19.85 X-BASIC
AppleScript
AppleScript
227uy ◆yyC0rYWEq2
2011/06/21(火) 15:27:07.66 とりあえず美しいかどうかはさておいて
世界にとってプラスになりそうなのはD言語
最も複雑で最も概念数の多い言語が神
使えない?覚えれない?しらねーよks
そもそも人にプログラミングが扱えると思うなよ
言語構文など全て覚えることが実時間上、不可能であるくらいの超巨大な言語がほしい
C++とか、まだ全然余裕、小さい、仕様小さすぎワロタw
C++の20倍くらいの仕様の詰まった言語がこの世には必要
世界にとってプラスになりそうなのはD言語
最も複雑で最も概念数の多い言語が神
使えない?覚えれない?しらねーよks
そもそも人にプログラミングが扱えると思うなよ
言語構文など全て覚えることが実時間上、不可能であるくらいの超巨大な言語がほしい
C++とか、まだ全然余裕、小さい、仕様小さすぎワロタw
C++の20倍くらいの仕様の詰まった言語がこの世には必要
228デフォルトの名無しさん
2011/06/21(火) 18:04:29.00 >>227
黙れよ出会い厨
黙れよ出会い厨
229デフォルトの名無しさん
2011/06/21(火) 18:55:43.39 w
uy ◆yyC0rYWEq2は巡回好きだな〜
ちなみに、この能無しだれ?
uy ◆yyC0rYWEq2は巡回好きだな〜
ちなみに、この能無しだれ?
230uy
2011/06/24(金) 00:34:30.93 ※ あぼーん推奨
231uy ◆yyC0rYWEq2
2011/06/25(土) 07:25:42.29 ほんっと人の話をきけない奴ってゴミだよな
俺の説明の劣化を語ってる名無しに、こぞって興味持ってる流れを見てると微笑ましいよ
そういう奴らって、深層心理のどっかでuyを認めなくちゃならないんだよね
そうしないとuyの説明していることのすべてが否って事にしちゃうと
とんでもない重荷を背負って生きることになるんだよね
uyがいってるんだから違う、間違ってる、 なんて決め付けちゃうと
真実12121 = 嘘
真実2342 = 嘘
真実433243 = 嘘
こうやって、脳内の真実変数がどんどん 嘘 代入されてって、 まともな思考も出来なくなる
だからuyを認めたくない奴はw 俺が説明してる概念を、俺が書き込むよりも先に学習しとくか、透明削除してろって話
もう何人か精神病にさせてしまった気がするけど、プログラミングなんてやってんのが悪いわけだしね・・・ それは俺のせいじゃないし
俺のせいにされても困るからね
俺の説明の劣化を語ってる名無しに、こぞって興味持ってる流れを見てると微笑ましいよ
そういう奴らって、深層心理のどっかでuyを認めなくちゃならないんだよね
そうしないとuyの説明していることのすべてが否って事にしちゃうと
とんでもない重荷を背負って生きることになるんだよね
uyがいってるんだから違う、間違ってる、 なんて決め付けちゃうと
真実12121 = 嘘
真実2342 = 嘘
真実433243 = 嘘
こうやって、脳内の真実変数がどんどん 嘘 代入されてって、 まともな思考も出来なくなる
だからuyを認めたくない奴はw 俺が説明してる概念を、俺が書き込むよりも先に学習しとくか、透明削除してろって話
もう何人か精神病にさせてしまった気がするけど、プログラミングなんてやってんのが悪いわけだしね・・・ それは俺のせいじゃないし
俺のせいにされても困るからね
232デフォルトの名無しさん
2011/06/29(水) 13:21:37.69 ここまでSNOBOLとJ言語なし
233デフォルトの名無しさん
2011/07/02(土) 23:53:43.83 uy ◆yyC0rYWEq2
こいつ、精神病んでるから放置な
こいつ、精神病んでるから放置な
234デフォルトの名無しさん
2011/07/03(日) 13:23:04.73 コテハン放置は常識
自己主張だか差別化、優越感だかわからんが、2chで求める時点でカス
無意味なコテハンはリアで寂しい奴、無能な奴と決まってる
自己主張だか差別化、優越感だかわからんが、2chで求める時点でカス
無意味なコテハンはリアで寂しい奴、無能な奴と決まってる
235大天使 ◆uL5esZLBSE
2011/07/03(日) 16:01:01.89 まるでおまえたちは自分が精神病だとわかっていないみたいな
やっぱり自覚のないゴミだな
やっぱり自覚のないゴミだな
236デフォルトの名無しさん
2011/07/03(日) 16:53:06.69 だまれ、さっさと精神病院に収容されろ。
どうせ、どっかの教員だろ
どうせ、どっかの教員だろ
237デフォルトの名無しさん
2011/07/03(日) 17:16:32.40 美しいのは Scheme か Smalltalk かな
SML も良い
SML も良い
238デフォルトの名無しさん
2011/07/03(日) 17:33:04.39 よくわからないけど、美しいっていうのは、機能美のことなの?
ソースコードの見た目の綺麗さとかPiet的なものではなく?
ソースコードの見た目の綺麗さとかPiet的なものではなく?
239デフォルトの名無しさん
2011/07/03(日) 17:34:36.42 よくわからないけど、基準を共通化してどうしたいの?
240デフォルトの名無しさん
2011/07/03(日) 17:52:41.56 >>236
おまえみたいな奴のことだよ ゴミって
おまえみたいな奴のことだよ ゴミって
241デフォルトの名無しさん
2011/07/03(日) 18:10:37.48 Adaとか結構好きだったりするんだが
ちょっとおでぶさんだよなぁ…
ちょっとおでぶさんだよなぁ…
242デフォルトの名無しさん
2011/07/03(日) 19:30:11.32 >>238
俺がみるとあぼ〜んになってるレスへの疑問かもしれないが、
数学的な方面から見れば、表記ブレの発生しないコードじゃないか。
同じ種類のデータを並び替えるのに、処理箇所毎に全く違うとか一貫性が無いのは汚いと感じる。
できるだけ複数の処理を同じように書けるってのは重要だと想う。
例えば数学のラムダ演算では、全ての数が関数に統一され、全て関数の操作法で
そうさできる。数字と関数の間を行き来する必要がなくなった。これって綺麗だと思わないかい?
俺がみるとあぼ〜んになってるレスへの疑問かもしれないが、
数学的な方面から見れば、表記ブレの発生しないコードじゃないか。
同じ種類のデータを並び替えるのに、処理箇所毎に全く違うとか一貫性が無いのは汚いと感じる。
できるだけ複数の処理を同じように書けるってのは重要だと想う。
例えば数学のラムダ演算では、全ての数が関数に統一され、全て関数の操作法で
そうさできる。数字と関数の間を行き来する必要がなくなった。これって綺麗だと思わないかい?
243デフォルトの名無しさん
2011/07/03(日) 20:05:56.09 そういうのは確かに美しいが、だからといって例えば
チャーチ数で数値計算しろと言われても困るわけで、
実用性を伴う美しさが求められる
チャーチ数で数値計算しろと言われても困るわけで、
実用性を伴う美しさが求められる
244デフォルトの名無しさん
2011/07/03(日) 20:33:43.99 逆に言えば、汚れのないコードだよね。
ちょっとした違いの為にわざわざこんなこと書いてるなんてってのは醜い。
ちょっとした違いの為にわざわざこんなこと書いてるなんてってのは醜い。
245デフォルトの名無しさん
2011/07/03(日) 20:45:34.28 プログラムとは違うが、電波の周波数帯はキモイと想う。
ELF
SLF
ULF
VLF
LF
MF
HF
VHF
UHF
SHF
EHF
THz
Very High Frequencyとか汚すぎる名前だろ。K,M,G,Tとかみたいに
もっと一貫性のある名前にするか、Wave1、Wave2とかいつまでも増やせる名前にしろよっておもう。
そういや、WindowsのAPIも、
・EnumDateFormatsExEx
・ExtSelectClipRgn
・GetTextExtentExPoint
てな感じで一貫性がなくてキモイ。だったら2,3,4,5って数字にして欲しい。
ELF
SLF
ULF
VLF
LF
MF
HF
VHF
UHF
SHF
EHF
THz
Very High Frequencyとか汚すぎる名前だろ。K,M,G,Tとかみたいに
もっと一貫性のある名前にするか、Wave1、Wave2とかいつまでも増やせる名前にしろよっておもう。
そういや、WindowsのAPIも、
・EnumDateFormatsExEx
・ExtSelectClipRgn
・GetTextExtentExPoint
てな感じで一貫性がなくてキモイ。だったら2,3,4,5って数字にして欲しい。
246デフォルトの名無しさん
2011/07/03(日) 20:54:13.90 しょうがないだろ。
元々火花送信機から始まって、真空管を使ってなんとかそれらしく電波を
飛ばせるようになった頃の LF MF HF という区別から始まって、あとから
あとから増やしていったものなんだから。
元々火花送信機から始まって、真空管を使ってなんとかそれらしく電波を
飛ばせるようになった頃の LF MF HF という区別から始まって、あとから
あとから増やしていったものなんだから。
247デフォルトの名無しさん
2011/07/04(月) 19:10:16.02 美しいって意味わかってなくね?
汚れのないコードなんていったら書き手の問題がでかくなるだろ
言語としての違いからくるもの以外は切り捨てろよ
「書かざるおえない」言語と「不必要」な言語、「こう書く」言語と「こう書ける」言語
似てるようでまるで違う
普通は自由度の高い言語は美しいと言えない
それを美しいと思うのは感性だから閉まっとけって思えるレベルでないとお話にならない
意味がわかってない人って多いよね
汚れのないコードなんていったら書き手の問題がでかくなるだろ
言語としての違いからくるもの以外は切り捨てろよ
「書かざるおえない」言語と「不必要」な言語、「こう書く」言語と「こう書ける」言語
似てるようでまるで違う
普通は自由度の高い言語は美しいと言えない
それを美しいと思うのは感性だから閉まっとけって思えるレベルでないとお話にならない
意味がわかってない人って多いよね
248デフォルトの名無しさん
2011/07/04(月) 19:11:45.58 そういう俺はJavaだな
249デフォルトの名無しさん
2011/07/04(月) 19:33:04.73 そこそこ実用的で美しい
・Python(ソースコードの見た目)
・Scheme(言語仕様の簡潔さ)
実用性度外視で美しい
・Lazy K(関数型言語部門)
・Brainfuck(手続き型部門)
・Python(ソースコードの見た目)
・Scheme(言語仕様の簡潔さ)
実用性度外視で美しい
・Lazy K(関数型言語部門)
・Brainfuck(手続き型部門)
250デフォルトの名無しさん
2011/07/04(月) 19:45:46.77 Python は言語仕様が美しければな...
251デフォルトの名無しさん
2011/07/05(火) 00:37:28.00 Pythonの言語仕様は好む言語から見るから賛否要論なんだと思う
素直に見ればよう出来てる
249のつっこみ所はLazy KとBrainfuckだろ
関数型言語はそもそも一貫性?が無いから美しいと言ってはいけないと思う
でもOCamlやLISP系は美しくないが見やすいのもわかる
Brainfuckは論外だろ
素直に見ればよう出来てる
249のつっこみ所はLazy KとBrainfuckだろ
関数型言語はそもそも一貫性?が無いから美しいと言ってはいけないと思う
でもOCamlやLISP系は美しくないが見やすいのもわかる
Brainfuckは論外だろ
252デフォルトの名無しさん
2011/07/05(火) 01:02:24.60253デフォルトの名無しさん
2011/07/05(火) 01:23:10.19 haskellは美しい玩具じゃなくて汚い実用言語というイメージ
254デフォルトの名無しさん
2011/07/05(火) 01:40:40.17255デフォルトの名無しさん
2011/07/05(火) 01:45:47.21 >>253
OCamlやF#がその立ち位置だと思ってた
OCamlやF#がその立ち位置だと思ってた
256デフォルトの名無しさん
2011/07/05(火) 01:47:16.27 実用のための言語ならたいがい美しくないところはありそうなもんだなあ
性能とか便利さとか歴史的経緯とか、そういう理由で
性能とか便利さとか歴史的経緯とか、そういう理由で
257デフォルトの名無しさん
2011/07/05(火) 02:10:53.67 Prologさんたらどこかに消えた♪w
258デフォルトの名無しさん
2011/07/05(火) 02:26:22.65 >>257
実用のための言語だから。
実用のための言語だから。
259デフォルトの名無しさん
2011/07/05(火) 03:58:18.11260デフォルトの名無しさん
2011/07/05(火) 07:05:41.18 >>259
クロージャは、いろいろ問題あるからいらん。
クロージャは、いろいろ問題あるからいらん。
261デフォルトの名無しさん
2011/07/05(火) 10:10:17.07262デフォルトの名無しさん
2011/07/05(火) 11:04:05.05 実装上の問題。
気を付けないとわかりにくい。
ラムダ式でいい。
気を付けないとわかりにくい。
ラムダ式でいい。
263デフォルトの名無しさん
2011/07/05(火) 11:18:16.11 Pythonにもクロージャはあるだろ
まあlambdaの制限のことを言いたいのは分かるが
まあlambdaの制限のことを言いたいのは分かるが
264デフォルトの名無しさん
2011/07/05(火) 11:22:02.71 一応レキシカルだけど関数スコープで、2だと上位スコープの変数を素直に
書き換える手段が無いとか、その辺の話でもあるのかなと思った
3だと出来るけどnonlocal文って美しくは無いわな
書き換える手段が無いとか、その辺の話でもあるのかなと思った
3だと出来るけどnonlocal文って美しくは無いわな
265デフォルトの名無しさん
2011/07/05(火) 20:39:24.65 >>262
『具体的に』
『具体的に』
266デフォルトの名無しさん
2011/07/06(水) 12:23:37.30267デフォルトの名無しさん
2011/07/06(水) 20:14:58.09 >>266
実装は別に大変じゃないよ
そこら中の LL が持ってる機能だからね
スコープで混乱している人も見掛けないし
Python の lambda みたいに中途半端な物を有り難がる必要も無い
結局、具体例は無しか
ソースコードの一つでも出て来るかと期待したのが間違いだったかな
実装は別に大変じゃないよ
そこら中の LL が持ってる機能だからね
スコープで混乱している人も見掛けないし
Python の lambda みたいに中途半端な物を有り難がる必要も無い
結局、具体例は無しか
ソースコードの一つでも出て来るかと期待したのが間違いだったかな
268デフォルトの名無しさん
2011/07/06(水) 20:27:12.23 まあ Python の場合は、インデントしないとブロックが作れないという妙な制約の所為で、
クロージャの構文を考えるのが面倒くさかったのかもな
クロージャの構文を考えるのが面倒くさかったのかもな
269デフォルトの名無しさん
2011/07/06(水) 22:26:09.36 やっぱコレぐらいの機能を持ってないとダメだろ
・文脈構造が黒髪ツーサドアップ
・関数リストの定義がミニスカニーソ
・インターフェースが童顔
・Foundationは薄化粧
・研究所で開発されてた頃のあだ名が猫
・文脈構造が黒髪ツーサドアップ
・関数リストの定義がミニスカニーソ
・インターフェースが童顔
・Foundationは薄化粧
・研究所で開発されてた頃のあだ名が猫
270デフォルトの名無しさん
2011/07/06(水) 22:32:26.74 趣味が幼稚だよね。
ていうか汚らしい。
(倫理的に不潔という意味でなく文字通り細菌的に不衛生という意味)
ていうか汚らしい。
(倫理的に不潔という意味でなく文字通り細菌的に不衛生という意味)
271デフォルトの名無しさん
2011/07/07(木) 04:49:25.74 >>267
要らないといっているのに、ソースコードを張れって意味フ。Python では、書けないコードを出して。
クロージャーは、巨大になってくるとGloal変数と同じ問題あり。Pythonは、うまく対処している。
実装は面倒。克服しているだけの話。妙な制限があるのもその都合。
要らないといっているのに、ソースコードを張れって意味フ。Python では、書けないコードを出して。
クロージャーは、巨大になってくるとGloal変数と同じ問題あり。Pythonは、うまく対処している。
実装は面倒。克服しているだけの話。妙な制限があるのもその都合。
272デフォルトの名無しさん
2011/07/07(木) 09:18:55.25 >>271
>クロージャーは、巨大になってくるとGloal変数と同じ問題あり。
>実装は面倒。
だからさ、もっと具体的に書こうぜ。
Global 変数と同じ『どんな』問題があると思うの?
実装が面倒だったら、世の中にあまたある Lisp の処理系はどんな超絶技巧を使っているというの?
きちんと理由を書かないと話にならないぜ。
>クロージャーは、巨大になってくるとGloal変数と同じ問題あり。
>実装は面倒。
だからさ、もっと具体的に書こうぜ。
Global 変数と同じ『どんな』問題があると思うの?
実装が面倒だったら、世の中にあまたある Lisp の処理系はどんな超絶技巧を使っているというの?
きちんと理由を書かないと話にならないぜ。
273デフォルトの名無しさん
2011/07/07(木) 09:27:35.16 もちろん Lisp の所は Smalltalk と読み替えても良いし、JS でも良いし、他の LL でも良いよ。
クロージャなんて殆どどこにでもあるありふれた機能で、有って当たり前の物。
クロージャなんて殆どどこにでもあるありふれた機能で、有って当たり前の物。
274デフォルトの名無しさん
2011/07/07(木) 09:29:07.18 つーか、Pythonでも multi-statement lambda を実装しようと思えば出来た
Guidoが実装しないことを選んだだけ
http://www.artima.com/weblogs/viewpost.jsp?thread=147358
Guidoが実装しないことを選んだだけ
http://www.artima.com/weblogs/viewpost.jsp?thread=147358
275デフォルトの名無しさん
2011/07/07(木) 09:35:19.72 そのおかげで、残念な言語仕様になってしまったね
276デフォルトの名無しさん
2011/07/07(木) 09:37:20.77 Zen of Python とか言いながら、メソッド定義に毎回 self を書かせる素敵仕様な
言語になっちゃうんだもんなあw
言語になっちゃうんだもんなあw
277デフォルトの名無しさん
2011/07/07(木) 09:45:02.01 >>276
なぜ self を明示的に書くのか by Guido
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
なぜ self を明示的に書くのか by Guido
http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html
278デフォルトの名無しさん
2011/07/07(木) 10:25:29.64 >>277
構文解析で関数定義とメソッド定義の場合分けするのが面倒だったからだろ
構文解析で関数定義とメソッド定義の場合分けするのが面倒だったからだろ
279デフォルトの名無しさん
2011/07/07(木) 10:33:10.77 Python にクロージャが無いのはオフサイドルールの犠牲になったんだと思うわ。
クロージャはデータだから、引数の位置や代入分の右辺の位置でも定義可能にしないと
いけない訳だけど、Python ではそれらの位置にブロックを書かせる(=インデントを
書かせる)のは都合が悪い。関数の 3 番目の引数からインデントが始まるコードなんて
誰も読みたくないからね。
インデントが強制されない、他の言語では何の問題も無い話だけどね。
クロージャはデータだから、引数の位置や代入分の右辺の位置でも定義可能にしないと
いけない訳だけど、Python ではそれらの位置にブロックを書かせる(=インデントを
書かせる)のは都合が悪い。関数の 3 番目の引数からインデントが始まるコードなんて
誰も読みたくないからね。
インデントが強制されない、他の言語では何の問題も無い話だけどね。
280デフォルトの名無しさん
2011/07/07(木) 10:58:47.18 クロージャに(lambdaに)文が書けないのは、だろうけど、
別にそこだけHaskellの { ; } みたいな構文を導入してもいいわけだし、
説得力ないと思うなぁ。
別にそこだけHaskellの { ; } みたいな構文を導入してもいいわけだし、
説得力ないと思うなぁ。
281デフォルトの名無しさん
2011/07/07(木) 11:36:45.19282デフォルトの名無しさん
2011/07/07(木) 11:50:22.11 >>277
和訳 : なぜPythonのメソッド引数に明示的にselfと書くのか
http://coreblog.org/ats/translation-of-why-explicit-self-has-to-stay
和訳 : なぜPythonのメソッド引数に明示的にselfと書くのか
http://coreblog.org/ats/translation-of-why-explicit-self-has-to-stay
283デフォルトの名無しさん
2011/07/07(木) 11:56:01.88 まあ、俺もPythonが美しいとは思わないし、selfはともかく
multi-statement lambda は在った方が良いと思うけどさ
そうなってる理由が実装が面倒とかいう理由では無いと言いたい
multi-statement lambda は在った方が良いと思うけどさ
そうなってる理由が実装が面倒とかいう理由では無いと言いたい
284デフォルトの名無しさん
2011/07/07(木) 21:28:21.12 >>281
でも、lambda についての議論の結果がこれでしょ
http://mail.python.org/pipermail/python-dev/2006-February/060654.html
括弧でブロックを表す事が受け入れられるなら、
最初からオフサイドルールの強制なんてしない訳で、
非現実的な提案なんじゃないかな?
Python 的に受け入れ可能な文法でクロージャを
組み入れるのは、無理な話だと思うよ
>>280
『そこだけ変えれば良い』というのが受け入れられる
文化じゃないでしょ
でも、lambda についての議論の結果がこれでしょ
http://mail.python.org/pipermail/python-dev/2006-February/060654.html
括弧でブロックを表す事が受け入れられるなら、
最初からオフサイドルールの強制なんてしない訳で、
非現実的な提案なんじゃないかな?
Python 的に受け入れ可能な文法でクロージャを
組み入れるのは、無理な話だと思うよ
>>280
『そこだけ変えれば良い』というのが受け入れられる
文化じゃないでしょ
285デフォルトの名無しさん
2011/07/07(木) 22:12:51.14286デフォルトの名無しさん
2011/07/08(金) 01:27:40.15 >>251
何を言っているんだろう?
Lazy Kの一貫性は完璧であり、その意味ではもっとも美しい言語だろう。
Lazy K以上に簡明で一貫した意味論、構文を持つ言語を考えるのは難しい。
それが分からないようじゃ、「関数型言語はそもそも一貫性?が無い」とは、何も分かっていないんだろうなとしか思えん。
> クロージャーは、巨大になってくるとGloal変数と同じ問題あり。
たぶん、LISPなどの非純粋型言語のクロージャを考えているんだろう。
たしかに、そういった言語のクロージャは、グローバル変数と同じというかCのスタティック変数と同じように、ライブラリ使用者から隠された変数によって関数の挙動が変わる、という問題がある。
しかし、じゃぁ、いかなる意味でもグローバルな識別子が存在しないか、あるいはグローバルな識別子を使用したどの関数呼び出しも、決して隠されたパラメータによって関数の挙動が変わることがない、ということが保障された言語なんでどれほどある?
(オレが思いつきかぎりでは、Lazy Kしか存在しない。)
クロージャよりも、クラスメソッドやクラス変数のほうが理解しやすい、混乱しにくいというのならそういう頭の人もいるだろうから、個人の好みの問題といしては否定はしない。
でも、それは好みの問題に過ぎない。
何を言っているんだろう?
Lazy Kの一貫性は完璧であり、その意味ではもっとも美しい言語だろう。
Lazy K以上に簡明で一貫した意味論、構文を持つ言語を考えるのは難しい。
それが分からないようじゃ、「関数型言語はそもそも一貫性?が無い」とは、何も分かっていないんだろうなとしか思えん。
> クロージャーは、巨大になってくるとGloal変数と同じ問題あり。
たぶん、LISPなどの非純粋型言語のクロージャを考えているんだろう。
たしかに、そういった言語のクロージャは、グローバル変数と同じというかCのスタティック変数と同じように、ライブラリ使用者から隠された変数によって関数の挙動が変わる、という問題がある。
しかし、じゃぁ、いかなる意味でもグローバルな識別子が存在しないか、あるいはグローバルな識別子を使用したどの関数呼び出しも、決して隠されたパラメータによって関数の挙動が変わることがない、ということが保障された言語なんでどれほどある?
(オレが思いつきかぎりでは、Lazy Kしか存在しない。)
クロージャよりも、クラスメソッドやクラス変数のほうが理解しやすい、混乱しにくいというのならそういう頭の人もいるだろうから、個人の好みの問題といしては否定はしない。
でも、それは好みの問題に過ぎない。
287デフォルトの名無しさん
2011/07/08(金) 01:53:34.89 JavaScript はかなり美しいな
全てはオブジェクトだよ
全てはハッシュだよ
Smalltalk もかなり美しいな
全てはオブジェクトだよ
全てはメッセージだよ
Lisp もかなり美しい
全てはリストだよ
全てはラムダだよ
もちろん例外もあるので、異論は好きなだけどうぞ
全てはオブジェクトだよ
全てはハッシュだよ
Smalltalk もかなり美しいな
全てはオブジェクトだよ
全てはメッセージだよ
Lisp もかなり美しい
全てはリストだよ
全てはラムダだよ
もちろん例外もあるので、異論は好きなだけどうぞ
288デフォルトの名無しさん
2011/07/08(金) 01:53:37.92 ブログでやれ
そして、自分で言語(の仕様)を作れといいたい
そして、自分で言語(の仕様)を作れといいたい
289デフォルトの名無しさん
2011/07/08(金) 02:10:48.84 美しいかどうかは置いといて、BASICからプログラミングへ入れたのは良い時代だったな
290デフォルトの名無しさん
2011/07/08(金) 04:30:17.92291デフォルトの名無しさん
2011/07/08(金) 04:54:16.62 >>289
BASICから入ると一生プログラマになれない、と言われてた時代が懐かしいな。
BASICから入ると一生プログラマになれない、と言われてた時代が懐かしいな。
292デフォルトの名無しさん
2011/07/08(金) 08:11:15.56293デフォルトの名無しさん
2011/07/08(金) 08:20:27.82 どう見ても判別できると思えませんが
ご苦労な脳味噌はおまえだろw
ご苦労な脳味噌はおまえだろw
294デフォルトの名無しさん
2011/07/08(金) 09:33:19.56 JavaScriptはvar宣言はあるけど関数スコープだったり
for〜inループやthisの扱いがちょっと好きじゃないな
同じ系統だとJavaScriptよりはLuaのほうがまだすっきりしてるように見える
for〜inループやthisの扱いがちょっと好きじゃないな
同じ系統だとJavaScriptよりはLuaのほうがまだすっきりしてるように見える
295デフォルトの名無しさん
2011/07/08(金) 17:11:34.93 >>294
JavaScriptのthisは動的スコープだからな。
動的スコープありやなしや、結構むずかしい問題。
オレは静的スコープ脳だけど、Lispとかで動的スコープを使ったトリックをみると、なるほどなーと思う。
JavaScriptのthisは動的スコープだからな。
動的スコープありやなしや、結構むずかしい問題。
オレは静的スコープ脳だけど、Lispとかで動的スコープを使ったトリックをみると、なるほどなーと思う。
296デフォルトの名無しさん
2011/07/08(金) 18:20:34.10 毎回 var self = this; を書くのはあんまり美しくはないよね
クラスにあたる存在とメソッドにあたる存在の区別が付かないのに
その1行で何とかなっちゃうように出来てるのは凄いんだけど
クラスにあたる存在とメソッドにあたる存在の区別が付かないのに
その1行で何とかなっちゃうように出来てるのは凄いんだけど
297デフォルトの名無しさん
2011/07/08(金) 19:10:43.94298デフォルトの名無しさん
2011/07/08(金) 19:16:50.69299デフォルトの名無しさん
2011/07/08(金) 19:53:27.69 >>298
個人的な好みの問題といわれるとそれまでだけど
ブロックスコープの代用として
(function(){})()
みたいなのが多用されるのを見ると、ちょっとな……
まあ他にもletとかwithとか色々あるみたいだが、
それなら最初からブロックスコープのほうがナンボかいいと俺は思う
個人的な好みの問題といわれるとそれまでだけど
ブロックスコープの代用として
(function(){})()
みたいなのが多用されるのを見ると、ちょっとな……
まあ他にもletとかwithとか色々あるみたいだが、
それなら最初からブロックスコープのほうがナンボかいいと俺は思う
300デフォルトの名無しさん
2011/07/08(金) 20:02:37.23 >>299
JavaScript は Scheme と同じで、削ぎ落とした所が良いんだと思う
object で scope が代用できるなら object だけでいいし、
本質的には block scope は単なる syntax sugar でしょ
JavaScript は Scheme と同じで、削ぎ落とした所が良いんだと思う
object で scope が代用できるなら object だけでいいし、
本質的には block scope は単なる syntax sugar でしょ
301デフォルトの名無しさん
2011/07/08(金) 20:07:39.36 >>300
letがただのlambdaのsyntax sugarだとしても
Lisp族はマクロでletを作れるので、実用上の視点からは
Schemeとは一緒にできないような気がする
…んだけど、スレタイからするとあまり関係の無い視点のような気はしてきた
確かに言語の美しさとは関係が無いのかもしれない
letがただのlambdaのsyntax sugarだとしても
Lisp族はマクロでletを作れるので、実用上の視点からは
Schemeとは一緒にできないような気がする
…んだけど、スレタイからするとあまり関係の無い視点のような気はしてきた
確かに言語の美しさとは関係が無いのかもしれない
302デフォルトの名無しさん
2011/07/08(金) 20:16:12.17 >>301
そこは、JS にはマクロの様な構文を拡張する機能が無い、
だから let を(新たに)用意したって事なんじゃないかな
元々 block scope にしておけば良かったかというと、
それでは JavaScript らしくないんじゃないかなと思う
そこは、JS にはマクロの様な構文を拡張する機能が無い、
だから let を(新たに)用意したって事なんじゃないかな
元々 block scope にしておけば良かったかというと、
それでは JavaScript らしくないんじゃないかなと思う
303デフォルトの名無しさん
2011/07/08(金) 20:22:04.65 > 元々 block scope にしておけば良かったかというと、
> それでは JavaScript らしくないんじゃないかなと思う
これはとくにそうは思わない、かなあ
わりとJSに似たところの多いLuaはブロックスコープだし
> それでは JavaScript らしくないんじゃないかなと思う
これはとくにそうは思わない、かなあ
わりとJSに似たところの多いLuaはブロックスコープだし
304デフォルトの名無しさん
2011/07/08(金) 20:28:31.01 だからそれは Lua なんでしょ
305デフォルトの名無しさん
2011/07/08(金) 20:32:28.63 要は、「ブロックスコープでJSらしさが欠損する」理由が俺には見えないってことね
letを後から入れるぐらいなら、simplicityも絶対の理由ではない気がするし
letを後から入れるぐらいなら、simplicityも絶対の理由ではない気がするし
306デフォルトの名無しさん
2011/07/08(金) 20:34:05.12 うまくいえないけど
letにはPythonのnonlocalのような後付感、蛇足感がつきまとうっていうか……
letにはPythonのnonlocalのような後付感、蛇足感がつきまとうっていうか……
307デフォルトの名無しさん
2011/07/08(金) 20:39:51.02 >>305
元々、オブジェクトを唯一の道具立てとして言語を組み立てたのが JS で、
スコープというか環境フレームもオブジェクトで実装するのが自然だよね
というのが俺の理解
let は元々プラン外だったんだから蛇足に見えて当たり前
元々、オブジェクトを唯一の道具立てとして言語を組み立てたのが JS で、
スコープというか環境フレームもオブジェクトで実装するのが自然だよね
というのが俺の理解
let は元々プラン外だったんだから蛇足に見えて当たり前
308デフォルトの名無しさん
2011/07/10(日) 04:44:23.75 MIPS が美しいって言うよね
いつか試してみたいなあ
いつか試してみたいなあ
309デフォルトの名無しさん
2011/07/10(日) 06:54:00.80310デフォルトの名無しさん
2011/07/10(日) 13:57:23.65 >>309
haskellより、やることが制限されて簡潔で
lispのようにS式まみれにならず、
容易にバックトラックやエキスパートシステムを実現できる
優れた言語じゃないか
演習でしか使ったことないけど
haskellより、やることが制限されて簡潔で
lispのようにS式まみれにならず、
容易にバックトラックやエキスパートシステムを実現できる
優れた言語じゃないか
演習でしか使ったことないけど
311デフォルトの名無しさん
2011/07/16(土) 22:35:02.38 美しくない言語は幾らでも挙げられるけど、美しい言語となると難しいな
312デフォルトの名無しさん
2011/07/16(土) 23:15:52.99 prologはプログラミングしてるってより、データベース作ってる気分になる。。。
haskellベースに論理型言語を足したcurry
もしくは、prologベースに関数型言語を足したmars辺りは美しいんかね?
haskellベースに論理型言語を足したcurry
もしくは、prologベースに関数型言語を足したmars辺りは美しいんかね?
313デフォルトの名無しさん
2011/07/24(日) 03:40:58.69 関数スコープなのって、実装が簡単だからでしょ。
関数スコープで十分だとかって言うのは、酸っぱいブドウ。
ブロックスコープに越したことはない。
関数スコープで十分だとかって言うのは、酸っぱいブドウ。
ブロックスコープに越したことはない。
314デフォルトの名無しさん
2011/07/24(日) 03:42:37.65 Lisp を勉強すれば分かる
315デフォルトの名無しさん
2011/10/12(水) 01:49:49.75 手続き型はobjective-cが綺麗
cはオブジェクト指向が使えん。汎用的なコレクションライブラリがない
c++は山ほどのドキュメントを読まないと怖くてSTLすら使えない。cとの中途半端な互換性
javaは命名規則が長い。オペレータをオーバーロードできない。プロパティがない。GUIが発展しない
c#はネストが深い。ヘッダが読めん。ポインタ使い辛い
cはオブジェクト指向が使えん。汎用的なコレクションライブラリがない
c++は山ほどのドキュメントを読まないと怖くてSTLすら使えない。cとの中途半端な互換性
javaは命名規則が長い。オペレータをオーバーロードできない。プロパティがない。GUIが発展しない
c#はネストが深い。ヘッダが読めん。ポインタ使い辛い
316デフォルトの名無しさん
2011/10/15(土) 07:03:48.59 Objective-Cは、必要な機能がない。
317デフォルトの名無しさん
2011/11/06(日) 22:05:48.37 >>315
GObjectつかえばCでも現代的なOOはできるぞ。
GObjectつかえばCでも現代的なOOはできるぞ。
318デフォルトの名無しさん
2011/11/06(日) 22:08:51.60 >>299
ブロックスコープ使うならwithが綺麗。
with({ a: 1, b: 0})
{
b = a++; //withで宣言したラベルを使う
}
//ここでaとb消滅
ブロックスコープ使うならwithが綺麗。
with({ a: 1, b: 0})
{
b = a++; //withで宣言したラベルを使う
}
//ここでaとb消滅
319318
2011/11/06(日) 22:12:15.02 早とちりした。ごめん。なんでもない。
320uy
2012/01/26(木) 12:02:06.30 >>315
C++べつに使えるよ
自分が覚えにくい&挙動が不審な部分は絶対に触らないようにしていけばいいだけ
複数人で組む場合は知らない。そもそもそれはC++に想定された使い方ではないと思う
あとobjective-cはゴミ
あんなゴミは見たことない
そういや神オブジェクトって奴いたなぁと思ってみにきたが
死んだのか?
大言はいてたわりにはあっさりと消えたな
見た目が綺麗なのはPythonかLispだろうな
ただ俺はRubyのソースコードのほうが自分の中で思考がまとめやすいってだけかな
キチガイに刃物ってこういうことだと思う
rubyはuyに持たせてはいけない刃物だったんじゃないかと最近思う
俺がかくrubyコードとネットにあがるrubyコードって質がまず違うよね、何故俺にはここまでrubyが使えるのだろう
Matzには本当に感謝をしている、rubyがなければ自分が何年間もかけて言語を作らなければならなくなった
俺が何年間もかけて言語を作っていたはずの、その時間で俺は別のことをやれる
とてもこれは感謝以外に何ものでもないよ
C++べつに使えるよ
自分が覚えにくい&挙動が不審な部分は絶対に触らないようにしていけばいいだけ
複数人で組む場合は知らない。そもそもそれはC++に想定された使い方ではないと思う
あとobjective-cはゴミ
あんなゴミは見たことない
そういや神オブジェクトって奴いたなぁと思ってみにきたが
死んだのか?
大言はいてたわりにはあっさりと消えたな
見た目が綺麗なのはPythonかLispだろうな
ただ俺はRubyのソースコードのほうが自分の中で思考がまとめやすいってだけかな
キチガイに刃物ってこういうことだと思う
rubyはuyに持たせてはいけない刃物だったんじゃないかと最近思う
俺がかくrubyコードとネットにあがるrubyコードって質がまず違うよね、何故俺にはここまでrubyが使えるのだろう
Matzには本当に感謝をしている、rubyがなければ自分が何年間もかけて言語を作らなければならなくなった
俺が何年間もかけて言語を作っていたはずの、その時間で俺は別のことをやれる
とてもこれは感謝以外に何ものでもないよ
321デフォルトの名無しさん
2012/01/26(木) 15:34:56.56 別なことって2chの書き込みかよ
322デフォルトの名無しさん
2012/01/26(木) 20:24:41.85 ttp://twitter.com/akiradeveloper
奴ならここに
奴ならここに
323uy
2012/01/26(木) 20:43:06.69 >>322
礼をいうべきか否か
リンクたどっていったら冗談きついくらいのヒゲ画像と本名が出てきて
さらにググったら京都大学スレでも晒されてるし涙でてきた
とりあえず、なんか技術者としては平凡以下に収まってしまったようだな
Rubyプログラミング関数型プログラミングって3年前も同じことを言ってるの見たわ
この3年間何やってた。。
少しは期待していたのに化ける事がなかった残念
やっぱりJAVAなんて使っているから・・・
礼をいうべきか否か
リンクたどっていったら冗談きついくらいのヒゲ画像と本名が出てきて
さらにググったら京都大学スレでも晒されてるし涙でてきた
とりあえず、なんか技術者としては平凡以下に収まってしまったようだな
Rubyプログラミング関数型プログラミングって3年前も同じことを言ってるの見たわ
この3年間何やってた。。
少しは期待していたのに化ける事がなかった残念
やっぱりJAVAなんて使っているから・・・
324uy
2012/01/26(木) 20:50:30.90325uy
2012/01/26(木) 21:02:57.09 神オブジェクトはでもRubyに興味持ち始めたんだったら、
まだ救う価値はある
どうせあの手のタイプはPython側に行くのはなんとなくわかるけどね
小手先の技術が必要になるようなCやperl等での
手続き型プログラミングのロジックや小さく圧縮されたショートコーディングのようなものは絶対かけないから
rubyはきっと向いていないだろう
自分でrubyはかけても他人のrubyコードが読めないとか前言ってたのは、おそらくそれのせい。
俺にとってはどんなrubyコードでも読みやすいけど
奴はPythonに収まるだろうな
まだ救う価値はある
どうせあの手のタイプはPython側に行くのはなんとなくわかるけどね
小手先の技術が必要になるようなCやperl等での
手続き型プログラミングのロジックや小さく圧縮されたショートコーディングのようなものは絶対かけないから
rubyはきっと向いていないだろう
自分でrubyはかけても他人のrubyコードが読めないとか前言ってたのは、おそらくそれのせい。
俺にとってはどんなrubyコードでも読みやすいけど
奴はPythonに収まるだろうな
326デフォルトの名無しさん
2012/01/26(木) 23:32:25.15 【うゆ】uyスレ6【クソコテホイホイ】
http://kohada.2ch.net/test/read.cgi/prog/1316933376/
http://kohada.2ch.net/test/read.cgi/prog/1316933376/
327デフォルトの名無しさん
2012/01/27(金) 00:08:58.25328uy
2012/01/27(金) 08:27:34.60 ああ、大学楽しそうでいいな
329デフォルトの名無しさん
2012/08/06(月) 20:52:03.54 学校でSchemeを勉強して以来Schemeが好きになった。
括弧の多さなんて気にならない。
見た目はそんなに美しいってわけでもないけど、
非常に書きよい、心地よい。
括弧の多さなんて気にならない。
見た目はそんなに美しいってわけでもないけど、
非常に書きよい、心地よい。
330uy
2012/08/08(水) 10:49:00.43 汚いのは英数字と記号だからね
文字のすべてが
・ ― | ■ あたりで構成されていれば綺麗だよ
文字のすべてが
・ ― | ■ あたりで構成されていれば綺麗だよ
331デフォルトの名無しさん
2012/08/10(金) 10:51:51.00 ここまでpiet無し
332デフォルトの名無しさん
2012/09/15(土) 17:05:12.35 ランク付けは要らないが、各言語の「考え方」と「記法」を区別してスマートさの得失整理するのは有意義。
333uy
2012/09/15(土) 20:53:59.98 パールパイソンルビーには特色があって
開発者のやりたかったことも伝わってくるけど
PHPやJSにはそれがないんだ
主張のようなものを何も感じない
ただのなんのへんてつもない言語A、言語Bって感じ
あとC#にも主張がなにもないな
C++にはかなりある
javaには少しある
俺様にとってプログラミングは道具ではなく一般的じゃない変な方法を探し出しその上で効率よく目的を達成するゲームだから
言語に癖がないとさ
プレイする価値のないクソゲなんだよ
開発者のやりたかったことも伝わってくるけど
PHPやJSにはそれがないんだ
主張のようなものを何も感じない
ただのなんのへんてつもない言語A、言語Bって感じ
あとC#にも主張がなにもないな
C++にはかなりある
javaには少しある
俺様にとってプログラミングは道具ではなく一般的じゃない変な方法を探し出しその上で効率よく目的を達成するゲームだから
言語に癖がないとさ
プレイする価値のないクソゲなんだよ
334デフォルトの名無しさん
2012/09/15(土) 21:00:26.81 やはりPrologが美しい
335uy
2012/09/16(日) 00:28:01.37 誰も聞いてない
336デフォルトの名無しさん
2012/09/16(日) 05:32:18.88 Prologは極めて美しくもなるし、醜悪に書くこともできる。
自在性のプログラム言語。
自在性のプログラム言語。
337デフォルトの名無しさん
2012/09/16(日) 14:54:40.27 >>333 まぁ、分類としては概ね同意するよ。
perl/php/JS あたりは、そもそもが綺麗なプログラミング言語を作ろう、というのが主目的で作られたものじゃないから。JS はそれでもよくできているが。
perl/php/JS あたりは、そもそもが綺麗なプログラミング言語を作ろう、というのが主目的で作られたものじゃないから。JS はそれでもよくできているが。
338デフォルトの名無しさん
2012/09/16(日) 15:03:41.95 c#は、javaとc++の失敗から学んで生まれた実践から出来た言語だよ。
jsとrubyも同じようなもの
perlとPHPがユーザーのニーズから後付で膨れて失敗したか、失敗しそうな言語
c++は、どっちかっていうとアカデミックな立ち位置から生まれ、
速度といった十字架を背負った唯一無二のソフトウェアを書くための言語
jsとrubyも同じようなもの
perlとPHPがユーザーのニーズから後付で膨れて失敗したか、失敗しそうな言語
c++は、どっちかっていうとアカデミックな立ち位置から生まれ、
速度といった十字架を背負った唯一無二のソフトウェアを書くための言語
339デフォルトの名無しさん
2012/09/16(日) 18:35:52.49 >>333
このスレで美しさの欠片もない言語をいくら並べてみても仕方ないだろう
このスレで美しさの欠片もない言語をいくら並べてみても仕方ないだろう
340デフォルトの名無しさん
2012/09/16(日) 21:11:00.14 美しいというのは基準が酷く漠然としているが
長いプログラマー経験から思う、一般的に美しい
プログラムと言われやすい書き方の特徴を挙げてみよう。
1.変数名、関数名が極端に長くならず、かつほぼ一定の長さで揃えられている
おおむね8-10文字である事が多い。
2.変数名や関数名に大文字が使われることはなく、連続した単語の
結合にはアンダーバーが使われる。
3.大部分の関数の定義は50行以下で、main関数のような中心的な
処理のみ100行を少し超えるくらいである
4.間延びした印象になる空白行は避けられ、if分の開始ブレースは
ifキーワードと同じ行に書かれる
例:
if(user_id < 10){
以下の書き方は避けられる
if(user_id < 10)
{
5.カラム数が80桁を超えることは無い
6.インデントが揃っているのは当然であるか、字下げが3段以上深くなるようなことは無い。
それを誇示するようにエディターのTABを8文字に設定する古参プログラマーも多い
7. 関数のヘッダー部分のコメントは一貫した書式で清書され
SCCSで装飾されていることで格調が高くなる。
はっきり言えば、上記は古い環境の制限から仕方なくおこなわれてきた物が多く
現代の環境では全く推奨されるべき物では無い。しかし、経験の積んだエンジニアは
古い慣習を引きずっていることが多いし、それをお手本として学ぶ事になる場合が多い
長いプログラマー経験から思う、一般的に美しい
プログラムと言われやすい書き方の特徴を挙げてみよう。
1.変数名、関数名が極端に長くならず、かつほぼ一定の長さで揃えられている
おおむね8-10文字である事が多い。
2.変数名や関数名に大文字が使われることはなく、連続した単語の
結合にはアンダーバーが使われる。
3.大部分の関数の定義は50行以下で、main関数のような中心的な
処理のみ100行を少し超えるくらいである
4.間延びした印象になる空白行は避けられ、if分の開始ブレースは
ifキーワードと同じ行に書かれる
例:
if(user_id < 10){
以下の書き方は避けられる
if(user_id < 10)
{
5.カラム数が80桁を超えることは無い
6.インデントが揃っているのは当然であるか、字下げが3段以上深くなるようなことは無い。
それを誇示するようにエディターのTABを8文字に設定する古参プログラマーも多い
7. 関数のヘッダー部分のコメントは一貫した書式で清書され
SCCSで装飾されていることで格調が高くなる。
はっきり言えば、上記は古い環境の制限から仕方なくおこなわれてきた物が多く
現代の環境では全く推奨されるべき物では無い。しかし、経験の積んだエンジニアは
古い慣習を引きずっていることが多いし、それをお手本として学ぶ事になる場合が多い
341デフォルトの名無しさん
2012/09/16(日) 22:08:19.31 まぁ、80桁超えないように書くのは今のモニタだとむしろ読みにくいかもしれんね。
342デフォルトの名無しさん
2012/09/19(水) 10:36:46.74 オブジェクト指向言語は一体にゴツくて美しいとはいえない。
しかし、主流ではあるし、このクラスは独自に美しさを競うべきではないか。
しかし、主流ではあるし、このクラスは独自に美しさを競うべきではないか。
343uy
2012/09/20(木) 04:57:08.53 lispは勝ち抜けとして考えると次点はpython
閉じ括弧はソースリーディング時にはいらないんだよ
でもコーディング時には必要
閉じ括弧はソースリーディング時にはいらないんだよ
でもコーディング時には必要
344デフォルトの名無しさん
2012/09/20(木) 08:30:18.57 Haskellは数式だし、Prologは論理式。
姿は美しいが、実は、先にモデルがあって、記号を入れ替えただけ。
独創性は感じられない。
姿は美しいが、実は、先にモデルがあって、記号を入れ替えただけ。
独創性は感じられない。
345デフォルトの名無しさん
2012/09/20(木) 09:03:24.45 Scheme Prolog SmallTalk それに手続き型から Python でいいんじゃないか
346デフォルトの名無しさん
2012/09/20(木) 11:40:52.90 美しいという定義が何なのかによる。
可読性なのか、コード量が少なさなのか、それは人それぞれだ。
C#は読みやすくて好きだけど、
WPFで使うラムダ演算子とか見ると、読みにくくてきたねーと思う。
PHPは標準関数の名前がグダグタで汚いと思うけど
シンプルに書けるところは綺麗だと思う。
C言語は好きなんだけど、標準じゃ文字列とか解放とか面倒で、色々ライブラリ入れるんだけど、
入れたライブラリを作った人のセンスがマチマチで、何というか関数名の統一の無さが気に入らない。
可読性なのか、コード量が少なさなのか、それは人それぞれだ。
C#は読みやすくて好きだけど、
WPFで使うラムダ演算子とか見ると、読みにくくてきたねーと思う。
PHPは標準関数の名前がグダグタで汚いと思うけど
シンプルに書けるところは綺麗だと思う。
C言語は好きなんだけど、標準じゃ文字列とか解放とか面倒で、色々ライブラリ入れるんだけど、
入れたライブラリを作った人のセンスがマチマチで、何というか関数名の統一の無さが気に入らない。
347デフォルトの名無しさん
2012/09/20(木) 12:22:31.45 学術的な部分で強い言語と実用的な言語も分けた方がいいね
348デフォルトの名無しさん
2012/09/20(木) 12:28:14.46349デフォルトの名無しさん
2012/09/20(木) 12:35:12.68350デフォルトの名無しさん
2012/09/20(木) 12:37:09.01 >>349
書き方による
書き方による
351デフォルトの名無しさん
2012/09/21(金) 23:05:15.92 assert,retractでグローバル変数定義なんて糞だと思った
1年ぐらい演習と講義でオタクな準教授から教わったけれども、
現実世界のどこで使われてるのかがわからないし、使いこなすには1年の講義なんて時間は短すぎた。
はっきりいっておく。古典AIなら動的言語で実装した方がマシである。
1年ぐらい演習と講義でオタクな準教授から教わったけれども、
現実世界のどこで使われてるのかがわからないし、使いこなすには1年の講義なんて時間は短すぎた。
はっきりいっておく。古典AIなら動的言語で実装した方がマシである。
352uy
2012/09/22(土) 00:24:10.61 そんなの調べりゃ5分でわかること
AIに関わらずそれ何も出来ないよ
AIに関わらずそれ何も出来ないよ
353デフォルトの名無しさん
2012/09/22(土) 03:33:04.97 assert,retractはグローバル変数ではなく、述語定義(デーベース定義)だし、
Prologは動的言語だ。それにPrologは4時間で使えるようになるよ。
Prologは動的言語だ。それにPrologは4時間で使えるようになるよ。
354デフォルトの名無しさん
2012/09/22(土) 03:48:02.70355デフォルトの名無しさん
2012/09/22(土) 05:57:22.47 APL
356デフォルトの名無しさん
2012/09/22(土) 07:05:17.23357デフォルトの名無しさん
2012/09/22(土) 07:17:11.75358デフォルトの名無しさん
2012/09/22(土) 07:18:41.32359デフォルトの名無しさん
2012/09/22(土) 18:00:12.88 >>353
4時間で扱えるって、せいぜいサザエさん課題ぐらいの問題じゃないか
ビッグマウスもほどほどにしろよ。それともΣプロジェクトに加わった人?
大手って、これで自然言語処理だったり仕様記述してたりするのかしら
4時間で扱えるって、せいぜいサザエさん課題ぐらいの問題じゃないか
ビッグマウスもほどほどにしろよ。それともΣプロジェクトに加わった人?
大手って、これで自然言語処理だったり仕様記述してたりするのかしら
360デフォルトの名無しさん
2012/09/22(土) 20:17:01.96361デフォルトの名無しさん
2012/09/22(土) 20:27:54.52 Prologは
オブジェクト、クラスはもちろん 型、ブロック、スコープ、マクロ、クロージャ、遅延評価、
グローバル変数、ローカル変数、議論の対象となる概念のほとんどと無縁
極論すれば、IF文もループもない 教えることなんてほとんどない
append/3が理解できたらおわり
オブジェクト、クラスはもちろん 型、ブロック、スコープ、マクロ、クロージャ、遅延評価、
グローバル変数、ローカル変数、議論の対象となる概念のほとんどと無縁
極論すれば、IF文もループもない 教えることなんてほとんどない
append/3が理解できたらおわり
362uy
2012/09/23(日) 05:49:44.79 関数型厨がλあればなんでもできるとかほざいてるのと一緒で
本当に意味がないんだよそれw
ようはどんな方法でもいいから0と1が表現できたらすべて表現可能
つまりですね
「変数宣言する。変数宣言しない」
01表現できてるよな
これですべてのプログラム組めるよ
こんなことはとっくにわかってんだから
今更珍しがる事とかなんにもないんだよwwwwwwwwwwwwwww
本当に意味がないんだよそれw
ようはどんな方法でもいいから0と1が表現できたらすべて表現可能
つまりですね
「変数宣言する。変数宣言しない」
01表現できてるよな
これですべてのプログラム組めるよ
こんなことはとっくにわかってんだから
今更珍しがる事とかなんにもないんだよwwwwwwwwwwwwwww
363デフォルトの名無しさん
2012/09/23(日) 06:38:10.64 >>362
少なくとも先輩達が難しいこと言って勉強しなくてはならないということは起こらない
少なくとも先輩達が難しいこと言って勉強しなくてはならないということは起こらない
364デフォルトの名無しさん
2012/09/24(月) 00:38:37.62 >>360
つかってないのに妄想で答えるなよ
つかってないのに妄想で答えるなよ
365デフォルトの名無しさん
2012/09/24(月) 05:47:28.86 Prologは単一化とバックトラックを再帰の枠の中で理解することが必要。
囲碁のルールよりは少し複雑というレベルの一人ゲームのようなもの。
初心者向きの課題を考えて少しずつ「強く」なっていく以外にない。
他言語の重要な構成要素のものでPrologにはないというものがあり、
例えば配列だが、これを用いているアルゴリズムはリストに置き換える
必要がある。そういう時のための情報は外部サイトにほとんどないから
これも自分で考える。
一般に最初から難しい課題が与えられる傾向にあり、これがPrologの
難しさの原因。初心者に初段の課題をやらせても実力向上にはならない。
囲碁のルールよりは少し複雑というレベルの一人ゲームのようなもの。
初心者向きの課題を考えて少しずつ「強く」なっていく以外にない。
他言語の重要な構成要素のものでPrologにはないというものがあり、
例えば配列だが、これを用いているアルゴリズムはリストに置き換える
必要がある。そういう時のための情報は外部サイトにほとんどないから
これも自分で考える。
一般に最初から難しい課題が与えられる傾向にあり、これがPrologの
難しさの原因。初心者に初段の課題をやらせても実力向上にはならない。
366デフォルトの名無しさん
2012/09/24(月) 07:53:56.12 >>365
囲碁にはどちらが勝つかつまりどうなったら勝負がつくかの難問がありPrologよりずっと難しい。
囲碁にはどちらが勝つかつまりどうなったら勝負がつくかの難問がありPrologよりずっと難しい。
367デフォルトの名無しさん
2012/09/24(月) 07:58:32.92 確かに勝ち負けは帰納的?
368デフォルトの名無しさん
2012/09/24(月) 08:14:18.51 囲碁ソフトではルール化されているだろう。問題は人間がどれだけ終局のルールを教えられて
理解できるか。超再帰的直感で理解する人もいるだろうが、ほとんどの人は何回もやってみて
回りにいる人の助言を受けつつ理解していく。
理解できるか。超再帰的直感で理解する人もいるだろうが、ほとんどの人は何回もやってみて
回りにいる人の助言を受けつつ理解していく。
369Prolog工作員
2012/09/24(月) 09:38:29.30 Prologは確かに美しくも、醜悪にも書けますが、
美しく書くことも、醜悪に書くことも、どちらも楽しいですよ。そんなつもりで
書いてみることを勧めます。コードが長いか短いかとか、実行速度が速いか
遅いかなどどうでもよい言語です。書いたものから何か得られれば十分。
美しく書くことも、醜悪に書くことも、どちらも楽しいですよ。そんなつもりで
書いてみることを勧めます。コードが長いか短いかとか、実行速度が速いか
遅いかなどどうでもよい言語です。書いたものから何か得られれば十分。
370デフォルトの名無しさん
2012/09/25(火) 03:54:08.39 きめえ
371デフォルトの名無しさん
2012/09/25(火) 12:31:29.62 MicrosoftとXamarinが業務提携!C#でiPhone/iPad/Androidのアプリ開発ができる!Mono大勝利!
http://engawa.2ch.net/test/read.cgi/poverty/1348536694/l50
http://engawa.2ch.net/test/read.cgi/poverty/1348536694/l50
372デフォルトの名無しさん
2012/09/25(火) 12:40:52.31 オブジェクト指向のクラスではC#っていうのは美しい方に入るのかい?
373デフォルトの名無しさん
2012/09/25(火) 14:12:25.07 C#, Javaは、実用的、安全(プログラマを守る)
374uy
2012/09/25(火) 17:37:53.16 守らない
30で使い捨てwwwwwwwwwwwwwww
30で使い捨てwwwwwwwwwwwwwww
375デフォルトの名無しさん
2012/09/25(火) 23:05:49.63 Javaなんてドカタでも使えるように
わざわざ低能向けに設計されてるんだぜ
設計者の心が美しいよな
わざわざ低能向けに設計されてるんだぜ
設計者の心が美しいよな
376デフォルトの名無しさん
2012/09/26(水) 01:42:26.54 波括弧のブロックに慣れたら、Pythonなんかのインデントブロックには違和感を感じる。
377デフォルトの名無しさん
2012/09/26(水) 02:47:28.70 PGを使い捨てると競合増えるから、今後は飼い殺しにする悪寒
378デフォルトの名無しさん
2012/09/26(水) 12:09:08.31 オブジェクト指向クラスの言語で美しさの観点から上位3言語をあげてください
379デフォルトの名無しさん
2012/09/26(水) 16:20:17.69 クラスベースオブジェクト指向?
380デフォルトの名無しさん
2012/09/26(水) 16:27:27.30 >>379
いや、オブジェクト指向を取り込んだプログラム言語全体。クラスといっているのは
オブジェクト指向言語はどうしても構造体表現がゴツくてこのコンテストの対象言語に
なり難いから、これを最初から別クラスとして評価しようという意味。
いや、オブジェクト指向を取り込んだプログラム言語全体。クラスといっているのは
オブジェクト指向言語はどうしても構造体表現がゴツくてこのコンテストの対象言語に
なり難いから、これを最初から別クラスとして評価しようという意味。
381デフォルトの名無しさん
2012/09/26(水) 17:33:14.55 いみふ(´・ω・`)
382uy
2012/09/26(水) 18:42:52.56 マジで日本語がおかしいよそいつ。。。。
ほんとに終わってる業種だな
ほんとに終わってる業種だな
383デフォルトの名無しさん
2012/09/26(水) 19:06:34.24 >>381
オブジェクト指向言語と非オブジェクト指向言語を分けて評価しようということだよ。
オブジェクト指向言語と非オブジェクト指向言語を分けて評価しようということだよ。
384デフォルトの名無しさん
2012/09/26(水) 19:11:31.39385uy
2012/09/26(水) 19:42:31.79 うるさいしね
386デフォルトの名無しさん
2012/09/26(水) 20:33:55.44387デフォルトの名無しさん
2012/09/27(木) 01:37:25.44 >構造体表現がゴツくてこのコンテストの対象言語になり難いから
ゴツいの意味がわからんがね
ゴツいの意味がわからんがね
388uy
2012/09/29(土) 00:17:34.10 冗長って意味だよ
OO厨はそれが最善だと思ってるのかね
OO厨はそれが最善だと思ってるのかね
389デフォルトの名無しさん
2012/09/29(土) 19:48:43.28 http://toro.2ch.net/test/read.cgi/tech/1197720520/
ちんこの恥ずかしい過去スレ落ちた
ちんこの恥ずかしい過去スレ落ちた
390デフォルトの名無しさん
2012/09/30(日) 07:54:55.15 SmalltalkやEiffelなんかのオブジェクト指向言語と
オブジェクト指向をめざした「オブジェクト指向指向言語」を
分けるほうが先じゃないか。
オブジェクト指向をめざした「オブジェクト指向指向言語」を
分けるほうが先じゃないか。
391デフォルトの名無しさん
2012/09/30(日) 11:02:42.26 もっと一般化して、Lisp、Smalltalk、APL等々のようにスタイルの結晶化を実践した言語と、
COBOL、PL/1、Adaみたいに普通に機能の充実を目指した言語とをきちんと分けたほうが
よい気がする。前者は徹底の度合いで、後者も機能の取捨選択でその美しさを論じられる。
たとえばSmalltalkはメッセージングのOOを実践した言語だけど、クラス指向(抽象データ型)の
OOに汚染されているし、徹底度合いとしてなら Io http://www.iolanguage.com/ のほうが
美しい、とかいうふうに。
COBOL、PL/1、Adaみたいに普通に機能の充実を目指した言語とをきちんと分けたほうが
よい気がする。前者は徹底の度合いで、後者も機能の取捨選択でその美しさを論じられる。
たとえばSmalltalkはメッセージングのOOを実践した言語だけど、クラス指向(抽象データ型)の
OOに汚染されているし、徹底度合いとしてなら Io http://www.iolanguage.com/ のほうが
美しい、とかいうふうに。
392デフォルトの名無しさん
2012/10/03(水) 06:43:14.93393デフォルトの名無しさん
2012/10/03(水) 09:19:26.64394デフォルトの名無しさん
2012/10/03(水) 22:09:43.59 >>392
文法の美しさに反して汚いことしないと、いろいろと実装できないことがわかる
文法の美しさに反して汚いことしないと、いろいろと実装できないことがわかる
395デフォルトの名無しさん
2012/10/03(水) 23:39:23.28 俺様がC++で書いたコードが最も美しい。
396デフォルトの名無しさん
2012/10/04(木) 09:15:30.32 >>394
よく知らないんだけど ! は最初の実装にはなかったのかな
よく知らないんだけど ! は最初の実装にはなかったのかな
397デフォルトの名無しさん
2012/10/04(木) 09:33:41.35 >>396
伝説によると、カルメラウアはカナダのケベック州の研究所でqという
自然言語のトップダウン解析システムを自作し研究していた。
帰国と共にこれを持ち帰り使用しているうちに、引数評価の部分に
ユニフィケーションを加えれば、論理式がそのままプログラムとして
働く系を作ることができるのではないかということになり、案外簡単に
Prologが生まれた。
この話の雰囲気からは最初の実装ではカットにまで手を伸ばさなかった
のではないか。
伝説によると、カルメラウアはカナダのケベック州の研究所でqという
自然言語のトップダウン解析システムを自作し研究していた。
帰国と共にこれを持ち帰り使用しているうちに、引数評価の部分に
ユニフィケーションを加えれば、論理式がそのままプログラムとして
働く系を作ることができるのではないかということになり、案外簡単に
Prologが生まれた。
この話の雰囲気からは最初の実装ではカットにまで手を伸ばさなかった
のではないか。
398デフォルトの名無しさん
2012/10/28(日) 11:47:11.74 オブジェクト指向言語の変数(プロパティ)のget setの羅列が汚い
C#なんかもう自動生成だし本末転倒
本来はこんなのいらないように書くべきなんだよね
C#なんかもう自動生成だし本末転倒
本来はこんなのいらないように書くべきなんだよね
399デフォルトの名無しさん
2012/10/28(日) 14:15:45.46 publicなんか自動でプロパティになるべき
400デフォルトの名無しさん
2012/10/31(水) 17:13:25.24 C#の自動プロパティはViewとコードの分離のためだし
全部をコードビハインドで書いてる人には価値が分からないだろうな
全部をコードビハインドで書いてる人には価値が分からないだろうな
401デフォルトの名無しさん
2013/01/20(日) 18:47:21.19 これは圧倒的に
Pascal
Pascal
402デフォルトの名無しさん
2013/02/02(土) 20:29:00.01 やはりCかな
アセンブラに一番近いくせに、アセンブラ臭を完全に消し去っている
表現に無駄がないのに、何でもできてしまう
コンピュータが現在の仕組みである以上考えられる、最も自然な表現だ
ただし残念ながら、標準ライブラリは醜い部類にすら入る
ここを補完する方法が何かないかな
アセンブラに一番近いくせに、アセンブラ臭を完全に消し去っている
表現に無駄がないのに、何でもできてしまう
コンピュータが現在の仕組みである以上考えられる、最も自然な表現だ
ただし残念ながら、標準ライブラリは醜い部類にすら入る
ここを補完する方法が何かないかな
403デフォルトの名無しさん
2013/02/03(日) 06:58:25.12404デフォルトの名無しさん
2013/02/03(日) 09:27:36.88 C++の標準ライブラリは醜いだろ
405デフォルトの名無しさん
2013/02/03(日) 10:55:25.77 Lispかな
406デフォルトの名無しさん
2013/02/12(火) 11:21:13.32 Prolog
何にでも化けられる点は他の言語とは違う。軽くはないけど、自在。
何にでも化けられる点は他の言語とは違う。軽くはないけど、自在。
407デフォルトの名無しさん
2013/02/12(火) 19:07:52.48 そうか?
当時の PDP シリーズのインストラクションセットを,
んま仕様にして見ましたって, 雰囲気ありありなんだが… >初版 K&R
当時の PDP シリーズのインストラクションセットを,
んま仕様にして見ましたって, 雰囲気ありありなんだが… >初版 K&R
408デフォルトの名無しさん
2013/02/17(日) 02:50:24.25 Cはポインタを引数に渡して出力値を受け取れる、というか
複数の出力を受け取る手段がそれしかないというのが美しくない
複数の出力を受け取る手段がそれしかないというのが美しくない
409デフォルトの名無しさん
2013/02/17(日) 10:41:12.22410デフォルトの名無しさん
2013/02/17(日) 10:42:57.70 構造体使えよ
411デフォルトの名無しさん
2013/02/17(日) 10:55:25.29 ごほ、ごほ、こ、構造体、じ、自体を、か、返すことはできぬ、ぽ、ポインタを返すことで、ごほ、ごほ、結果を受け取ることは、>>408 と、ごほ、お、同じ、ごほごほ、ごほ
412デフォルトの名無しさん
2013/02/17(日) 11:07:35.84413デフォルトの名無しさん
2013/02/17(日) 11:09:17.69 >>412
ご、ごほごほ、おぬし、K&R1、を、し、知らぬのか、ごほごほごほ
ご、ごほごほ、おぬし、K&R1、を、し、知らぬのか、ごほごほごほ
414デフォルトの名無しさん
2013/02/17(日) 11:17:58.69 いまどきK&Rとか言ってる奴はCを語るな、この老害が
他言語はやれ「Ruby1.9なら」「Python3だと」「Java8は」とかやってるのに
C99やC11を無視してK&Rかよ
他言語はやれ「Ruby1.9なら」「Python3だと」「Java8は」とかやってるのに
C99やC11を無視してK&Rかよ
415デフォルトの名無しさん
2013/02/17(日) 11:20:22.83 K&Rを知らぬものにCは語れぬ、ボーヤは帰って寝んねしな
416デフォルトの名無しさん
2013/02/17(日) 12:54:31.69 まあUNIXが使いづらいのと同じ理由で、K&Rも使いづらかった
Linuxが出てきたのと同じように、Cも変な癖が取り除かれて今の姿になったって
Linuxが出てきたのと同じように、Cも変な癖が取り除かれて今の姿になったって
417デフォルトの名無しさん
2013/02/17(日) 16:38:27.70418デフォルトの名無しさん
2013/02/17(日) 19:07:53.27 >>417
おいおい、C++11 の右辺値参照をしらないのか?K&R2 の構造体リターンこそ黒歴史なんだぜ
おいおい、C++11 の右辺値参照をしらないのか?K&R2 の構造体リターンこそ黒歴史なんだぜ
419デフォルトの名無しさん
2013/02/17(日) 22:24:06.64420デフォルトの名無しさん
2013/02/18(月) 11:32:10.51 PrologにもISO標準規格があるけど、気に掛ける人はほとんどいない。
421デフォルトの名無しさん
2013/02/20(水) 08:35:46.67 Prologでグローバル変数使っている人いますか?
422デフォルトの名無しさん
2013/02/20(水) 11:31:39.39423デフォルトの名無しさん
2013/02/26(火) 08:50:14.54 このスレでLISPといった場合、処理系は何を思い浮かべるものですか?
424デフォルトの名無しさん
2013/02/27(水) 21:31:29.71 >>423
今時は common lisp かな
「LISP 系」って、なると話は変わるだろうけど、
scheme はある意味、伝統的な lisp と袂を分かった言語なので
scheme 使ってる奴らは scheme って言うだろうし…
今時は common lisp かな
「LISP 系」って、なると話は変わるだろうけど、
scheme はある意味、伝統的な lisp と袂を分かった言語なので
scheme 使ってる奴らは scheme って言うだろうし…
425デフォルトの名無しさん
2013/02/27(水) 22:20:43.93 >>424
このスレに限っていえば、Schemeだろう。Common Lispは全然美しくないから。
このスレに限っていえば、Schemeだろう。Common Lispは全然美しくないから。
426デフォルトの名無しさん
2013/02/28(木) 09:02:43.22 TIOBE INDEX では、Common Lisp, Scheme の他に単にLISPというのがあって、
これは上位(15位前後)に入っている。Common Lisp,Schemeはずっと下位。
この言語は具体的な処理系というより、イメージで「語られる」ことが多い
ということだろう。
これは上位(15位前後)に入っている。Common Lisp,Schemeはずっと下位。
この言語は具体的な処理系というより、イメージで「語られる」ことが多い
ということだろう。
427デフォルトの名無しさん
2013/02/28(木) 20:36:17.06 二番目に古い言語ですから
428デフォルトの名無しさん
2013/03/01(金) 09:27:40.24 >>427
ALGOLとどちらを古いとするか微妙ですね。
ALGOLとどちらを古いとするか微妙ですね。
429デフォルトの名無しさん
2013/03/06(水) 00:10:51.66 最も美しいプログラミング言語は? Perl6 に見えた。
430デフォルトの名無しさん
2013/03/06(水) 04:39:28.65 >>429
このスレの判断基準はそのくらいユニークでありたい。
このスレの判断基準はそのくらいユニークでありたい。
431デフォルトの名無しさん
2013/04/04(木) 15:15:53.33 ttp://akiradeveloper.hatenadiary.com/
ちんこhaskellやってるな
ちんこhaskellやってるな
432デフォルトの名無しさん
2013/04/18(木) 20:12:14.48 古代エジプト文字でプログラムを書けたら面白そう。
433デフォルトの名無しさん
2013/04/19(金) 18:17:51.41 ヒエログリフか
434デフォルトの名無しさん
2013/06/14(金) 18:26:58.45 機械語
ハード設計者の渾身の作であり
もっと評価されるべき
ハード設計者の渾身の作であり
もっと評価されるべき
435デフォルトの名無しさん
2013/06/15(土) 07:15:10.84 ニモニックも使わないという話?
436デフォルトの名無しさん
2013/06/15(土) 08:25:29.33 機械語はどのCPUも似たり寄ったりの癖に
微妙に違うのが美観を損ねている
統一規格できないもんかな
微妙に違うのが美観を損ねている
統一規格できないもんかな
439デフォルトの名無しさん
2013/06/17(月) 08:18:40.68 >>436
そのために生まれたのがコンパイルの概念でしょ
そのために生まれたのがコンパイルの概念でしょ
440デフォルトの名無しさん
2013/06/17(月) 09:28:46.85 >>439
少し違うみたい。
少し違うみたい。
441デフォルトの名無しさん
2013/06/17(月) 11:57:39.68 日本ではその昔、SIP という統一アセンブラみたいなものが作られたこともあったけどね。
後に続かなかったってことは無理があったんでしょう。
後に続かなかったってことは無理があったんでしょう。
442デフォルトの名無しさん
2013/06/17(月) 12:09:31.93 >>432
キリル文字とかギリシャ文字とかも面白そうだな
キリル文字とかギリシャ文字とかも面白そうだな
443デフォルトの名無しさん
2013/06/17(月) 12:16:52.96 ハードの特長を使い切るのが機械語の使命なんだから
統一・共通化するのはそれに反する
あえてやろうすればCの劣化版になるだけ
統一・共通化するのはそれに反する
あえてやろうすればCの劣化版になるだけ
444デフォルトの名無しさん
2013/06/17(月) 17:19:47.23 機械語にちょっと何か被せる程度だと
機械語レベルで直接操作できなくなるわ抽象化の恩恵がないわで、デメリットしかない
LLVMぐらいまでの水準まで上げないとダメだろうなあ
機械語レベルで直接操作できなくなるわ抽象化の恩恵がないわで、デメリットしかない
LLVMぐらいまでの水準まで上げないとダメだろうなあ
445デフォルトの名無しさん
2013/06/17(月) 19:10:08.24 >>443
>あえてやろうすればCの劣化版になるだけ
あえてやってみた
The C-- Language Specification
https://github.com/aistrate/Articles/blob/master/Haskell/The%20C--%20Language%20Specification%20(Ramsey,%20Peyton%20Jones,%20Lindig).pdf
>あえてやろうすればCの劣化版になるだけ
あえてやってみた
The C-- Language Specification
https://github.com/aistrate/Articles/blob/master/Haskell/The%20C--%20Language%20Specification%20(Ramsey,%20Peyton%20Jones,%20Lindig).pdf
446デフォルトの名無しさん
2013/06/17(月) 20:30:27.49 スタックを叩きたい、とか、Cを言語処理系の中間言語として使うには、明確に弱い点があったから、
それを補強するというアプローチは普通にありえた。
それを補強するというアプローチは普通にありえた。
447デフォルトの名無しさん
2013/06/18(火) 22:03:33.51 キャリーフラグやゼロフラグを普通に扱えたらいいのにね、あとローテート命令をサポートしてほしかったね
448デフォルトの名無しさん
2013/06/19(水) 02:00:23.50 インラインアセンブラとマクロを駆使すればライブラリの範囲で実現できるんじゃね
449デフォルトの名無しさん
2013/06/19(水) 02:01:13.02 辛いなーそれ
450デフォルトの名無しさん
2013/06/21(金) 10:31:44.70 最も美しいのはjavascriptだと思うんだけど
451デフォルトの名無しさん
2013/06/21(金) 11:19:39.99 >>450
確かに美は乱調にあり、だな。
確かに美は乱調にあり、だな。
452デフォルトの名無しさん
2013/06/22(土) 22:01:45.75 具体的には挙げないが、ドキュメント参照する頻度が少なくてすむ言語が一番いい
453デフォルトの名無しさん
2013/06/22(土) 22:18:16.03 有能なPGに自然言語か
ハワードヒューズあたりが愛用しそうだな
ハワードヒューズあたりが愛用しそうだな
454デフォルトの名無しさん
2013/06/22(土) 22:54:09.39 ドキュメント参照する頻度が少ない=機能が少ない
455デフォルトの名無しさん
2013/06/27(木) 00:13:09.68 俺みたいな有能な人間がコードを書くとC++がいちばん美しく見える。
456デフォルトの名無しさん
2013/06/27(木) 08:12:55.38 C++自体が美しくないから却下
457デフォルトの名無しさん
2013/06/27(木) 08:27:58.81 眼鏡を掛ければC++も美しくなるということか。
458デフォルトの名無しさん
2013/06/27(木) 11:05:49.21 めがねを取れば?じゃないの
459デフォルトの名無しさん
2013/06/28(金) 12:33:38.83 メガネっ娘
460デフォルトの名無しさん
2013/06/29(土) 00:17:54.24 >>459
かわいい男の娘ならなおよろし。
かわいい男の娘ならなおよろし。
461デフォルトの名無しさん
2013/06/29(土) 01:48:56.14 複雑な正規表現をあれほど書くなと言ったのに、てんこ盛りにしやがった・・・
あいつは俺に恨みでもあるのか?
あいつは俺に恨みでもあるのか?
462デフォルトの名無しさん
2013/06/29(土) 01:52:10.58 IF 条件 THEN → 臭ぁ〜い!
463デフォルトの名無しさん
2013/06/30(日) 20:46:54.48 書く方は楽で読む方に苦痛を強いる言語は美しくないよね
464デフォルトの名無しさん
2013/06/30(日) 21:28:47.13 APLか? 書いた本人が自爆する・・・俺も自爆した
465デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN 文字列処理を正規表現に頼っている言語は全部美しくない。
466デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN ねーよw
467デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN 文字コードの世界が既に美しくないので
文字列を少しでも処理すると美しくなくなるよね
文字列を少しでも処理すると美しくなくなるよね
468デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN なんのためのオブジェクト指向だよ
全部 String オブジェクトに押し込めちゃえばいいんだよ
全部 String オブジェクトに押し込めちゃえばいいんだよ
469デフォルトの名無しさん
2013/07/03(水) NY:AN:NY.AN >>465
漢字覚えるのが面倒だから全部カタカナにしようぜってことだな
漢字覚えるのが面倒だから全部カタカナにしようぜってことだな
470デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN その側面からコメントするなら、
「漢字の読み書きをできない人が大量にいるのだけどどうしよう」ということだろう。
「漢字の読み書きをできない人が大量にいるのだけどどうしよう」ということだろう。
471デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN なにいってんのコイツ
472デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN 正規表現読めません書けませんっていう「自称技術者」に対する揶揄じゃね?
473デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN >>470
素人は記号処理なんてやらないから別段構わないんじゃないか。
素人は記号処理なんてやらないから別段構わないんじゃないか。
474デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN 記号処理って正規表現と全く関係ない分野を指す用語なんだけど
475デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN プログラム内で正規表現を使うことは皆無だけど
それ以外の文書作業ではたまに使うな
それ以外の文書作業ではたまに使うな
476デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN477デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN GUIのリソース込みならXAMLとポインタを多用したC#との組み合わせが美しい。
478デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN >>476
生成文法とか正直わけわかめ
生成文法とか正直わけわかめ
479デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN480デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN481デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN オートマトンとか形式言語の分野を「記号処理」って言うんだっけ?
482デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN コンピュータの数値計算的な利用以外の領域を指す言葉だから、
離散系は一体に記号処理なんではないか。
離散系は一体に記号処理なんではないか。
483デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN 文字列っぽいデータの処理はストリング処理、
Lispが得意とするのはリスト処理。
それらを使ってS式みたいなデータを切った貼ったして、数式みたいなデータを
表現して処理するのが記号処理。
Lispが得意とするのはリスト処理。
それらを使ってS式みたいなデータを切った貼ったして、数式みたいなデータを
表現して処理するのが記号処理。
484デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN 記号処理は記号積分から発して、それでLISPが作られたのだから、
もっとずっと汎い概念だよ。長い間、記号処理=LISPだったんだから。
もっとずっと汎い概念だよ。長い間、記号処理=LISPだったんだから。
485デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN コンピュータの世界で記号と文字、文字列の区別なんてないだろう。
文字、文字列も当然記号。記号処理の対象となる。
文字、文字列も当然記号。記号処理の対象となる。
486デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN 諸氏の抽象化能力の差が見えてくるな。
487デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN 諸氏の抽象化能力の差が見えてくるな。
だっておーwww バンバンバン
だっておーwww バンバンバン
488デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN > 記号処理は記号積分から発して、それでLISPが作られた
はつみみです
はつみみです
489デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN490デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN >>488
すなぎもとそり、それとお銚子もう一本頼んます
すなぎもとそり、それとお銚子もう一本頼んます
491デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN まだ美しい言語の話してるの?
それなら Clean
それなら Clean
492デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN Bだろ
美
美
493デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN 味
494デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN 情報処理とは記号処理そのものでないの
数値だっておけらだって文字列だってみんなみんな記号なんだよ
数値だっておけらだって文字列だってみんなみんな記号なんだよ
495デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN 普通「記号処理」って言葉が指す範囲、というものがあるから
496デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN シニフィアンとシニフィエ
497デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.AN androidだとおもう。
簡単にいろんなことできるもん
簡単にいろんなことできるもん
498デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN >>495
数値処理も見方を変えれば記号処理っていうのが、LISPやPROLOG
数値処理も見方を変えれば記号処理っていうのが、LISPやPROLOG
499デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN500デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN 記号処理というか、チャーチ数とかを使えばなんだって同じ処理になるけど、
冗談言語か、純粋に研究目的以外で、そんな言語ないと思うぞ。
普通は、たとえば整数の計算は、コンピュータの加算命令にマッピングする。
ソースコードの 12345 という文字列も、見方を変えればただのワード、という
言語は Forth だけど(実行中に読み込みルーチンが認識する基数を変えられるので、
ソースコード中の同じ 12345 でも十進としても16進としても読ませることができる)。
冗談言語か、純粋に研究目的以外で、そんな言語ないと思うぞ。
普通は、たとえば整数の計算は、コンピュータの加算命令にマッピングする。
ソースコードの 12345 という文字列も、見方を変えればただのワード、という
言語は Forth だけど(実行中に読み込みルーチンが認識する基数を変えられるので、
ソースコード中の同じ 12345 でも十進としても16進としても読ませることができる)。
501デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN 整数の加算は、の間違い
502デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN >>498
X: 数値処理も見方を変えれば記号処理っていうのが、LISPやPROLOG
O: 数式処理は記号処理であるっていうのが、LISPやPROLOG
ここで言う数式処理というのは、因数分解や微分のように、
定理を適用して書き換えることで数式の簡略化を進める記号処理のこと。
FortranやCが主流な(一般には科学技術計算とよばれる)数値計算とはまったく異なる世界
X: 数値処理も見方を変えれば記号処理っていうのが、LISPやPROLOG
O: 数式処理は記号処理であるっていうのが、LISPやPROLOG
ここで言う数式処理というのは、因数分解や微分のように、
定理を適用して書き換えることで数式の簡略化を進める記号処理のこと。
FortranやCが主流な(一般には科学技術計算とよばれる)数値計算とはまったく異なる世界
503デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN そういう根本的な指摘をしちゃったら、ちまちま間違いを指摘する楽しみが無くなっちゃうじゃないw
504デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN 数式処理が記号処理なのは当たり前だろ
数値もそうだというのが今の論点
数値もそうだというのが今の論点
505デフォルトの名無しさん
2013/07/14(日) NY:AN:NY.AN >>502
> FortranやCが主流な(一般には科学技術計算とよばれる)数値計算
そんなこと言ったら MAXIMA とか mathematica とかの立場が…
チューニングすると大きな差ができるけど、そこらのアホの書いた
コードより早いわけだし…
> FortranやCが主流な(一般には科学技術計算とよばれる)数値計算
そんなこと言ったら MAXIMA とか mathematica とかの立場が…
チューニングすると大きな差ができるけど、そこらのアホの書いた
コードより早いわけだし…
506デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN どんな計算でもデジタルならANDとORとNOTの組み合わせで計算できるから、
それは論理演算だ、と主張しているようなもの。無意味で無理筋。
それは論理演算だ、と主張しているようなもの。無意味で無理筋。
507デフォルトの名無しさん
2013/07/15(月) NY:AN:NY.AN >>506
上の方の話は、3.14でも'3.14'で実は構わなくて、いちいち'3.14' -> 3.14と
変換してから計算するのでは堪らなく遅いから3.14を認めている、ということでは。
ただし、その計算部分は組込述語is/2に全て公理だとして押し込めた。
上の方の話は、3.14でも'3.14'で実は構わなくて、いちいち'3.14' -> 3.14と
変換してから計算するのでは堪らなく遅いから3.14を認めている、ということでは。
ただし、その計算部分は組込述語is/2に全て公理だとして押し込めた。
508デフォルトの名無しさん
2013/07/20(土) NY:AN:NY.AN html/css/js/
このあたりだろな
本のデザイン的にも
このあたりだろな
本のデザイン的にも
509デフォルトの名無しさん
2013/07/21(日) NY:AN:NY.AN 乱雑さとロジックの難しさは比例しないよね
悩ましい
悩ましい
510デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN >>506
AND と NOT だけでOK
量子アルゴリズム持ちだされると状況は変わるが
今んとこ, 内部で走ってるのは, 実質的にに論理演算じゃないのか,
インタプリタとかコンパイラってのは???
だから, インタプリタとかコンパイラってのは
「与えられた命題をどうやって AND と NOT に翻訳するか?」
が仕事.
問題は, アルゴリズムの記述方法で
「その記述形式で, どれだけ何でも簡潔に記述できるか?」
だと思ぞ
AND と NOT だけでOK
量子アルゴリズム持ちだされると状況は変わるが
今んとこ, 内部で走ってるのは, 実質的にに論理演算じゃないのか,
インタプリタとかコンパイラってのは???
だから, インタプリタとかコンパイラってのは
「与えられた命題をどうやって AND と NOT に翻訳するか?」
が仕事.
問題は, アルゴリズムの記述方法で
「その記述形式で, どれだけ何でも簡潔に記述できるか?」
だと思ぞ
511デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.AN 論理演算で表現できるということと、実質とは違うでしょ。
512デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN >>510
NORだけでじゅうぶんNANDだけでじゅうぶん
NORだけでじゅうぶんNANDだけでじゅうぶん
513デフォルトの名無しさん
2013/07/23(火) NY:AN:NY.AN > 「その記述形式で, どれだけ何でも簡潔に記述できるか?」
「簡潔」という俺様定義を使われても困る
「簡潔」という俺様定義を使われても困る
514デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN >>513
「美しい」より、大分ましなのでは。
「美しい」より、大分ましなのでは。
515デフォルトの名無しさん
2013/07/24(水) NY:AN:NY.AN 世の中にはPerlで無理やり短く書いて「簡潔」とか言ってるバカも多いからなぁ
516デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN コーディング中に「美しく書かなきゃ」と思わせてくれる点ではJavaだな
結局いくら言語自体がどうであれ、使用者達の空気感や
そういう部分で保守してくれないとあまり意味がない
結局いくら言語自体がどうであれ、使用者達の空気感や
そういう部分で保守してくれないとあまり意味がない
517デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN ただし、美しさのセンスがぶっこわれてるので
冗長なメソッド名とか付けて悦に入ってる奴多し
冗長なメソッド名とか付けて悦に入ってる奴多し
518デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN519デフォルトの名無しさん
2013/07/27(土) NY:AN:NY.AN 典型的な洗脳じゃん
520デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.AN >>518
>そう思わせてくれる点
標準APIというお手本があることがでかい
ここから書き方を学んでいる人のコードは見ればわかるよね
「あっこいつ標準APIのソースすらみてないなオープンソースなのに」ってのが言語使用者間で共有できる
世知がらいけど、糞コードを糞コードだと皆で認定しやすいのがJava
で、結局美しいコードとはいかに糞コードを書かずに一歩一歩進むかどうかにかかっている、
ということにも気づきやすい言語
>そう思わせてくれる点
標準APIというお手本があることがでかい
ここから書き方を学んでいる人のコードは見ればわかるよね
「あっこいつ標準APIのソースすらみてないなオープンソースなのに」ってのが言語使用者間で共有できる
世知がらいけど、糞コードを糞コードだと皆で認定しやすいのがJava
で、結局美しいコードとはいかに糞コードを書かずに一歩一歩進むかどうかにかかっている、
ということにも気づきやすい言語
521デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.AN あくまで「美しいプログラミング言語」が、生きたソースコードで判断されるならの話
522デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.AN 皆で認定の皆って誰だよ
そーゆー定量性を欠く議論(?)をするやつが出力するコードが
いったいどうやって糞でなくなりうるのか、隙のない論理構成を拝聴したいねえ
そーゆー定量性を欠く議論(?)をするやつが出力するコードが
いったいどうやって糞でなくなりうるのか、隙のない論理構成を拝聴したいねえ
523デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.AN >>520
>標準APIというお手本があることがでかい
標準API(ライブラリ?)であれば、今時はどの言語にも用意されている
もちろんどの言語でもその言語の特性を活かしたお手本だ
従って、それがJavaの優位性であるという主張には根拠が無い
>..... 糞コードを糞コードだと皆で認定しやすい
>..... ということにも気づきやすい言語
これも同様に、なぜ認定しやすいのか、なぜ気付きやすいのかについて
JavaのXXXXという仕掛けがあるからとか、Java APIがOOOOだからのように
「技術的な(=客観的な)視点で説明」ができないのなら、
洗脳(>>519)と言われてもしかたないのではなかろうか?
>標準APIというお手本があることがでかい
標準API(ライブラリ?)であれば、今時はどの言語にも用意されている
もちろんどの言語でもその言語の特性を活かしたお手本だ
従って、それがJavaの優位性であるという主張には根拠が無い
>..... 糞コードを糞コードだと皆で認定しやすい
>..... ということにも気づきやすい言語
これも同様に、なぜ認定しやすいのか、なぜ気付きやすいのかについて
JavaのXXXXという仕掛けがあるからとか、Java APIがOOOOだからのように
「技術的な(=客観的な)視点で説明」ができないのなら、
洗脳(>>519)と言われてもしかたないのではなかろうか?
524デフォルトの名無しさん
2013/07/30(火) NY:AN:NY.AN ありとあらゆる書き方を追求して、そうしながら自分のスタイルを
見つけ出すのが、良いプログラミングスタイルだと思う。その結果として
美しいプログラミングも発見できるのではないかな。
見つけ出すのが、良いプログラミングスタイルだと思う。その結果として
美しいプログラミングも発見できるのではないかな。
525デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN プログラミングスタイルを考えるのは楽しい
しかし究極に美しい言語がシンプルすぎてスタイルが一通りしかなかったらつまらないと思わないか?
まあステップ数よりもよい評価単位が生まれるメリットがあるがプログラマーはサボることができなくなる
しかし究極に美しい言語がシンプルすぎてスタイルが一通りしかなかったらつまらないと思わないか?
まあステップ数よりもよい評価単位が生まれるメリットがあるがプログラマーはサボることができなくなる
526デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN 機械語が一番美しいだろ
527デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN 機械語は美しくない
あれはとにかく動けばいいやくらいの勢いででっち上げたものだ
ハードの進化で洗練され極大値に収まってるだけ
あれはとにかく動けばいいやくらいの勢いででっち上げたものだ
ハードの進化で洗練され極大値に収まってるだけ
528デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN 全ての言語が機械語に逆らえないだろ
529デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN 30年前にタイムスリップしたいなら行ってらっしゃーい
530デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN プログラミング言語における美しさは、読みやすさだと思うんだ。
Javaは無駄にコードが延びる部分を以外は、読みやすくて好き
Javaは無駄にコードが延びる部分を以外は、読みやすくて好き
531デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN jsはパッと見が嫌いだが、Javaに習ってる点で将来性がある
Javaから遠い言語ほど汚い
Javaから遠い言語ほど汚い
532デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN python はいいかんじだと思うんだが
533デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN python は self がウザい
せめて @ とか一文字にまとめられないか
せめて @ とか一文字にまとめられないか
534デフォルトの名無しさん
2013/07/31(水) NY:AN:NY.AN Pyhtonはバランスのとれた優等生な手続き型スクリプト言語だと思うが、
1) 手続き型言語へ後付けでオブジェクト指向を中途半端に追加
2) 手続き型言語へ後付けで関数型を中途半端に追加
3) 中途半端なオフサイドルールである醜い行末の : (セミコロン)
を考えれば、「美しさ」の基準には当てはまらないと思う
実用言語として優秀とは言えるが....
1) 手続き型言語へ後付けでオブジェクト指向を中途半端に追加
2) 手続き型言語へ後付けで関数型を中途半端に追加
3) 中途半端なオフサイドルールである醜い行末の : (セミコロン)
を考えれば、「美しさ」の基準には当てはまらないと思う
実用言語として優秀とは言えるが....
535デフォルトの名無しさん
2013/08/01(木) NY:AN:NY.AN 流れとか全然無視してのアレだけど brain**** を初めて触ったときはなんか感動した
536デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.AN こういう醜いコードがtwitterに載っていた。
(defun chunker(list) (loop :for ptr :on list :by #'cddr :collect (list (car ptr) (cadr ptr))))
(defun chunker(list) (loop :for ptr :on list :by #'cddr :collect (list (car ptr) (cadr ptr))))
537デフォルトの名無しさん
2013/08/02(金) NY:AN:NY.AN >>536
美しすぎる
美しすぎる
538デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN Schemeな人には耐えられないだろうが、CLな人にとってループ使うのはなんの抵抗も無いしな。
539デフォルトの名無しさん
2013/10/19(土) 09:06:35.75 Jこそがもっとも美しい。
([ , >:)@:((2&(~:/\)@:* , 0:) # i.@:#)@:(2&{@:|:) ({"1) 2 0&{@:|:
([ , >:)@:((2&(~:/\)@:* , 0:) # i.@:#)@:(2&{@:|:) ({"1) 2 0&{@:|:
540デフォルトの名無しさん
2013/10/22(火) 10:30:51.52 で、これはどんな処理をするコードなの?
541デフォルトの名無しさん
2013/10/22(火) 14:21:20.38 喜怒哀楽の激しいコードだな
542デフォルトの名無しさん
2013/10/25(金) 09:11:31.24543デフォルトの名無しさん
2013/10/28(月) 00:44:35.78 (:-@)
544デフォルトの名無しさん
2013/10/28(月) 05:54:27.13 (;-@)ならJのコードなんだけどなw
545デフォルトの名無しさん
2013/11/03(日) 19:30:47.18 (´-`)
546デフォルトの名無しさん
2013/11/04(月) 06:59:49.44 |spelling error
| (´-`)
| ^
| (´-`)
| ^
547デフォルトの名無しさん
2014/01/30(木) 23:11:31.39 >>333
いやいや、phpの->と===はなかなか主張強いでっせ
いやいや、phpの->と===はなかなか主張強いでっせ
548デフォルトの名無しさん
2014/01/30(木) 23:43:46.22 PHPの === ってそんな主張のある仕様だっけ?
JavaScriptの == と === と同じで、== はあれこれ癖があるけど、=== は素直じゃなかったっけ?
JavaScriptの == と === と同じで、== はあれこれ癖があるけど、=== は素直じゃなかったっけ?
549デフォルトの名無しさん
2014/01/31(金) 09:21:23.55 >>548
他言語は==ですむところphpだと===まみれになるっていう意味ね
他言語は==ですむところphpだと===まみれになるっていう意味ね
550デフォルトの名無しさん
2014/01/31(金) 10:55:33.86 JavaScript が同じだし、単に慣れの問題じゃね?
文字列置換だとうまくないけど、トークンを認識するようなプリプロセッサで
== を全部 === に変えちゃうとかでも良いような、ごく表層レベルの話じゃん?
文字列置換だとうまくないけど、トークンを認識するようなプリプロセッサで
== を全部 === に変えちゃうとかでも良いような、ごく表層レベルの話じゃん?
551デフォルトの名無しさん
2014/02/03(月) 23:11:43.37 少なくとも美しくは無いわ
552デフォルトの名無しさん
2014/02/03(月) 23:58:39.50 審美的なこと言ったら代入という、意味が数学と違う方が = で、
等号が == というCの仕様も美しくない。
みんな慣れちゃってるけどさ。
等号が == というCの仕様も美しくない。
みんな慣れちゃってるけどさ。
554デフォルトの名無しさん
2014/02/04(火) 19:09:53.20556デフォルトの名無しさん
2014/02/04(火) 21:12:37.20 何を持って違うといってるんだ?
557デフォルトの名無しさん
2014/02/04(火) 21:30:08.53 違いの分かる男
ダバダー
ダバダー
558デフォルトの名無しさん
2014/02/04(火) 22:08:02.01 関係演算子の記号はそのままで
代入を分かり易くするとどんな記号?
int a <-- 10;
とか?
代入を分かり易くするとどんな記号?
int a <-- 10;
とか?
559デフォルトの名無しさん
2014/02/05(水) 01:37:39.55 APLやSmalltalkとかの古い言語だと代入には ← を使ってる。
http://cdn-ak.f.st-hatena.com/images/fotolife/f/fxrobot/20131123/20131123083529.png
http://cdn-ak.f.st-hatena.com/images/fotolife/s/sumim/20060121/20060121123538.png
最近のSmalltalk処理系では日和って := になっちゃたけど。
http://smalltalk.cincom.jp/tutorials/primers/libraries/images/fileHandling09.gif
http://2.bp.blogspot.com/_wbkiNwEGJQo/TOqAoTKNd1I/AAAAAAAAAfE/TfOMfrktiBU/s1600/WS000007.JPG
http://cdn-ak.f.st-hatena.com/images/fotolife/f/fxrobot/20131123/20131123083529.png
http://cdn-ak.f.st-hatena.com/images/fotolife/s/sumim/20060121/20060121123538.png
最近のSmalltalk処理系では日和って := になっちゃたけど。
http://smalltalk.cincom.jp/tutorials/primers/libraries/images/fileHandling09.gif
http://2.bp.blogspot.com/_wbkiNwEGJQo/TOqAoTKNd1I/AAAAAAAAAfE/TfOMfrktiBU/s1600/WS000007.JPG
560デフォルトの名無しさん
2014/02/05(水) 09:11:10.75 Rだと -> や <-
=も使えるけど。
=も使えるけど。
561デフォルトの名無しさん
2014/02/05(水) 10:08:15.82 >>559
ひよっても何も Smalltalk の := って C の trigraph みたいなもんだろ?
ひよっても何も Smalltalk の := って C の trigraph みたいなもんだろ?
563デフォルトの名無しさん
2014/02/05(水) 12:50:29.10 束縛変数と自由変数の違い?
564デフォルトの名無しさん
2014/02/07(金) 08:21:59.17 あるいはPASCALの(* *)みたいなもんだな。
565デフォルトの名無しさん
2014/02/11(火) 19:39:36.49 つか代入構文letでの記号なんだから問題ない
566デフォルトの名無しさん
2014/02/11(火) 20:40:17.42 箱モデルは良くないという点から考えると、
a → [1, 2, 3]
のほうが、a という変数が [1, 2, 3] というようなオブジェクトを指すようになりますよ、
という感じで良い。(という主張を見たことがある)
連想配列リテラルや、関数をあらわす型の記法と似てるのが弱点か。
a → [1, 2, 3]
のほうが、a という変数が [1, 2, 3] というようなオブジェクトを指すようになりますよ、
という感じで良い。(という主張を見たことがある)
連想配列リテラルや、関数をあらわす型の記法と似てるのが弱点か。
567デフォルトの名無しさん
2014/02/11(火) 20:52:56.17 >566
C言語の
int *pa = [1, 2, 3];
だね
ポインタ変数 pa へ配列インスタンスのアドレスを設定するイメージだから、
ポインタモデルとでも呼べばいいのかねぇ....
Cやアセンブリ言語の経験者ならばイメージしやすいから、
もしかすると好まれるかもしれない
C言語の
int *pa = [1, 2, 3];
だね
ポインタ変数 pa へ配列インスタンスのアドレスを設定するイメージだから、
ポインタモデルとでも呼べばいいのかねぇ....
Cやアセンブリ言語の経験者ならばイメージしやすいから、
もしかすると好まれるかもしれない
568デフォルトの名無しさん
2014/02/11(火) 22:13:20.67 むしろ低水準言語だけだよ、そんな風に明示的に書かなきゃ
なんないのは。高水準言語ではあたり前。
高水準言語では有名どころではPerlと、その影響を受けたごく一部の
変なのを別にすると、何らかの意図が無い限り、デリファレンスを
明示的に書かなければならない、なんて言語は無い。
なんないのは。高水準言語ではあたり前。
高水準言語では有名どころではPerlと、その影響を受けたごく一部の
変なのを別にすると、何らかの意図が無い限り、デリファレンスを
明示的に書かなければならない、なんて言語は無い。
569デフォルトの名無しさん
2014/02/11(火) 22:16:54.76 あともう一つ。てか、書いてから気付いた。
C言語のその記法は、宣言時の変な一貫性のためにそうなってるだけで、
本文中で「*pa = 」としたら、その場合だと 1 が入ってる所に代入されちゃうんだから、
ちょっと違うかな?
C言語のその記法は、宣言時の変な一貫性のためにそうなってるだけで、
本文中で「*pa = 」としたら、その場合だと 1 が入ってる所に代入されちゃうんだから、
ちょっと違うかな?
570デフォルトの名無しさん
2014/02/14(金) 00:22:02.41 代入より束縛のがエロいと思う
571デフォルトの名無しさん
2014/02/15(土) 00:34:14.29 束縛より緊縛のがエロいと思う
572デフォルトの名無しさん
2014/02/15(土) 18:12:30.90 緊縛より高融点、高融点より低融点のほうがエロいと思う
573デフォルトの名無しさん
2014/02/15(土) 18:24:08.44 彼氏の部屋にすごいHがあった。死にたい。
574デフォルトの名無しさん
2014/02/15(土) 18:45:29.87 H本に敗北して死ぬようじゃ3次元女も終わりだな。
575デフォルトの名無しさん
2014/02/15(土) 20:43:35.19 彼氏の部屋に豪華な C/hocoがあった。死にたい。
576デフォルトの名無しさん
2014/02/16(日) 09:39:26.09 最も美しいはC♯だな。ビジネスにはこれっきゃない!本格プログラマー言語C♯だけ!
578デフォルトの名無しさん
2014/02/16(日) 20:32:41.56 linqって息してるの?
579デフォルトの名無しさん
2014/02/16(日) 20:46:20.04 久々にジャンプを立ち読みしたら、トラブルが、すごい闇に包まれてた...
580デフォルトの名無しさん
2014/02/19(水) 21:53:48.07 Clojureのコード見てからJavaのコード見ると発狂しそうになる
581デフォルトの名無しさん
2014/03/04(火) 20:44:15.06582デフォルトの名無しさん
2014/03/05(水) 11:29:11.11 イミフ
583デフォルトの名無しさん
2014/03/08(土) 15:58:51.95 C#はCの汚いアナルに綺麗な膜をかぶせることに性交してるよ
汚いが美しいという見方もある
汚いが美しいという見方もある
584デフォルトの名無しさん
2014/04/27(日) 23:04:32.73ID:dRMpu4rZ >>583
御説お下劣だが美しいね
御説お下劣だが美しいね
585デフォルトの名無しさん
2014/08/02(土) 11:48:53.42ID:i6l5bmvU 一方 VC++ は、マネージドコードサポートのため一層汚く
586デフォルトの名無しさん
2014/09/30(火) 21:37:50.50ID:G6aGp7iQ 今でも、そう思うの?
587デフォルトの名無しさん
2014/10/11(土) 18:54:40.43ID:+4QBUQUg FL
588デフォルトの名無しさん
2014/10/16(木) 19:00:25.53ID:7O3aHiya >>1-1000 以外の言語
589デフォルトの名無しさん
2014/10/28(火) 02:29:45.58ID:F9KmtOQp 588 `elem` [1 .. 1000]
590デフォルトの名無しさん
2015/06/02(火) 15:53:00.09ID:lljA9Urj てst
591デフォルトの名無しさん
2015/11/29(日) 10:11:35.71ID:MKVNQtc6 今でも、そう思う
592デフォルトの名無しさん
2015/12/12(土) 18:44:06.54ID:wmhivGOJ >>1
マシン語
マシン語
593デフォルトの名無しさん
2015/12/22(火) 22:30:20.87ID:dcnJqdSJ 日本語ベーシック
594デフォルトの名無しさん
2016/01/19(火) 23:12:17.22ID:tKRLK4u8 省略記号が多く、機能となるシンボルが隠蔽された新機能だらけで
実装がころころ変わってゆく言語、追加学習だけで外部依存ばかりで
コードが少なければそれが正解だとしちゃった言語
以外の存在
実装がころころ変わってゆく言語、追加学習だけで外部依存ばかりで
コードが少なければそれが正解だとしちゃった言語
以外の存在
595デフォルトの名無しさん
2016/05/29(日) 15:06:47.92ID:YOAqcJ8s プログラミング言語の美しさは
成果物の美しさで測られるべきではないか?
記述が煩雑でも実際に機能的な物が作れるってのは美しい事だと思うよ
成果物の美しさで測られるべきではないか?
記述が煩雑でも実際に機能的な物が作れるってのは美しい事だと思うよ
596デフォルトの名無しさん
2016/07/23(土) 20:41:58.43ID:K/hEThar じゃあPerlで良いってこと?
597デフォルトの名無しさん
2016/10/27(木) 00:49:24.50ID:NUW53kOg うごけばいいんだよ。美しいとか関係あるの?
598デフォルトの名無しさん
2016/10/27(木) 08:08:19.53ID:RBAQUZqx 使うだけの人とお守りをする人が交わることは永遠にないな
599デフォルトの名無しさん
2016/10/27(木) 09:28:25.63ID:NUW53kOg 可読性とかメンテナンス性の優劣を言ってるのか?
完璧主義だといつまでも完成しない。
パッチでがんばれるかどうかが才能である。
完璧主義だといつまでも完成しない。
パッチでがんばれるかどうかが才能である。
600デフォルトの名無しさん
2016/11/01(火) 21:36:45.94ID:ZyoCt4C3 おい、2ch過疎ってんじゃねーよwwwwwwwwwwww
2chオワコンwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
2chオワコンwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
601デフォルトの名無しさん
2017/02/11(土) 18:27:30.51ID:2PZ2/Gs1■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- おはようございます [577451214]
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
