- 1 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 22:29:34.63 ]
- 最強のLL=軽量プログラム言語は、どれよ?
エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・ さあ、死ぬまで語りやがれ!!! ■LLとは? 軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、 コードの作成や修正が容易と見なされるプログラミング言語のことを指す。 ここでいう「軽さ」はプログラマの負担の軽重を指し、 実行速度に優れているという意味ではない。 現在の水準では ・インタプリタ ・動的型 ・正規表現 ・クロージャ などを利用できるものがLLと呼ばれることが多い。(Wikipediaより) 前スレ 【Perl,PHP】LLバトルロワイヤル20【Ruby,Python】 toro.2ch.net/test/read.cgi/tech/1326341657/
- 29 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 18:42:42.73 ]
- pythonで、どうやって職にありつくんだよwwwww
大学まで出て、python(キリッ)ruby(ドヤッ)なんてしてたらニート一直線だろ
- 30 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 18:52:30.34 ]
- いたのかuy
- 31 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 18:57:25.90 ]
- uyや、ちんこ(akira develop)とかいった糞コテではないが、
このスレをお気にいりに入れてたら気が付くと同じ運命を辿ってた このスレにいる大学生たちに同じ運命(ニート)を辿る呪いをかけたお
- 32 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 19:13:57.81 ]
- 末尾デリミタwとかいうバカがuy以外にいるのか?
- 33 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 19:25:55.27 ]
- 末尾デリミタwに類似したボットならPerl忍者とかいう痛コテだな
ちんこ(akira develop)を知らないのは新参だって、ばっちゃが言ってた。 当時、ちんこに就職のアドバイスをしてたPGは、 cでコンパイラ/OSなりを書いといた方が採用時の受けが良いってレスしてたぞ。 俺からのアドバイス。現役の大学生は夢なんて見ずに公務員試験うけとけ。
- 34 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 21:35:08.18 ]
- ちんこ = akira develop = 神オブジェクト
- 35 名前:8 mailto:sage [2012/02/27(月) 14:08:56.34 ]
- >>23
>>23のカキコが原因で、いきなりスレ進行が止まってしまったように見えるのは気のせいだろうか....w この>>23のコードは、(Ruby 1.8向けに書かれた)>>8をRuby 1.9の新しい記法へ書き換えたものだね これなら>>12,17のRuby批判は当てはまらず、見事な反論となっている また、Ruby 1.9でも>>8の(冗長だけど初心者には優しい)コードがそのまま動く事も利点(=後方互換性) あえて>>23を改善すると、 [a] (無理に)1行へまとめず、[b] (適度に)空白を入れ、[c] カリー化を使う t = -> f, x { f[f[x]] }.curry x = t[t][t][t][-> x { x + 1 }][0] これとPythonコード(>>7)とを比較してみれば、コードの簡潔さに何の遜色も無い事が分かる === 結論:今回の お題「関数の部分適用」について、PythonとRubyに決定的な差異は無い ===
- 36 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 16:14:38.78 ]
- 明らかにrubyの方が劣っているが
- 37 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 19:29:40.79 ]
- >>35
23のきもいコードよりましだね。
- 38 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 23:45:46.97 ]
- >>36
Python信者さんチース
- 39 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 01:36:33.12 ]
- ->の右側に引数を書くのは何かの冗談なんだよね?
HaskellやMLと意味も無く違っててキモイ
- 40 名前:8 mailto:sage [2012/02/28(火) 16:01:08.16 ]
- >>39
2点、反論する まずHaskellやMLの中置演算子 -> は、型式の中だけで定義されている つまり「値の式」と(「型の式」である)型式をごっちゃにした指摘 >>29 はトンチンカンと言える 実際、Standard MLの「値の式」では前置のラムダ構文 fn が使われるし、 Haskellにいたっては、¥記号(バックスラッシュ)というRubyと同様な記号が使われている 【Standard ML(SML/NJ)での実行例】 - (fn x => x + 1) : int -> int; (* コロンの左辺が「値の式」、右辺が型式 *) > val it = fn : int -> int 次に、すでに>>35で書いたけど、短縮記号の右矢印がキモイ(=不慣れなので読みづらい)のであれば、 Ruby 1.8 の(冗長だけど初心者には優しい)lambda記法を使う事もできる(要は、「慣れ」の問題) t = lambda { |f, x| f[f[x]] }.curry x = t[t][t][t][lambda { |x| x + 1 }][0] 結果としてRubyでは、>>8,23,35 そして上記コードという、 プログラマの慣れ/熟練度/用途等に応じた4通りの表現の使い分けが可能になる
- 41 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 17:43:41.36 ]
- >>40
> まずHaskellやMLの中置演算子 -> は、型式の中だけで定義されている > つまり「値の式」と(「型の式」である)型式をごっちゃにした指摘 >>29 はトンチンカンと言える 何言ってんだお前?アホなの? Haskell のラムダ: \x -> x OCaml のラムダ: fun x -> x
- 42 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 00:50:16.18 ]
- 【消しゴム】MONOを使ってみるスレ4【じゃない】
toro.2ch.net/test/read.cgi/tech/1329023778/
- 43 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 04:39:19.32 ]
- おまえらruby信者とpython信者の争いは、10年も前にperlが踏襲した道だ
- 44 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 04:49:47.26 ]
- こうした議論みてると演算子の優先順位とリテラルが
開発効率の邪魔をしているようにさえ思えてくるので、 さっさと人類は言語設計のほとぼりに冷めて、 schemeに統一されちまえとさえ思えてくる てか、それ他の実装でも動くの?
- 45 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 08:01:27.20 ]
- lambdaだ、Yコンビネータだいうヤツらをプロジェクトに
寄せ付けないためだけであっても、tclを利用する十分な理由になる
- 46 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 08:48:40.69 ]
- Tcl8.5にあるapplyはlambdaみたいなもんだろ
- 47 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 17:53:55.18 ]
- Shemeよくわからんけど
ネットで調べながら書いてみた (define (t f) (lambda (x) (f (f x)))) (((((t t) t) t) (lambda (x) (+ x 1))) 0)
- 48 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 17:54:54.13 ]
- Schemeのスペル間違えた
- 49 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 22:51:17.74 ]
- 2→4→16→次は何?
であの数になるってやつだな この前それがどう展開されていくか考えてた
- 50 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 17:59:57.93 ]
- Perl5ではこうだろうか?
$t = sub{my $f = shift; sub{my $x = shift; $f->($f->($x))}}; $t->($t)($t)($t)(sub{my $x = shift; $x + 1})(0);
- 51 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 00:41:55.32 ]
- $$$$$$$$$$$$$$$$$$$$$$$
- 52 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 19:12:09.59 ]
- 例によってちょろっとネットでマニュアルとか調べただけで
Common Lisp版を書いてみた あってるのだろうか?いちおう65536になるけど なんかtが組み込みの真値らしいのでaで (let ((a (lambda (f) (lambda (x) (funcall f (funcall f x)))))) (funcall (funcall (funcall (funcall (funcall a a) a) a) (lambda (x) (+ x 1))) 0)) 対応括弧の表示をしてくれるエディタじゃないと大変なのが よくわかった
- 53 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 21:24:26.60 ]
- letの代わりにlabelsを使ってみたけれど、あまり変わらなかった。
(labels ((a (f) (lambda (x) (funcall f (funcall f x))))) (funcall (funcall (funcall (funcall (a #'a) #'a) #'a) (lambda (x) (+ x 1))) 0)) こういうときはSchemeとCommon Lispの関数・変数の名前空間の違いが強調されるなあ。
- 54 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 21:48:43.06 ]
- 糞スレ
- 55 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 00:02:10.33 ]
- これで勝つる(´・ω・`)
PHP 5.4 がついにリリース ― Web を高速に! japan.internet.com/webtech/20120302/2.html
- 56 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 01:38:26.90 ]
- January 9, 2012: Extensibility support using Guile
www.gnu.org/software/gdb/
- 57 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 18:43:09.18 ]
- Luaで書いてみた
t = function(f) return function(x) return f(f(x)) end end t(t)(t)(t)(function(x) return x+1 end)(0)
- 58 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 22:37:00.46 ]
- schemeが一番分かりやすい。rubyが一番糞。
- 59 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 08:09:59.27 ]
- いまだにこんな>>28うんこパーサ使ってるRubyって...
|

|