1read 100read
2011年10月1期プログラム最も美しいプログラミング言語は? Part6
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
floatを5バイトにして、doubleを9バイトにしないの どうして何もやましいことがないのに隠ぺいするのか プログラミングを始めたいんだけど、 ベクター画像プログラミング
最も美しいプログラミング言語は? Part6
1 :10/03/23 〜 最終レス :11/11/06 最も美しいプログラミング言語を語れ 前スレ http://pc12.2ch.net/test/read.cgi/tech/1262707694/
2 : ↑天才pンジーのアイちゃん ↓天才pンジーのアイちゃん
3 : 前スレではC#が圧倒的優勢でしたが他の言語も負けないでください。 特に Python は危機的です、もっと頑張りましょう!
4 : 美しく書かれたソースを貼ると効果的です
5 : じゃあ Quine を。
6 : Whitespace
7 : とりあえずC、python、lisp等のみたいな美しい言語について語るスレです 排他的なC#は論外です
8 : CやPythonのどこが美しいのかわからん Lisp-2は#'だのfuncallだのが関数型言語として見ると鬱陶しくキモい C#が排他的だとして、それが言語の美しさと何の関係があるのかもさっぱり分からん
9 : じゃあどんな言語が美しいというの言ってみろ。 批判だけして、自分の意見を言わずに逃げるのは卑怯だろ。
10 : Haskell Forth Prolog Scheme
11 : J
12 : ,―ヽ_(((((_、― ,/ ノ ヽ ~\ / ノ IPA ヽ ~\ / ノ ヽ、 `ヽ | ノ / ̄\ / ̄~ヽ ヽ i | ノ | ノ \ | <●> <●> ( ) \ | | | i / | / ヽ レ i (●_●) / i、 ,-――-、 ・ / i、 <(EEEEE)> ∵/ IPA Ruby最高、他は糞。 i、 \ ./ / \ ーー ,ノ ,,.....イ.ヽヽ、ー-―一ノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i |
13 : >>12 お引取りください
14 : VB6は美しい。
15 : 前スレ最後の話題。 慣れを排除した上で 「書いたコードが読みやすい」 「他人が見ても内容が理解しやすい」 という言語は、結局どれなんだろう?
16 : 自分が書きやすい言語に、ソースにコメントを添えた方が何より楽。
17 : 慣れを排除すると、C++とperlが脱落
18 : perlは入門書の最初とかで 「perlならこんな長文がこんなに短くかけますよ」的な記述をみて 理解できなくてやめた奴いると思うんだけど おれがそうだった 今なら分かるかもしれんがプログラム覚えたてのときに見るのはつらい。 可読性って意味では最悪だとおもう
19 : 直感で理解できない記号が大量に出てくる言語はダメだな
20 : APLのことか
21 : APLまでいくと、別世界。 たぶん、ネイティブには、プログラムの記述に英単語を使うというのは、直観的ではないんだろう。 日本語BASICは、何が悪いというわけでもないのに、キモかった。
22 : awkはCと同じ記号を使ったが、perlはshと同じ記号を使った、という印象がある
23 : ここで言われる「読みやすい」は、「美しい」と同等の意味を持つのか?
24 : パラメーターだよ
25 : >>23 俺はスレタイとは全然別の質問だと思ってるけど
26 : >>23 同等ではなく、 「読みやすい」は「美しい」を満たす条件の一つ だと思うよ。
27 : 文法は言語の機能だと思う。 だから、読みやすいプログラムを書けるような文法を備えた言語は 美しい機能を持っていると言えるのではないかと思う。
28 : >>27 文法が機能だとしたらどうして 「読みやすい」が「美しい」になるの? まったく意味不明。
29 : 読みやすさと美しさには特に相関が無い気がするな 前スレで出てたがCOBOLは誰が書いても同じようなコードになり 英文に近いという意味で「読みやすい」と言える が、プログラミング言語として「美しい」というのとは違うと思う
30 : 美しいよりかわいい言語に興味があるんだけど。
31 : ほう、かわいい言語とな
32 : tinyなんとかっていうのは、かわいいとも言える
33 : TL/1萌え
34 : 美しいプログラミング言語ってのはなくて、美しく書けるプログラミング言語だけがある どう頑張っても無理なのはたとえばBASICとか
35 : 全くの素人の女の子だったら、 ruby か perl が美しそうって言うだろう。 おっさんだったら俺はCだなとか言いそう。あ、これは関係ないか。
36 : BASICできれいなプログラムがかけないといっているやつは、能力が低い。
37 : >>36 そうそう。大昔だけど、 BASICのコードは、Cを知ってるプログラマとBASICオンリーのプログラマが書のとでは、 天と地の差があったよ。
38 : >>36 一口にBASICといっても、いろいろある。 モダンとクラシックは別物なので、 きちんと区別するべき。
39 : 昔のBASICがスタックマシンでないインタプリタであることを考えると、非常に優れた設計。
40 : 子供の頃はGOTO文とGOSUB文の違いに対する意識が希薄だった。 雑誌の投稿プログラムが手本だったのでスパゲティに疑問を抱かなかった。
41 : >>39 PCに内蔵されてて電源入れるだけで使えた。 今思うとこれも凄い。 OSはないのにBASICだけはあったw
42 : >>40 あーわかるわかるw
43 : >>40 I/Oとかの記事でPascalやLispも齧ってたから 構造化は意識してたっけ >>41 8bitBASICはそれ自体がOSみたいなものでもあったからな
44 : Haskellが最もふつくしひ
45 : 今も昔もBASICはスタックマシンじゃないだろ。 それにひどく昔のTinyBASIC(たとえば東京版TinyBASIC)でもスタックは内部で使ってるぞ?
46 : 10 print"Hello world!" これが最初の一歩だという人が多いのでは。
47 : >>46 ちがうよ 10 PRINT "baka " 20 GOTO 10 を電気屋のパソコンで実行するのが第一歩だよ。
48 : BASICはスタックを使ってるよ。 スタックがなければZ80のCALLステートメントすら動かないよ。
49 : スタックを使う><スタックマシン
50 : >>46 それはない。 この時代はC言語やK&L本が認知されるより前だよ。
51 : >>47 いや 10 PRINT "baka "; 20 GOTO 10 でしょw
52 : >>50 K&Rだよ 一般人使えるようになったのは、 BASICはFD装置が出る前だし、C言語はFD装置が必須だったな。
53 : C#やJavaのコードは最終的にはスタックマシンの上で実行される。
54 : >>53 仮想マシンなんだから最終という言い方は×
55 : >>53 CLRもスタックマシンだったっけ? 違うと思ってたが。
56 : >>47 おもわずわろた それだ
57 : あ、51な。w
58 : デバガでおえばわかるけC# はすぐにネイティブコードになっちゃうぞ
59 : 美しいプログラミング言語には、マクロ、つまり実行前にプログラムを書き換える機能はあった方がいいのかな? それとも、ない方がいいのかな?
60 : >>58 すぐじゃないだろ。少なくとも実行後にしかネィティブコードはにならい。
61 : >>60 実行前だろ
62 : >>61 コンパイラはネイティブコードを吐いたりしない。 実行後にネイティブコードに変換されんだよ。 常識だぞこんなこと。
63 : 実行の意味が違う。また、その意味ではngenを使った場合を説明していない
64 : >>63 ngen にしたってすぐじゃないだろ。 インストール時か最初の実行時であって、コンパイル時でないことは明白。 けど ngen の話になるんだ? それもと「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。 ngen ってただのキャッシュだよ。根本的なこと勘違いしてんじゃね?
65 : けど ngen の話になるんだ? それもと「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。 →けどどうして ngen の話になるんだ? →それとも「すぐに」というのは ngen 使うから「すぐに」と言いたかったのか。
66 : >>59 必要、もしくは無いほうがいいと俺は思う。
67 : トークンを置換するプリプロセッサマクロと、 構文木を変形するいわゆるLispのマクロは、一絡げにできないだろう
68 : >>67 Lispとかもとから対象外だし
69 : Lispのよさが理解できない人発見
70 : 初カキコだがweb に特化すれば php, perl, java は美しい。 それぞれの言語でサイト作った感想から言えば、 phpはどんな環境でもそれなりに動くという点で美しい。 それこそ月300円の鯖にでも納品できる。 スレ的な美しさとは違うだろうが、これも言語仕様による 美しさだと思うがな。 個人的に一番好きなのはPerlだったりするが。 力技が一番効く言語だと思うし。なんでもあり。
71 : 10年ROMってろ。
72 : 多分一生わからんのだろ
73 : >>70 >初カキコだがweb に特化すれば php, perl, java は美しい。 自分が使ったことのある言語を羅列してるだけだろ。 クライアントとサーバーサイドの違いを認識しているのかも怪しい。
74 : 春だから仕方ない
75 : >>60-65 実行前 xxx.exe return 実行後 実行前 xxx.exe 実行後 return xxx.exe 実行前 実行後 return xxx.exe 実行前 実行 return 実行後 一体どれのことを言ってるんだ
76 : >>53 の「最終的にスタックマシンで実行される」に対して 実行時にはネイティブコードだよ出来なことを言ったつもりだった。 IL インタプリタなんかウォッチ式を評価するとき位しか使われないよね。
77 : Haskellの勉強を始めたんだけど、遅延評価は美しいと思った。
78 : >>76 純粋なILインタプリタかJITコンパイルするかはVMの実装の問題だからね
79 : 中間コード⇒ネイティブ って最適化されてるん? まさか中間コードを置き換えただけってことはないよね
80 : 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 を変換し、その結果生成されたネイティブ コードを保存して、以降の呼び出しで利用できるようにしておきます。
81 : >>64 http://msdn.microsoft.com/ja-jp/library/ht8ecch6.aspx ネイティブ イメージ ジェネレータ (Ngen.exe) を使用して、 JIT コンパイラと同様に MSIL アセンブリをネイティブ コードに変換します。 ただし、Ngen.exe の動作は、以下の 3 つの点で JIT コンパイラの動作と異なります。 ・MSIL からネイティブ コードへの変換を、アプリケーション実行中ではなく、実行前に行います。 ・メソッドを 1 つずつではなく、アセンブリ全体を一度にコンパイルします。 ・生成したコードを、ディスク上のファイルとしてネイティブ イメージ キャッシュに保持します。
82 : はじめからネイティブコンパイルすりゃいいのに
83 : >>79 getter, setterをインライン展開するぐらいには最適化する。デバッガ上で実行すると最適化しないので、誤解をしている人もいるけど。
84 : 最近Haskellが美しく感じられてきた
85 : いいことじゃないか
86 : 止まったね
87 : も別の所で遊んでるしな
88 : Haskellはflipとかポイントフリースタイルとかそういうのをやんなければ かなり読みやすい部類だと思うぜ 簡潔なラムダとか関数適用演算子とかは他の言語にも欲しい
89 : flip はまぁ分かるが、Haskell のポイントフリースタイルは 冗長な記述が省かれて読みやすくなる場合も結構あるぞ。 たとえば演算子をリフトアップで定義する場合。 instance (Num a) => Num (Hoge a) where (+) = liftA2 (+) この場合 (+) x y = liftA2 (+) x y なんて冗長で、 こんな定義が何行も続くとかえって読みにくいだろ。
90 : Scalaは?
91 : Scala?ないない
92 : Simplicityは必要条件だな。
93 : >>91 友人がメッチャScalaュしてくるんだけど、どう断れば良いか 分からん。(興味無いとか、ピンと来ないとか言ってはいるんだが) ちなみにおいらはLisperで最近Haskellに手を染め始めたところ 友人はPerl使い。 なんかビシッと言う方法無い?
94 : >>93 「俺、副作用が嫌いなんだよね」
95 : 「Javaな人とはお付き合いできません!」とか
96 : >>93 Scalaって欲張り過ぎでしょ 二兎を追う者一兎も得ず
97 : 美しいプログラミング言語 = 実用性がない っていうと、みんな怒っちゃう?
98 : ああ機械語は0と1だけで単純かつ美しいが実用性はないよな
99 : "Everything should be made as simple as possible, but no simpler." -- Albert Einstein
100read 1read 1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
floatを5バイトにして、doubleを9バイトにしないの どうして何もやましいことがないのに隠ぺいするのか プログラミングを始めたいんだけど、 ベクター画像プログラミング