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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2010/03/23(火) 16:44:08
最も美しいプログラミング言語を語れ

前スレ
http://pc12.2ch.net/test/read.cgi/tech/1262707694/
496デフォルトの名無しさん
垢版 |
2013/07/13(土) NY:AN:NY.AN
シニフィアンとシニフィエ
497デフォルトの名無しさん
垢版 |
2013/07/13(土) NY:AN:NY.AN
androidだとおもう。
簡単にいろんなことできるもん
2013/07/14(日) NY:AN:NY.AN
>>495
数値処理も見方を変えれば記号処理っていうのが、LISPやPROLOG
2013/07/14(日) NY:AN:NY.AN
>>498
Prologは確かに組込述語isに数値演算を閉じ込めているが
LISPはどう考えたらよいのだろうか?
2013/07/14(日) NY:AN:NY.AN
記号処理というか、チャーチ数とかを使えばなんだって同じ処理になるけど、
冗談言語か、純粋に研究目的以外で、そんな言語ないと思うぞ。

普通は、たとえば整数の計算は、コンピュータの加算命令にマッピングする。

ソースコードの 12345 という文字列も、見方を変えればただのワード、という
言語は Forth だけど(実行中に読み込みルーチンが認識する基数を変えられるので、
ソースコード中の同じ 12345 でも十進としても16進としても読ませることができる)。
2013/07/14(日) NY:AN:NY.AN
整数の加算は、の間違い
2013/07/14(日) NY:AN:NY.AN
>>498
X: 数値処理も見方を変えれば記号処理っていうのが、LISPやPROLOG
O: 数式処理は記号処理であるっていうのが、LISPやPROLOG

ここで言う数式処理というのは、因数分解や微分のように、
定理を適用して書き換えることで数式の簡略化を進める記号処理のこと。
FortranやCが主流な(一般には科学技術計算とよばれる)数値計算とはまったく異なる世界
2013/07/14(日) NY:AN:NY.AN
そういう根本的な指摘をしちゃったら、ちまちま間違いを指摘する楽しみが無くなっちゃうじゃないw
2013/07/14(日) NY:AN:NY.AN
数式処理が記号処理なのは当たり前だろ
数値もそうだというのが今の論点
2013/07/14(日) NY:AN:NY.AN
>>502
> FortranやCが主流な(一般には科学技術計算とよばれる)数値計算
そんなこと言ったら MAXIMA とか mathematica とかの立場が…
チューニングすると大きな差ができるけど、そこらのアホの書いた
コードより早いわけだし…
2013/07/15(月) NY:AN:NY.AN
どんな計算でもデジタルならANDとORとNOTの組み合わせで計算できるから、
それは論理演算だ、と主張しているようなもの。無意味で無理筋。
2013/07/15(月) NY:AN:NY.AN
>>506
上の方の話は、3.14でも'3.14'で実は構わなくて、いちいち'3.14' -> 3.14と
変換してから計算するのでは堪らなく遅いから3.14を認めている、ということでは。
ただし、その計算部分は組込述語is/2に全て公理だとして押し込めた。
508デフォルトの名無しさん
垢版 |
2013/07/20(土) NY:AN:NY.AN
html/css/js/

このあたりだろな
本のデザイン的にも
2013/07/21(日) NY:AN:NY.AN
乱雑さとロジックの難しさは比例しないよね
悩ましい
2013/07/22(月) NY:AN:NY.AN
>>506
AND と NOT だけでOK

量子アルゴリズム持ちだされると状況は変わるが
今んとこ, 内部で走ってるのは, 実質的にに論理演算じゃないのか,
インタプリタとかコンパイラってのは???

だから, インタプリタとかコンパイラってのは
「与えられた命題をどうやって AND と NOT に翻訳するか?」
が仕事.

問題は, アルゴリズムの記述方法で
「その記述形式で, どれだけ何でも簡潔に記述できるか?」
だと思ぞ
2013/07/22(月) NY:AN:NY.AN
論理演算で表現できるということと、実質とは違うでしょ。
2013/07/23(火) NY:AN:NY.AN
>>510
NORだけでじゅうぶんNANDだけでじゅうぶん
2013/07/23(火) NY:AN:NY.AN
> 「その記述形式で, どれだけ何でも簡潔に記述できるか?」

