トップページtech
1001コメント326KB

【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2015/02/28(土) 00:33:07.88ID:6Lhyreb3
前スレ
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1417333026
0002デフォルトの名無しさん2015/02/28(土) 00:44:59.02ID:6Lhyreb3
Webもスクリプトも趣味でやってるうちが華です
0003デフォルトの名無しさん2015/02/28(土) 00:53:20.21ID:JwK0141M
>>1
勝手にLisp追加してるんじゃねーよ
ボケカス
しね
0004デフォルトの名無しさん2015/02/28(土) 01:27:24.21ID:AiHxhVDf
Python(numpy, Cython)が最強すぎてバトルにならなかったからね
外したくなる気持ちは分かるよ
0005デフォルトの名無しさん2015/02/28(土) 04:46:39.48ID:7btd6iQJ
>>1
断りなくスレタイを変えるべきじゃない

【Python】スクリプト バトルロワイヤル48【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1425065275/
0006デフォルトの名無しさん2015/02/28(土) 04:50:51.59ID:G5Mv/Hp4
【】内はオマケみたいなものだから別にどうでもいいでしょ。
スレを二重で建てるほうがどうかと思うが。
0007デフォルトの名無しさん2015/02/28(土) 05:12:41.56ID:kPESMGnQ
こんなゴミスレ建てるなボケが
0008デフォルトの名無しさん2015/02/28(土) 06:41:56.67ID:c2Um2Hgg
>>1
勝手に名前を変えない、なんて、基本中の基本だろ。マジでこの類のスレ・板に近寄るな。
0009デフォルトの名無しさん2015/02/28(土) 07:06:58.14ID:jV2Ou7q1
別にいいじゃん。少しくらい変えたって
0010デフォルトの名無しさん2015/02/28(土) 07:56:25.76ID:0PLsAEpF
pythonは無名関数がlamdaみたいな貧弱なものしかない時点でお話にならない
0011デフォルトの名無しさん2015/02/28(土) 07:59:19.28ID:Ml5Upqvo
Lispてバトルに参加する資格ないよね?(´・ω・`)
0012デフォルトの名無しさん2015/02/28(土) 08:02:48.42ID:BgScRhfi
Rubyもメソッドの引数以外のところで無名関数使おうとすると似たようなもん
0013デフォルトの名無しさん2015/02/28(土) 08:17:03.55ID:dohjXiRJ
>>12
eventSource.onXXX のようなイベントハンドラ登録で無名関数は使わないの?
0014デフォルトの名無しさん2015/02/28(土) 08:21:42.32ID:BgScRhfi
Pythonはそういう場合Javaみたいに律儀にリスナを実装(ダックタイピングだけど)するのが普通だし
Rubyだと設定より規約(笑)とかいってメソッド名で勝手にバインドするような発想になるでしょ
0015デフォルトの名無しさん2015/02/28(土) 08:58:23.06ID:9FVN6aFv
pythonの場合はわざとしなかっただけだよ

この程度でお話にならないってw
0016デフォルトの名無しさん2015/02/28(土) 09:03:41.60ID:vAVkZjyz
Rubyは関数内関数が書けないから
proc{}やlambda{}に頼るしかなくて、
結果的に関数呼び出しが()になったり[](または.call())になったりと
本質的でない使い分けが必要でゴミすぎる
0017デフォルトの名無しさん2015/02/28(土) 09:12:34.63ID:vAVkZjyz
def f(x)
  ->(y){x + y}
end
p f(1)[2] # ()と[]の使い分けがウザイ



def foo(x)
  def bar(y)
    y * y
  end
  x + bar(x)
end
p foo 10
p bar 10 # barがfooの外側から参照できる。よってこれは関数内関数じゃない
0018デフォルトの名無しさん2015/02/28(土) 09:25:13.05ID:dohjXiRJ
関数がクラスに属すという考え方の Java 世代の言語と、
第一級関数をサポートするその次の世代の言語との差かな。
後付で対応した言語は、どうしても汚くなる。
0019デフォルトの名無しさん2015/02/28(土) 09:39:40.79ID:BgScRhfi
lambdaや[]は百歩譲って目を瞑るとしても->だけは許せないわ
これ考えた奴は一体何のためのアローだと思ってるのか
0020デフォルトの名無しさん2015/02/28(土) 09:51:32.57ID:dohjXiRJ
(y)->{x + y} の語順ならよくあるけど、 ->(y){x + y} なん?
0021デフォルトの名無しさん2015/02/28(土) 10:55:56.94ID:YbcJcEIb
->はλと読め、らしい
0022憲法に守られる在日スパイ・創価・ヤクザ2015/02/28(土) 11:21:18.46ID:CLGPRI/A
マスコミが絶対に触れない事実
注)自民党以外が在日から帰化したスパイ、またはその影響下にあると仮定してご覧ください。

よく言われる
失われた20年 → 約20年前 初めて自民党が単独過半数を割る(小沢の新生党が与党介入)※
失われた15年 → 約15年前 自公の連立政権が始まる  (公明党の与党介入) /

※このとき、初めて80円/ドルという超円高誘導されて、日本の製造業は衰退・空洞化
 =中国・韓国が台頭し始める。日本の技術者が、大量に韓国などに引き抜かれるようになる。
 イオン(民主党・岡田家)や大型パチンコ店が、地方経済や商店街を食いつぶすための、
 大店立地法が成立。在日パチンコ屋のCM・チラシが解禁・大型チェーン展開が始まる。
 日本の学力低下が目的の「ゆとり教育」の本格導入。(後ろ2つは、17年前。)
※このときの羽田首相(新生党)の顔がモロに半島顔。
※このとき、小沢の新生党を全力で選挙支援したのが、創価学会といわれる。
※このとき、自民「単独」政権(公明抜きの単独2/3議席)の復活に、圧倒的不利な
 比例選挙制度へ法改悪↓

2014総選挙の比例当選率 
政党名     自民  公明  民主  維新  共産
比例区      68   26    35   30   20
合計数      291   35    73   41   21

比例当選率  23%   74%   48%  73%   95%  ←※

共産・公明・維新は、比例制度を廃止すれば消滅w
(公明の小選挙区は、選挙協力の見返りとして、自民党は候補を立てられない上に、
自民党員は公明へ投票させられるという出来レース)  
続く
0023憲法に守られる在日スパイ・創価・ヤクザ2015/02/28(土) 11:31:19.07ID:CLGPRI/A
続き 日本に借金を抱え込ませたのは小沢一郎(たぶん在日帰化)。

小沢が430兆円
村山(旧社会党:この人も帰化?)内閣がプラス200兆円 
トータル630兆円
(詳しくは日米構造協議で検索)

今ある借金は、これとその利息では?

小沢は、自民党時代に日本に爆弾を抱えさせた上に、そのバラマキ公共投資で得た
支持基盤をごっそり自民党から引き抜き(仲間を引き連れ離党)、
自民を単独過半数割れに追い込んだ。
そして、第3極政党(新生党→公明党)を介入させ、韓国や在日へ利益誘導してきた。
日本を借金大国にしたのは自民党だ!と、自分で仕込んだ火種を野党側から
追求する自作自演劇によって、民主党への政権交代につなげた。
※自民党以外の議員は、日本姓を名乗る帰化朝鮮人か、その影響下にあると仮定。

という流れではないでしょうか。
0024デフォルトの名無しさん2015/02/28(土) 12:54:38.17ID:GpQPY86K
せめてそこはLispじゃなく今最高に輝いてるSwiftさんにしようや^^
0025デフォルトの名無しさん2015/02/28(土) 14:40:20.87ID:9FVN6aFv
Swiftはスクリプト言語?
0026デフォルトの名無しさん2015/02/28(土) 15:01:08.50ID:JYQdrmRY
1つの言語やframeworkを作ることで、
どれだけの経済効果が生み出せるかが分かったらヤメラレナイよね
0027デフォルトの名無しさん2015/02/28(土) 16:45:46.33ID:svk3wnwm
いちおうスクリプト言語みたいに扱える
0028デフォルトの名無しさん2015/02/28(土) 19:11:42.67ID:vAVkZjyz
matzはstreemでも ->(x){} を提案してたけど、誰にも賛同貰えてなくてワロタ

https://github.com/matz/streem/issues/55
0029デフォルトの名無しさん2015/03/01(日) 01:55:37.92ID:KsvF2WvU
逃げよ逃げよ、すべてのジュネーブから逃げ出せ
黄金のサチュルヌは鉄に変わるだろう
巨大な光の反対のものがすべてを絶滅する
その前に大いなる空(天)は前兆を示すだろうが
諸世紀 9章44番
0030デフォルトの名無しさん2015/03/01(日) 02:25:33.08ID:oCpwaziE
>>11
参加したら優勝決定しちゃうからね(´・ω・`)
バランス壊すから(´・ω・`)
0031デフォルトの名無しさん2015/03/01(日) 06:44:31.66ID:RdE5xu5B
Dartもインタプリタだからスクリプト言語だよね。
0032デフォルトの名無しさん2015/03/01(日) 08:43:59.98ID:Gw44QDSF
Swiftのどこがスクリプト言語なの?
標準ライブラリの機能として実行時にコンパイラが使えるってこと?
0033デフォルトの名無しさん2015/03/01(日) 08:46:36.97ID:pZeLnU6y
>標準ライブラリの機能として実行時にコンパイラが使えるってこと?
ならC#はスクリプト言語だな
0034デフォルトの名無しさん2015/03/01(日) 08:48:49.21ID:N+dovjey
真面目な話としてCやJavaなんかよりはスクリプト性高いな。
Unityのスクリプトとしても採用されてるし。
0035デフォルトの名無しさん2015/03/01(日) 09:37:40.20ID:mIBW8YsH
>>30
てっきりPythonのことだと思ってた ワロた
0036デフォルトの名無しさん2015/03/01(日) 10:06:13.92ID:oijcdKY8
Lispはマイナーでライブラリもしょぼいから
まだ勝負になるんだよ
0037デフォルトの名無しさん2015/03/01(日) 10:11:26.23ID:pZeLnU6y
C#は.NETのオープンソース版が軌道に乗れば
Java喰えるかどうかはともかくGoみたいなのは完全に用済みだな
0038デフォルトの名無しさん2015/03/01(日) 11:28:02.87ID:mIBW8YsH
スクリプト言語を選ばずコンパイラ言語を選択するときの「一番の理由」ってなんだろう?

スピード?
それとも規模の大きさによって判断することが多いんだろうか
0039デフォルトの名無しさん2015/03/01(日) 11:35:22.12ID:Gw44QDSF
>>38
静的型チェックの安心感はそれなりに大きい。 特に複数人数で開発する場合は。
あとは、コンパイル時にインライン化されることを期待して、ちょっとしたラッパーだとか構造体をコストを気にせず使えるところ。
0040デフォルトの名無しさん2015/03/01(日) 11:54:18.66ID:pZeLnU6y
>>38
マジレスすると人材調達の都合
そこそこの規模の開発に土方として参加したことのある人っていうと
必然的にJava土方になる
ある程度の規模になると言語自体の良し悪しと生産性ってあまり関係ないよ
0041デフォルトの名無しさん2015/03/01(日) 12:50:03.04ID:ssvx77SC
>>40
違うよバカ

実行モジュールの改変しにくさと情報漏えいしにくさが最大の理由だ。
そのために難読化ツールなんてものが存在する。

たとえば3月3日以降は専用ブラウザでの2ちゃんねるのアクセスが禁止になるが、
スクリプト言語や JAVA はソースコードが丸見えになるので禁止されている。
0042デフォルトの名無しさん2015/03/01(日) 12:52:54.04ID:TYeo3xUF
>>39
これはあるよな
0043デフォルトの名無しさん2015/03/01(日) 12:58:31.14ID:U9v779n7
>>15
今どき、まともに無名関数が書けないなんてモダンな言語としては問題あるでしょ
javascriptでイベントやコールバックにわんさか使われてるし、
関数型言語としてもいくらでも使い道がある
Java8でも追加されたのに
0044デフォルトの名無しさん2015/03/01(日) 13:04:51.14ID:pZeLnU6y
>>43
そりゃJavaScriptは基本的に外部からのイベントを受けて動く受動的な言語だからな
Pythonは自分でmain書いてバッチ処理などの能動的な処理を行うことが主に想定されている言語だから、
コールバックはそれほど多用しない
0045デフォルトの名無しさん2015/03/01(日) 13:11:58.37ID:guIBwNr/
無名関数が簡単に使えないのが正しいこととは思わないけどね
非同期なコールバックは仕方ないとしても、Rubyは無意味なコールバックが入り乱れてカオス
それに比べてPythonはライブラリなどがすごく綺麗なのは無名関数が使いにくいお陰なのは確か
0046デフォルトの名無しさん2015/03/01(日) 13:21:54.95ID:CBvZfxw5
Swiftがスクリプト言語というのは、ScalaがLLというのに似た感じ
0047デフォルトの名無しさん2015/03/01(日) 13:23:52.47ID:Gw44QDSF
>>44
大多数の開発者のレベルというか嗜好が変化して、無名関数を使うのが自然なコーディングになったのなら、
それを言語に取り入れるのは当たり前だと思うよ。 できなければ死語になっていくだけ。
Javaも一時は進化を止めてしまって、バカにされていた時代もあったよ。
0048デフォルトの名無しさん2015/03/01(日) 13:31:34.74ID:pZeLnU6y
>>47
今も昔もPythonの用途はバッチ処理がメインでしょ
レベルや嗜好の問題じゃない
いくらWebが流行ろうがバックエンドのバッチ処理が無くなることはないし、
ソフトウェア開発が本業でない人にとってのスクリプト言語の用途なんてほとんどはバッチ処理だ
0049デフォルトの名無しさん2015/03/01(日) 13:34:11.22ID:KsvF2WvU
>>38
業務システムで、他人の書いたfooとbarが何を指してるか分からないし、
少し修正したら気付かないまま大変なことになるから
BootCampはバグが残ったまま走らせても問題ないわけ
0050デフォルトの名無しさん2015/03/01(日) 13:35:42.12ID:KsvF2WvU
ちがった、basecampだ
業務システムや組込みシステムは工業的なんだよ
0051デフォルトの名無しさん2015/03/01(日) 14:17:42.55ID:oijcdKY8
>>47
代入を含む(つまり、関数内で変数に名前を付けたくなるほど長い)関数には名前を付けましょう
という方針なだけじゃん
変数に名前を付けたいのに関数には名前を付けたく無いとか、そりゃ何の宗教だよ?

それに大抵はコールバック受けてるコードより
ジェネレータを返すコードの方が読みやすい
0052デフォルトの名無しさん2015/03/01(日) 14:46:23.90ID:Gw44QDSF
>>48 >>51
何をそんなに興奮してるのかと思ったら、Pythonを批判されたと勘違いしているのか。
別にPythonはlambdaも書けるし、無名関数が使えない言語だとは思ってないぞ。

まぁ、必ずしもバッチ処理だけではない、もっと汎用的な言語だという認識だし、
一つでも代入をした瞬間「長い関数」扱いになるのは、setXXX()の呼び出しとの差が疑問ではあるが。
0053デフォルトの名無しさん2015/03/01(日) 14:59:34.66ID:FEZU7Y8i
>一つでも代入をした瞬間「長い関数」扱いになるのは、setXXX()の呼び出しとの差が疑問ではあるが。

意味が分かりません
0054デフォルトの名無しさん2015/03/01(日) 15:06:17.27ID:pZeLnU6y
ラムダでsetterを呼び出すのに違和感を感じないなら関数型のセンスないわ
0055デフォルトの名無しさん2015/03/01(日) 15:09:22.16ID:Gw44QDSF
結局、Pythonはインデントを使う構文の関係上、
関数の引数に、(普通に書くと)2行以上に渡るような処理を書かせたくないってことだよ。
代入1個だけなら何とかなったかもしれないけど、「代入と何か」をさせようとすると2行になるから構文的に難しい。
メソッドチェーンならいくつ続いてもOK。
別にsetterに限った話でもないし、イベントやコールバックでsetterを使うのに違和感は感じない。
0056デフォルトの名無しさん2015/03/01(日) 15:15:06.38ID:FEZU7Y8i
JSはコールバック地獄とか馬鹿にされてますよ
0057デフォルトの名無しさん2015/03/01(日) 15:47:05.06ID:KsvF2WvU
つpromess, defer
templateならejs以上に効率の良いものないよね
0058デフォルトの名無しさん2015/03/01(日) 16:47:37.58ID:oijcdKY8
>>55
メソッドチェーンもPythonじゃ殆ど使われないよ。構文的には制限されてないけど
だから可読性に対する考え方の違いなんだよ
0059デフォルトの名無しさん2015/03/01(日) 18:07:09.41ID:63dHNuf6
本人主義のJSやってるとさ、Pythonのやり方は1つ主義やRubyの可読性なんかの主張が理解しづらい。
0060デフォルトの名無しさん2015/03/01(日) 18:24:31.44ID:FoR0jc1E
>>59
じゃ他人のライブラリも読みにくくて、オープンソースも理解しにくいんだろう
0061デフォルトの名無しさん2015/03/01(日) 18:55:36.42ID:P74g8Igm
>>60
打ち間違えたw
本人→放任 だw
0062デフォルトの名無しさん2015/03/01(日) 19:21:19.35ID:FoR0jc1E
なんじゃそりゃーーー!!!

......でもそんなに変わらない
0063デフォルトの名無しさん2015/03/01(日) 19:37:47.30ID:MJLCutHL
まあ読みにくい、理解し難いってのは確かだろうが、
逆に捉えれば、他人にコードが新たな発見や勉強になるってことだし、
自然のワイルドな状況で全体の「良いJSの書き方」が磨かれて行くのは嫌いじゃない。
0064デフォルトの名無しさん2015/03/01(日) 19:50:51.15ID:FoR0jc1E
コラッ 往生際悪いぞw
0065デフォルトの名無しさん2015/03/01(日) 20:40:06.17ID:bhrqJkA3
感覚の違い。
強いて言えば勉強が嫌いでさっさと使いたい人には向いてないのかも。
0066デフォルトの名無しさん2015/03/01(日) 21:15:13.68ID:pZeLnU6y
むしろJSはベストプラクティスとか気にしないで汚いコードでも変なやり方でも
さっさと目的を達成しようとする人に向いてる
神経質な人や真面目な人がこれでいいんだろうかとか気にしだすと泥沼にはまる
■ このスレッドは過去ログ倉庫に格納されています