[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2ch.scのread.cgiへ]
Update time : 03/26 13:53 / Filesize : 132 KB / Number-of Response : 512
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】



1 名前:デフォルトの名無しさん [2015/02/28(土) 00:33:07.88 ID:6Lhyreb3.net]
前スレ
【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】
peace.2ch.net/test/read.cgi/tech/1417333026

2 名前:デフォルトの名無しさん [2015/02/28(土) 00:44:59.02 ID:6Lhyreb3.net]
Webもスクリプトも趣味でやってるうちが華です

3 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 00:53:20.21 ID:JwK0141M.net]
>>1
勝手にLisp追加してるんじゃねーよ
ボケカス
しね

4 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 01:27:24.21 ID:AiHxhVDf.net]
Python(numpy, Cython)が最強すぎてバトルにならなかったからね
外したくなる気持ちは分かるよ

5 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 04:46:39.48 ID:7btd6iQJ.net]
>>1
断りなくスレタイを変えるべきじゃない

【Python】スクリプト バトルロワイヤル48【pl,rb,php,js】
peace.2ch.net/test/read.cgi/tech/1425065275/

6 名前:デフォルトの名無しさん [2015/02/28(土) 04:50:51.59 ID:G5Mv/Hp4.net]
【】内はオマケみたいなものだから別にどうでもいいでしょ。
スレを二重で建てるほうがどうかと思うが。

7 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 05:12:41.56 ID:kPESMGnQ.net]
こんなゴミスレ建てるなボケが

8 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 06:41:56.67 ID:c2Um2Hgg.net]
>>1
勝手に名前を変えない、なんて、基本中の基本だろ。マジでこの類のスレ・板に近寄るな。

9 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 07:06:58.14 ID:jV2Ou7q1.net]
別にいいじゃん。少しくらい変えたって

10 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 07:56:25.76 ID:0PLsAEpF.net]
pythonは無名関数がlamdaみたいな貧弱なものしかない時点でお話にならない