「簡潔」という俺様定義を使われても困る
2013/07/24(水) NY:AN:NY.AN
>>513
「美しい」より、大分ましなのでは。
2013/07/24(水) NY:AN:NY.AN
世の中にはPerlで無理やり短く書いて「簡潔」とか言ってるバカも多いからなぁ
2013/07/27(土) NY:AN:NY.AN
コーディング中に「美しく書かなきゃ」と思わせてくれる点ではJavaだな
結局いくら言語自体がどうであれ、使用者達の空気感や
そういう部分で保守してくれないとあまり意味がない
2013/07/27(土) NY:AN:NY.AN
ただし、美しさのセンスがぶっこわれてるので
冗長なメソッド名とか付けて悦に入ってる奴多し
2013/07/27(土) NY:AN:NY.AN
>>516
そう思わせてくれる点を説明できないのなら、
あいまいな「美しさ」という評価基準と同じ

ただ「そう思わないとやってられない」のが
Javaだという点は、大いに同意したい
519デフォルトの名無しさん
垢版 |
2013/07/27(土) NY:AN:NY.AN
典型的な洗脳じゃん
2013/07/30(火) NY:AN:NY.AN
>>518
>そう思わせてくれる点

標準APIというお手本があることがでかい
ここから書き方を学んでいる人のコードは見ればわかるよね
「あっこいつ標準APIのソースすらみてないなオープンソースなのに」ってのが言語使用者間で共有できる
世知がらいけど、糞コードを糞コードだと皆で認定しやすいのがJava
で、結局美しいコードとはいかに糞コードを書かずに一歩一歩進むかどうかにかかっている、
ということにも気づきやすい言語
2013/07/30(火) NY:AN:NY.AN
あくまで「美しいプログラミング言語」が、生きたソースコードで判断されるならの話
522デフォルトの名無しさん
垢版 |
2013/07/30(火) NY:AN:NY.AN
皆で認定の皆って誰だよ

そーゆー定量性を欠く議論(?)をするやつが出力するコードが
いったいどうやって糞でなくなりうるのか、隙のない論理構成を拝聴したいねえ
2013/07/30(火) NY:AN:NY.AN
>>520
>標準APIというお手本があることがでかい

標準API(ライブラリ?)であれば、今時はどの言語にも用意されている
もちろんどの言語でもその言語の特性を活かしたお手本だ
従って、それがJavaの優位性であるという主張には根拠が無い

>..... 糞コードを糞コードだと皆で認定しやすい
>..... ということにも気づきやすい言語

これも同様に、なぜ認定しやすいのか、なぜ気付きやすいのかについて
JavaのXXXXという仕掛けがあるからとか、Java APIがOOOOだからのように
「技術的な(=客観的な)視点で説明」ができないのなら、
洗脳(>>519)と言われてもしかたないのではなかろうか?
2013/07/30(火) NY:AN:NY.AN
ありとあらゆる書き方を追求して、そうしながら自分のスタイルを
見つけ出すのが、良いプログラミングスタイルだと思う。その結果として
美しいプログラミングも発見できるのではないかな。
2013/07/31(水) NY:AN:NY.AN
プログラミングスタイルを考えるのは楽しい
しかし究極に美しい言語がシンプルすぎてスタイルが一通りしかなかったらつまらないと思わないか?
まあステップ数よりもよい評価単位が生まれるメリットがあるがプログラマーはサボることができなくなる
2013/07/31(水) NY:AN:NY.AN
機械語が一番美しいだろ
527デフォルトの名無しさん
垢版 |
2013/07/31(水) NY:AN:NY.AN
機械語は美しくない
あれはとにかく動けばいいやくらいの勢いででっち上げたものだ
ハードの進化で洗練され極大値に収まってるだけ
2013/07/31(水) NY:AN:NY.AN
全ての言語が機械語に逆らえないだろ
529デフォルトの名無しさん
垢版 |
2013/07/31(水) NY:AN:NY.AN
30年前にタイムスリップしたいなら行ってらっしゃーい
2013/07/31(水) NY:AN:NY.AN
プログラミング言語における美しさは、読みやすさだと思うんだ。

Javaは無駄にコードが延びる部分を以外は、読みやすくて好き
531デフォルトの名無しさん
垢版 |
2013/07/31(水) NY:AN:NY.AN
jsはパッと見が嫌いだが、Javaに習ってる点で将来性がある
Javaから遠い言語ほど汚い
2013/07/31(水) NY:AN:NY.AN
python はいいかんじだと思うんだが
2013/07/31(水) NY:AN:NY.AN
python は self がウザい
せめて @ とか一文字にまとめられないか
2013/07/31(水) NY:AN:NY.AN
Pyhtonはバランスのとれた優等生な手続き型スクリプト言語だと思うが、
1) 手続き型言語へ後付けでオブジェクト指向を中途半端に追加
2) 手続き型言語へ後付けで関数型を中途半端に追加
3) 中途半端なオフサイドルールである醜い行末の : (セミコロン)
を考えれば、「美しさ」の基準には当てはまらないと思う

実用言語として優秀とは言えるが....
2013/08/01(木) NY:AN:NY.AN
流れとか全然無視してのアレだけど brain**** を初めて触ったときはなんか感動した
2013/08/02(金) NY:AN:NY.AN
こういう醜いコードがtwitterに載っていた。
(defun chunker(list) (loop :for ptr :on list :by #'cddr :collect (list (car ptr) (cadr ptr))))
2013/08/02(金) NY:AN:NY.AN
>>536
美しすぎる
2013/08/05(月) NY:AN:NY.AN
Schemeな人には耐えられないだろうが、CLな人にとってループ使うのはなんの抵抗も無いしな。
2013/10/19(土) 09:06:35.75
Jこそがもっとも美しい。

([ , >:)@:((2&(~:/\)@:* , 0:) # i.@:#)@:(2&{@:|:) ({"1) 2 0&{@:|:
2013/10/22(火) 10:30:51.52
で、これはどんな処理をするコードなの?
2013/10/22(火) 14:21:20.38
喜怒哀楽の激しいコードだな
2013/10/25(金) 09:11:31.24
>>540
周波数-位相特性(をサンプルした配列)から位相0の周波数を推定する関数

だったと思う。
2013/10/28(月) 00:44:35.78
(:-@)
2013/10/28(月) 05:54:27.13
(;-@)ならJのコードなんだけどなw
2013/11/03(日) 19:30:47.18
(´-`)
2013/11/04(月) 06:59:49.44
|spelling error
| (´-`)
| ^
2014/01/30(木) 23:11:31.39
>>333
いやいや、phpの->と===はなかなか主張強いでっせ
2014/01/30(木) 23:43:46.22
PHPの === ってそんな主張のある仕様だっけ?

JavaScriptの == と === と同じで、== はあれこれ癖があるけど、=== は素直じゃなかったっけ?
2014/01/31(金) 09:21:23.55
>>548
他言語は==ですむところphpだと===まみれになるっていう意味ね
2014/01/31(金) 10:55:33.86
JavaScript が同じだし、単に慣れの問題じゃね?

文字列置換だとうまくないけど、トークンを認識するようなプリプロセッサで
== を全部 === に変えちゃうとかでも良いような、ごく表層レベルの話じゃん?
2014/02/03(月) 23:11:43.37
少なくとも美しくは無いわ
2014/02/03(月) 23:58:39.50
審美的なこと言ったら代入という、意味が数学と違う方が = で、
等号が == というCの仕様も美しくない。

みんな慣れちゃってるけどさ。
2014/02/04(火) 19:05:32.30
むしろ代入も等号も方程式も恒等式もみ〜んな '=' ですましている数学のほうがどうかと
2014/02/04(火) 19:09:53.20
>>553
使用する局面によって別の記号を使ってるし
原則, 数学の "=" 記号は代入ではなくて等値を示す記号だし
2014/02/04(火) 19:23:04.15
>>554
そう?微分方程式に現れる = って普通の方程式の = と違うのにしれっと混在してたりしない?≡に書きわけるなんてみたことないなあ‥
「Σのi=1から10まで」って、どう考えても代入だし
2014/02/04(火) 21:12:37.20
何を持って違うといってるんだ?
2014/02/04(火) 21:30:08.53
違いの分かる男
ダバダー
2014/02/04(火) 22:08:02.01
関係演算子の記号はそのままで
代入を分かり易くするとどんな記号?

int a <-- 10;

とか?
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
2014/02/05(水) 09:11:10.75
Rだと -> や <-
=も使えるけど。
2014/02/05(水) 10:08:15.82
>>559
ひよっても何も Smalltalk の := って C の trigraph みたいなもんだろ?
2014/02/05(水) 12:41:38.37
>>556
x = 2 「であるのか」、x = 2 「にするのか」
あと f(x)=0 「である瞬間を捉えるのか」、f'(x)=0 「に常になっているとき」を考えるのか

変えたいいと思うな
2014/02/05(水) 12:50:29.10
束縛変数と自由変数の違い?
2014/02/07(金) 08:21:59.17
あるいはPASCALの(* *)みたいなもんだな。
2014/02/11(火) 19:39:36.49
つか代入構文letでの記号なんだから問題ない
2014/02/11(火) 20:40:17.42
箱モデルは良くないという点から考えると、

a → [1, 2, 3]

のほうが、a という変数が [1, 2, 3] というようなオブジェクトを指すようになりますよ、
という感じで良い。(という主張を見たことがある)

連想配列リテラルや、関数をあらわす型の記法と似てるのが弱点か。
2014/02/11(火) 20:52:56.17
>566
C言語の
  int *pa = [1, 2, 3];
だね
ポインタ変数 pa へ配列インスタンスのアドレスを設定するイメージだから、
ポインタモデルとでも呼べばいいのかねぇ....

Cやアセンブリ言語の経験者ならばイメージしやすいから、
もしかすると好まれるかもしれない
2014/02/11(火) 22:13:20.67
むしろ低水準言語だけだよ、そんな風に明示的に書かなきゃ
なんないのは。高水準言語ではあたり前。

高水準言語では有名どころではPerlと、その影響を受けたごく一部の
変なのを別にすると、何らかの意図が無い限り、デリファレンスを
明示的に書かなければならない、なんて言語は無い。
2014/02/11(火) 22:16:54.76
あともう一つ。てか、書いてから気付いた。

C言語のその記法は、宣言時の変な一貫性のためにそうなってるだけで、
本文中で「*pa = 」としたら、その場合だと 1 が入ってる所に代入されちゃうんだから、
ちょっと違うかな?
2014/02/14(金) 00:22:02.41
代入より束縛のがエロいと思う
2014/02/15(土) 00:34:14.29
束縛より緊縛のがエロいと思う
572デフォルトの名無しさん
垢版 |
2014/02/15(土) 18:12:30.90
緊縛より高融点、高融点より低融点のほうがエロいと思う
2014/02/15(土) 18:24:08.44
彼氏の部屋にすごいHがあった。死にたい。
2014/02/15(土) 18:45:29.87
H本に敗北して死ぬようじゃ3次元女も終わりだな。
2014/02/15(土) 20:43:35.19
彼氏の部屋に豪華な C/hocoがあった。死にたい。
2014/02/16(日) 09:39:26.09
最も美しいはC♯だな。ビジネスにはこれっきゃない!本格プログラマー言語C♯だけ!
2014/02/16(日) 18:19:24.32
そりゃヘルスたんだもの
2014/02/16(日) 20:32:41.56
linqって息してるの?
2014/02/16(日) 20:46:20.04
久々にジャンプを立ち読みしたら、トラブルが、すごい闇に包まれてた...
2014/02/19(水) 21:53:48.07
Clojureのコード見てからJavaのコード見ると発狂しそうになる
2014/03/04(火) 20:44:15.06
>>576
後始末他人任せの散らかし言語
足りないものは否定したはずのネイティブ言語から持ってくるような言語
は美しくない
2014/03/05(水) 11:29:11.11
イミフ
2014/03/08(土) 15:58:51.95
C#はCの汚いアナルに綺麗な膜をかぶせることに性交してるよ
汚いが美しいという見方もある
2014/04/27(日) 23:04:32.73ID:dRMpu4rZ
>>583
御説お下劣だが美しいね
2014/08/02(土) 11:48:53.42ID:i6l5bmvU
一方 VC++ は、マネージドコードサポートのため一層汚く
586デフォルトの名無しさん
垢版 |
2014/09/30(火) 21:37:50.50ID:G6aGp7iQ
今でも、そう思うの?
2014/10/11(土) 18:54:40.43ID:+4QBUQUg
FL
2014/10/16(木) 19:00:25.53ID:7O3aHiya
>>1-1000 以外の言語
2014/10/28(火) 02:29:45.58ID:F9KmtOQp
588 `elem` [1 .. 1000]
2015/06/02(火) 15:53:00.09ID:lljA9Urj
てst
2015/11/29(日) 10:11:35.71ID:MKVNQtc6
今でも、そう思う
592デフォルトの名無しさん
垢版 |
2015/12/12(土) 18:44:06.54ID:wmhivGOJ
>>1
マシン語
2015/12/22(火) 22:30:20.87ID:dcnJqdSJ
日本語ベーシック
2016/01/19(火) 23:12:17.22ID:tKRLK4u8
省略記号が多く、機能となるシンボルが隠蔽された新機能だらけで
実装がころころ変わってゆく言語、追加学習だけで外部依存ばかりで
コードが少なければそれが正解だとしちゃった言語

以外の存在
2016/05/29(日) 15:06:47.92ID:YOAqcJ8s
プログラミング言語の美しさは
成果物の美しさで測られるべきではないか?

記述が煩雑でも実際に機能的な物が作れるってのは美しい事だと思うよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況