11 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 07:59:19.28 ID:Ml5Upqvo.net]
Lispてバトルに参加する資格ないよね?(´・ω・`)

12 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 08:02:48.42 ID:BgScRhfi.net]
Rubyもメソッドの引数以外のところで無名関数使おうとすると似たようなもん

13 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 08:17:03.55 ID:dohjXiRJ.net]
>>12
eventSource.onXXX のようなイベントハンドラ登録で無名関数は使わないの?

14 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 08:21:42.32 ID:BgScRhfi.net]
Pythonはそういう場合Javaみたいに律儀にリスナを実装(ダックタイピングだけど)するのが普通だし
Rubyだと設定より規約(笑)とかいってメソッド名で勝手にバインドするような発想になるでしょ

15 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 08:58:23.06 ID:9FVN6aFv.net]
pythonの場合はわざとしなかっただけだよ

この程度でお話にならないってw

16 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 09:03:41.60 ID:vAVkZjyz.net]
Rubyは関数内関数が書けないから
proc{}やlambda{}に頼るしかなくて、
結果的に関数呼び出しが()になったり[](または.call())になったりと
本質的でない使い分けが必要でゴミすぎる

17 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 09:12:34.63 ID:vAVkZjyz.net]
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の外側から参照できる。よってこれは関数内関数じゃない

18 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 09:25:13.05 ID:dohjXiRJ.net]
関数がクラスに属すという考え方の Java 世代の言語と、
第一級関数をサポートするその次の世代の言語との差かな。
後付で対応した言語は、どうしても汚くなる。

19 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 09:39:40.79 ID:BgScRhfi.net]
lambdaや[]は百歩譲って目を瞑るとしても->だけは許せないわ
これ考えた奴は一体何のためのアローだと思ってるのか

20 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 09:51:32.57 ID:dohjXiRJ.net]
(y)->{x + y} の語順ならよくあるけど、 ->(y){x + y} なん?



21 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 10:55:56.94 ID:YbcJcEIb.net]
->はλと読め、らしい

22 名前:憲法に守られる在日スパイ・創価・ヤクザ mailto:sage [2015/02/28(土) 11:21:18.46 ID:CLGPRI/A.net]
マスコミが絶対に触れない事実
注)自民党以外が在日から帰化したスパイ、またはその影響下にあると仮定してご覧ください。

よく言われる
失われた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
(公明の小選挙区は、選挙協力の見返りとして、自民党は候補を立てられない上に、
自民党員は公明へ投票させられるという出来レース)  
続く

23 名前:憲法に守られる在日スパイ・創価・ヤクザ mailto:sage [2015/02/28(土) 11:31:19.07 ID:CLGPRI/A.net]
続き 日本に借金を抱え込ませたのは小沢一郎(たぶん在日帰化)。

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

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

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

という流れではないでしょうか。

24 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 12:54:38.17 ID:GpQPY86K.net]
せめてそこはLispじゃなく今最高に輝いてるSwiftさんにしようや^^

25 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 14:40:20.87 ID:9FVN6aFv.net]
Swiftはスクリプト言語?

26 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 15:01:08.50 ID:JYQdrmRY.net]
1つの言語やframeworkを作ることで、
どれだけの経済効果が生み出せるかが分かったらヤメラレナイよね

27 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 16:45:46.33 ID:svk3wnwm.net]
いちおうスクリプト言語みたいに扱える

28 名前:デフォルトの名無しさん mailto:sage [2015/02/28(土) 19:11:42.67 ID:vAVkZjyz.net]
matzはstreemでも ->(x){} を提案してたけど、誰にも賛同貰えてなくてワロタ

https://github.com/matz/streem/issues/55

29 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 01:55:37.92 ID:KsvF2WvU.net]
逃げよ逃げよ、すべてのジュネーブから逃げ出せ
黄金のサチュルヌは鉄に変わるだろう
巨大な光の反対のものがすべてを絶滅する
その前に大いなる空(天)は前兆を示すだろうが
諸世紀 9章44番

30 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 02:25:33.08 ID:oCpwaziE.net]
>>11
参加したら優勝決定しちゃうからね(´・ω・`)
バランス壊すから(´・ω・`)



31 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 06:44:31.66 ID:RdE5xu5B.net]
Dartもインタプリタだからスクリプト言語だよね。

32 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 08:43:59.98 ID:Gw44QDSF.net]
Swiftのどこがスクリプト言語なの?
標準ライブラリの機能として実行時にコンパイラが使えるってこと?

33 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 08:46:36.97 ID:pZeLnU6y.net]
>標準ライブラリの機能として実行時にコンパイラが使えるってこと?
ならC#はスクリプト言語だな

34 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 08:48:49.21 ID:N+dovjey.net]
真面目な話としてCやJavaなんかよりはスクリプト性高いな。
Unityのスクリプトとしても採用されてるし。

35 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 09:37:40.20 ID:mIBW8YsH.net]
>>30
てっきりPythonのことだと思ってた ワロた

36 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 10:06:13.92 ID:oijcdKY8.net]
Lispはマイナーでライブラリもしょぼいから
まだ勝負になるんだよ

37 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 10:11:26.23 ID:pZeLnU6y.net]
C#は.NETのオープンソース版が軌道に乗れば
Java喰えるかどうかはともかくGoみたいなのは完全に用済みだな

38 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 11:28:02.87 ID:mIBW8YsH.net]
スクリプト言語を選ばずコンパイラ言語を選択するときの「一番の理由」ってなんだろう?

スピード?
それとも規模の大きさによって判断することが多いんだろうか

39 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 11:35:22.12 ID:Gw44QDSF.net]
>>38
静的型チェックの安心感はそれなりに大きい。 特に複数人数で開発する場合は。
あとは、コンパイル時にインライン化されることを期待して、ちょっとしたラッパーだとか構造体をコストを気にせず使えるところ。

40 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 11:54:18.66 ID:pZeLnU6y.net]
>>38
マジレスすると人材調達の都合
そこそこの規模の開発に土方として参加したことのある人っていうと
必然的にJava土方になる
ある程度の規模になると言語自体の良し悪しと生産性ってあまり関係ないよ



41 名前:デフォルトの名無しさん [2015/03/01(日) 12:50:03.04 ID:ssvx77SC.net]
>>40
違うよバカ

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

たとえば3月3日以降は専用ブラウザでの2ちゃんねるのアクセスが禁止になるが、
スクリプト言語や JAVA はソースコードが丸見えになるので禁止されている。

42 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 12:52:54.04 ID:TYeo3xUF.net]
>>39
これはあるよな

43 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 12:58:31.14 ID:U9v779n7.net]
>>15
今どき、まともに無名関数が書けないなんてモダンな言語としては問題あるでしょ
javascriptでイベントやコールバックにわんさか使われてるし、
関数型言語としてもいくらでも使い道がある
Java8でも追加されたのに

44 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:04:51.14 ID:pZeLnU6y.net]
>>43
そりゃJavaScriptは基本的に外部からのイベントを受けて動く受動的な言語だからな
Pythonは自分でmain書いてバッチ処理などの能動的な処理を行うことが主に想定されている言語だから、
コールバックはそれほど多用しない

45 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:11:58.37 ID:guIBwNr/.net]
無名関数が簡単に使えないのが正しいこととは思わないけどね
非同期なコールバックは仕方ないとしても、Rubyは無意味なコールバックが入り乱れてカオス
それに比べてPythonはライブラリなどがすごく綺麗なのは無名関数が使いにくいお陰なのは確か

46 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:21:54.95 ID:CBvZfxw5.net]
Swiftがスクリプト言語というのは、ScalaがLLというのに似た感じ

47 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:23:52.47 ID:Gw44QDSF.net]
>>44
大多数の開発者のレベルというか嗜好が変化して、無名関数を使うのが自然なコーディングになったのなら、
それを言語に取り入れるのは当たり前だと思うよ。 できなければ死語になっていくだけ。
Javaも一時は進化を止めてしまって、バカにされていた時代もあったよ。

48 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:31:34.74 ID:pZeLnU6y.net]
>>47
今も昔もPythonの用途はバッチ処理がメインでしょ
レベルや嗜好の問題じゃない
いくらWebが流行ろうがバックエンドのバッチ処理が無くなることはないし、
ソフトウェア開発が本業でない人にとってのスクリプト言語の用途なんてほとんどはバッチ処理だ

49 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:34:11.22 ID:KsvF2WvU.net]
>>38
業務システムで、他人の書いたfooとbarが何を指してるか分からないし、
少し修正したら気付かないまま大変なことになるから
BootCampはバグが残ったまま走らせても問題ないわけ

50 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 13:35:42.12 ID:KsvF2WvU.net]
ちがった、basecampだ
業務システムや組込みシステムは工業的なんだよ



51 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 14:17:42.55 ID:oijcdKY8.net]
>>47
代入を含む(つまり、関数内で変数に名前を付けたくなるほど長い)関数には名前を付けましょう
という方針なだけじゃん
変数に名前を付けたいのに関数には名前を付けたく無いとか、そりゃ何の宗教だよ?

それに大抵はコールバック受けてるコードより
ジェネレータを返すコードの方が読みやすい

52 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 14:46:23.90 ID:Gw44QDSF.net]
>>48 >>51
何をそんなに興奮してるのかと思ったら、Pythonを批判されたと勘違いしているのか。
別にPythonはlambdaも書けるし、無名関数が使えない言語だとは思ってないぞ。

まぁ、必ずしもバッチ処理だけではない、もっと汎用的な言語だという認識だし、
一つでも代入をした瞬間「長い関数」扱いになるのは、setXXX()の呼び出しとの差が疑問ではあるが。

53 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 14:59:34.66 ID:FEZU7Y8i.net]
>一つでも代入をした瞬間「長い関数」扱いになるのは、setXXX()の呼び出しとの差が疑問ではあるが。

意味が分かりません

54 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 15:06:17.27 ID:pZeLnU6y.net]
ラムダでsetterを呼び出すのに違和感を感じないなら関数型のセンスないわ

55 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 15:09:22.16 ID:Gw44QDSF.net]
結局、Pythonはインデントを使う構文の関係上、
関数の引数に、(普通に書くと)2行以上に渡るような処理を書かせたくないってことだよ。
代入1個だけなら何とかなったかもしれないけど、「代入と何か」をさせようとすると2行になるから構文的に難しい。
メソッドチェーンならいくつ続いてもOK。
別にsetterに限った話でもないし、イベントやコールバックでsetterを使うのに違和感は感じない。

56 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 15:15:06.38 ID:FEZU7Y8i.net]
JSはコールバック地獄とか馬鹿にされてますよ

57 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 15:47:05.06 ID:KsvF2WvU.net]
つpromess, defer
templateならejs以上に効率の良いものないよね

58 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 16:47:37.58 ID:oijcdKY8.net]
>>55
メソッドチェーンもPythonじゃ殆ど使われないよ。構文的には制限されてないけど
だから可読性に対する考え方の違いなんだよ

59 名前:デフォルトの名無しさん [2015/03/01(日) 18:07:09.41 ID:63dHNuf6.net]
本人主義のJSやってるとさ、Pythonのやり方は1つ主義やRubyの可読性なんかの主張が理解しづらい。

60 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 18:24:31.44 ID:FoR0jc1E.net]
>>59
じゃ他人のライブラリも読みにくくて、オープンソースも理解しにくいんだろう



61 名前:デフォルトの名無しさん [2015/03/01(日) 18:55:36.42 ID:P74g8Igm.net]
>>60
打ち間違えたw
本人→放任 だw

62 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 19:21:19.35 ID:FoR0jc1E.net]
なんじゃそりゃーーー!!!

......でもそんなに変わらない

63 名前:デフォルトの名無しさん [2015/03/01(日) 19:37:47.30 ID:MJLCutHL.net]
まあ読みにくい、理解し難いってのは確かだろうが、
逆に捉えれば、他人にコードが新たな発見や勉強になるってことだし、
自然のワイルドな状況で全体の「良いJSの書き方」が磨かれて行くのは嫌いじゃない。

64 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 19:50:51.15 ID:FoR0jc1E.net]
コラッ 往生際悪いぞw

65 名前:デフォルトの名無しさん [2015/03/01(日) 20:40:06.17 ID:bhrqJkA3.net]
感覚の違い。
強いて言えば勉強が嫌いでさっさと使いたい人には向いてないのかも。

66 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 21:15:13.68 ID:pZeLnU6y.net]
むしろJSはベストプラクティスとか気にしないで汚いコードでも変なやり方でも
さっさと目的を達成しようとする人に向いてる
神経質な人や真面目な人がこれでいいんだろうかとか気にしだすと泥沼にはまる

67 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 21:35:20.77 ID:KsvF2WvU.net]
謝れ!モダンperlさんに謝れ!

68 名前:デフォルトの名無しさん [2015/03/01(日) 21:51:21.10 ID:KMso/inS.net]
>>66
逆に聞くが何か目的を達成するためにあえてJSを選択するか?
もちろんブラウザの標準言語という点は何より魅力だが、
それは除いて初心者に純粋にNodeとPython、どっちのインストールを進めるかといえば自分は後者だ。
計算科学でPythonがよく使われているのを見ると、やはりPythonが最もやりたかったことを忘れないうちにさっさとコードにできる言語なんだろう。
その点ではやり方に縛りがないというのはプラスにならないからな。

まあ話は変わるが、「深く知る」ということが言語仕様の流れから理解することとすると、
JSの仕様書の多さと読みにくさは問題だと思う。

69 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 21:59:23.45 ID:FoR0jc1E.net]
>>65
冗談のつもりだったが、まさかここまで酷いとはな......

jsは一人ヨガリな奴しか使えない言語って結論で良いか?

70 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 22:09:01.08 ID:jkd3GNZ7.net]
>>69
独りよがりな奴しか使いたがらない、じゃね?



71 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 23:41:37.52 ID:yqpW0lF8.net]
>>55
インデントを使う構文な上に、2行以上の無名関数を多用する
CoffeeScriptという言語もあるけどね
結局、不自由な言語で書いてる人は自由な言語の良さが理解できない
Lisperが他の言語を馬鹿にするのと同じ理屈だね

72 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 23:44:58.86 ID:fQPy4pCf.net]
>>69
このスレではいかに業務において使いやすいかより、
いかに俺スゲーできるかが味噌なんだから、
独特でマニアになれる言語仕様ってことは+なんじゃないの?

73 名前:デフォルトの名無しさん mailto:sage [2015/03/01(日) 23:48:19.04 ID:fQPy4pCf.net]
>>68
自分はESに仕様書を読み解けるようになるまで1年はかかったね。
でもまだどこもかしこもすんなり読めるって感じじゃない。
そうなるにはもう1年かかると思う。

74 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 00:08:53.07 ID:AeyFdIXz.net]
>>72
そもそもあまり業務において競合してない
分野が分かれてる
Webのサーバーサイドは若干競合し始めているが

75 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 00:10:55.97 ID:/tbfLX1Q.net]
JavaやC#以上に使いやすいよね。何処の環境にも入ってるし、
ちょっとバッチ処理を書く分にはOOPなんて理解しなくても良いしさ

76 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 00:13:02.73 ID:8UULvOgm.net]
>>71
簡単にlambda内で変数束縛できるけど、誰もやらないだけ
できるけど、やらない


ret = next
val = lambda *args: args if len(args) == 1 else (args,)

f = lambda x, y: ret(x + y + a + b + c + d
                     for a in val(x + y)
                     for b in val(10 + a)
                     for c, d in val(a+5, b+3))

77 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 00:24:34.13 ID:HfaINe5z.net]
>>71
この界隈で自由/不自由と言ったら、オープンソース/プロプライエタリの意味に誤解されそう。

言語の制限という意味の不自由なら、制限がつくことが望まれる場合もあるとは思う。
Pythonは「書きづらいなら、それは書かせたくない書き方だからだ」って散々レスされているし、
ES6はclass構文という不自由を導入したから、独自実装クラスの氾濫を収束させられるんじゃないかな。

78 名前:デフォルトの名無しさん [2015/03/02(月) 01:21:42.37 ID:su1blwxN.net]
>>77
>言語の制限という意味の不自由なら、制限がつくことが望まれる場合もあるとは思う。
>Pythonは「書きづらいなら、それは書かせたくない書き方だからだ」って散々レスされているし、

もしその Python の設計思想/哲学が優れているなら、他の言語も追従していくはず
でも現実には、無名関数の無かった C++/Java/Perl/PHP も使えるように進化してきたし、
新しく登場した C#/Swift といった言語では最初から無名関数を備えている
結局、
  「Python だけがポツンと一人、関数型プログラミングの世界から取り残されている」
というのが、現在の状況な訳だ

まあ Python 厨からすれば「世界が Python から孤立している」と見えるのかもしれないが....

79 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 01:27:15.95 ID:QaRtU5zY.net]
それは誤解。
class構文はある意味ではただの便利な糖衣構文。
そしてある意味では機能が不足していて従来型との組み合わせが避けられない未完成品。まだES7,8で治していく予定。
JSが不便だったのは制限がなかったからではなく、変な制限がかかっていたから。
その点ES6ではようやくプロトタイプベースが開放されるので、まともなPBOOPができるようになる。
そちらは完成品。

80 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 02:01:23.06 ID:8UULvOgm.net]
>>78
まともなファーストクラスの関数が無いRubyの方が
よっぽど取り残されてるよ>>16-17



81 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 06:35:41.69 ID:xt2DIcwn.net]
Rubyの無名関数は用意されたものを使う分には優れてるよ
まさに土方をレールに乗せて単純作業をさせるのに最適

82 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 06:50:56.90 ID:ZFj/SxE6.net]
Rubyは【楽しさ】を追求した言語だからね
松本神が楽しくないと思う機能は入らない
そこに文句や批判は許されない

83 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 07:15:01.41 ID:xt2DIcwn.net]
ドカタが好き勝手にラムダ使ったりしたらカオスになるのは目に見えてるから、
ブロック引数という形で制限してるのはある意味Pythonのようにスタイルを統一する役割を果たしていて
結果的には良かったのかもしれない
松本神からすれば「楽しくない」となる不本意なところなんだろうけど

84 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 07:20:35.58 ID:ZFj/SxE6.net]
それはある意味であって、大多数には不利益をもたらしてると思う。

85 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 07:47:48.60 ID:HfaINe5z.net]
>>78
関数型といえるほど大した使い方かはともかく、無名関数は一般化してしまった。
だから、それに制限がかかる言語に移ると、使いづらかったり、古臭く見えたりする開発者はいそう。

将来、ジェネレータや async/await が一般化したら、また評価が変わるかもしれない。
ループの内外が入れ替わるだけの場合もあるけど、その書き方が美しいとされる言語もあるだろうし。

86 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 07:56:47.14 ID:ZFj/SxE6.net]
それらはJSerにとっては今日明日にも欲しい機能なわけだけど、他の言語界での認識はどうなの?
CGI的な用途だと必要にならないかと思う

87 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 07:57:33.67 ID:HfaINe5z.net]
>>79
糖衣構文かどうかや、未完成品かどうかは関係ないよ。
よくある静的なクラス構造なら、皆なるべくclass構文を使えってことでしょ?
それはPythonの「たったひとつの冴えたやりかた」を求める姿勢と似たものに見える。
もちろん、開放されるというプロトタイプベースが多用される状況になったら、考えを改めるけど。

88 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 08:11:04.75 ID:ZFj/SxE6.net]
>>87
それはなんとも言えないな。
従来型で出来なかったことや難しかったことができるようになるわけじゃないから。
元々はclass構文はクラスを作ることよりも、「ビルドインクラスを正しく継承できない」という問題を解決するものとして注目された。
でもドラフトが更新されて、class構文の特殊性はどんどん削られていって、ほぼただの糖衣構文とかしている。
一方従来型でもsuperやメソッド定義など新しい機能が使えるようになって、表現力は向上しているんだよ。
だから便利に使えるものではあるけれど、「たったひとつの冴えたやりかた」とまでは言えないと思う。

89 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 08:16:50.87 ID:8UULvOgm.net]
>>86
Pythonにはジェネレータ(とyield)が既にあるし、
async/awaitはデコレータとyieldを使ってライブラリレベルで実装可能って認識

90 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 08:34:19.20 ID:xt2DIcwn.net]
Rubyで非同期やるならreactive programmingの方が馴染みやすいだろうな
なんだかんだC#は影響力凄い



91 名前:デフォルトの名無しさん [2015/03/02(月) 12:39:36.20 ID:16JDBECvT]
理論的に遥かに美しいRxを蹴って代わりにasync/awaitを入れるセンスはさすがC#だなと思う
これがScalaなら安易に継続モナドとか入れてカオスになるところだな
モナドみたいな言語内DSL的なハックはクソであり、あくまで言語本体に自然に取り込むべきだ
というのが一貫してて潔い
Pythonもそんな感じだよね

92 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 15:06:29.65 ID:t8ktLjwG.net]
Rubyはつまらないし
技術的負債なんだよなあ

93 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 15:38:30.13 ID:/tbfLX1Q.net]
実際はWordPressとRailsしか選択肢なんてないんだよね
WordPressはMVCのframeworkとして形態を取らなかったから小回り効かないし、
CakePHPってコミュニティがRailsと比較すると貧弱なんだよね
かといって、MEANやMeteorには導入・運用したいような出来合いのものもない

94 名前:デフォルトの名無しさん [2015/03/02(月) 16:11:42.39 ID:3h2DKhb9.net]
WordPressを言語やフレームワークとして取り上げるのをやめろ。
たんなるブログソフトだ。
そうでなくなるには開発者が機能をライブラリ、フレームワークとして分離してからだ。
いまのところ、PHPの実装だがソフトウェアとしてみたとき、perl、Javascript、C言語で実装されても挙動が同じなら同じソフト。
C製の言語がJavaVMやDOTNETで実装されると同じ。

95 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 16:17:17.39 ID:afMGsxJm.net]
そういえばCSSはいくらか前に変数を獲得したけど、
最近コミュニティが機能拡充に向けてまた盛り上がってきてる。
CSSがスクリプト言語の仲間入りをする日も近い。

96 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 16:19:24.45 ID:/tbfLX1Q.net]
wordpressは、何かをする上で、もう立派なプラットフォームだから

>>95
プリプロセッサの類でいいじゃん

97 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 16:33:40.04 ID:afMGsxJm.net]
>>96
考え方が逆だよ。
プリプロセッサで可能な範囲ならプログラミング言語ではないということだ。

98 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 16:57:56.65 ID:/tbfLX1Q.net]
せめて、scssやlessのマニュアルぐらい眺めてからいえよ

99 名前:デフォルトの名無しさん mailto:sage [2015/03/02(月) 20:44:00.24 ID:gy0fGZ4D.net]
海外ガーとか言うけどぶっちゃけお前ら一生国内土方でそ?w
だったら大人しくjsかRubyかSwift、もしくは3つ全部使いこなせれば食うのに困らんしそこそこの小金も稼げる
特にRuby使いは福岡行けば当分安泰

100 名前:560 mailto:sage [2015/03/02(月) 20:50:23.33 ID:WFsxl+82.net]
普通に C/C++ で十分だわ
簡単なツールとかだと、C# でいいし








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<132KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef