【JavaScript】スクリプト バトルロワイヤル40【pl,rb,php,py】 (801) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【漏れは】猫でもわかる質問スレ【猫以下です】 (496)
【漏れは】猫でもわかる質問スレ【猫以下です】 (496)
MVVMについて語ろう (678)
C++相談室 part105 (888)
【関数】Erlang Part 2【エリクソン】 (209)
■暗号技術【ROUNDsurea】■ (574)

【JavaScript】スクリプト バトルロワイヤル40【pl,rb,php,py】


1 :2013/09/17 〜 最終レス :2013/10/27
前スレ
【JS】スクリプト,バトルロワイヤル39【Perl,Ruby,PHP,Python】
http://toro.2ch.net/test/read.cgi/tech/1378642761/

2 :
気が早いな

3 :
レスが100にも行かないうちに新スレを立ててまで
タイトルを改変したいの?
JSerってコード書くのは遅い(しかもゴミコード)のに、こういうところのは素早いんだな

4 :
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::

5 :
拡張子って発想自体は好きだが、ならjsも拡張子にしとけよ

6 :
age

7 :
cgi

8 :
スレ立て依頼
タイトル
【Ruby】スクリプト バトルロワイヤル41【pl.js.php.py】

本文
前スレ
【JavaScript】スクリプト バトルロワイヤル40【pl,rb,php,py】
http://toro.2ch.net/test/read.cgi/tech/1379350030/l50

9 :
>>8
【クソRuby】スクリプト バトルロワイヤル41【うんこブリブリ】
http://toro.2ch.net/test/read.cgi/tech/1379952622/

10 :
JSerの質が知れるな
お前らこんなのと話し合いしてたわけだ・・・

11 :
あげ

12 :
お題:2^30までの回文素数で最大のものを求めよ。

13 :
>>12
何進法の回文素数?

14 :
10進

15 :
あと、回文素数は Emirp ではなく、回文数の素数で。

16 :
あの糞JSer、ECMAScriptスレでハブられたから、
こっちでごちゃごちゃ言ってたのか。

17 :
>>12
999727999

18 :
>>14
何も言わなきゃデフォルトで10進だと思いこんでる奴は
プログラマとしてはクズだよなwww

19 :
>>17
正解

お題:2^80までの回文素数で最大のものを求めよ。

20 :
>>19
1208925819613169185298021
http://ideone.com/CazxfB
汎用的なコードにしようと思ったけどめんどくさくなってやめた

21 :
Rゴミ共がw

22 :
どっかのJなんとか言う言語と違って、
pythonはIDEも揃ってるなー
http://blog.jetbrains.com/jp/2013/09/25/197
ぶっちゃけIDEなんて不要なんだけどなー

23 :
Squeak Smalltak で。
一般化は思ったよりめんどくさかった。
| maxPalinPrimeUpTo |
maxPalinPrimeUpTo := [:limit |
 | halfStr odd halfDigits found |
 odd := limit asString size odd.
 halfStr := limit asString first: (limit asString size / 2) ceiling.
 halfDigits := halfStr size.
 found := nil.
 [:exit | [halfStr asInteger > 0] whileTrue: [
  | palinStr palin |
  palinStr := (odd ifTrue: [halfStr allButLast] ifFalse: [halfStr]), halfStr reversed.
  palin := palinStr asInteger.
  (palin isPrime and: [palin < limit]) ifTrue: [found := palin. exit value].
  halfStr := (halfStr - 1) asString.
  (halfStr size ~= halfDigits or: [odd not and: [halfStr = '0']]) ifTrue: [
   (odd := odd not) ifTrue: [halfStr := (halfStr * 10 + 9) asString].
   halfDigits := halfStr size]]
 ] valueWithExit.
 found
].
maxPalinPrimeUpTo value: (2 raisedTo: 30). "=> 999727999 "
maxPalinPrimeUpTo value: (2 raisedTo: 80). "=> 1208925819613169185298021 "

24 :
てめー、J言語さんを小馬鹿にするのは
そのパイなんとかって言語でライフゲームを1行で書けてからにしろよ! (違
life=:+./@( (>@( (1$~$@]);]))*.(>@( (3&=);(4&=))@(+/@( (9 2 $, > { (1 0 _1);(1 0 _1))&|.))))
http://d.hatena.ne.jp/niming538/20090725

25 :
Squeak Smalltalk の総当たり版もついでに。
160秒くらいかかるけど。
| found |
Integer primesUpTo: (2 raisedTo: 30) do: [:prime |
 | str |
 str := prime asString.
 str = str reversed ifTrue: [found := prime]].
^found "=> 999727999 "

26 :
>>23
眼が腐る

27 :
ハスケラーってこのスレで呼ばれてないのになんでソースコード貼ってくの
自分たちの隔離スレがあるだろ

28 :
PythonにIDEあるならRubyにもIDE欲しいなあ
まあ実装できない最大の理由は、自動補完とかつけるなら実質的にRubyのパーサーが必要なんだけど
https://github.com/ruby/ruby/blob/trunk/parse.y

これだからな

29 :
すっかり荒らしが居着いてしまったな・・

30 :
>>28
何年前からタイムトリップしてきたの?今もう2013年だよ?

31 :
次のお題はライフゲームをワンライナーで

32 :
>>29
元々このスレはルール無視しやすい特区のようなもの
無視しやすくすると新ルールを作りやすくなるとかならないとか

33 :
>>26
まあ、そういわんと

34 :
>>28
Ripper 使えばいいんじゃねぇの?
Emacsのruby-modeの一実装としてRipper使った奴があるらしいが

35 :
>>29
スレの性質から考えたら、むしろ少ないとすら思うよ
最近は各種本スレや質問スレのが酷かったりするからな…おかしな話だ

36 :
node.jsってerlangに比べたら
フォールトトレランスな機能が無いに等しいオモチャだよね
なんでこんなゴミを作っちゃったの?

37 :
同意

38 :
世の中、正しいこと、優れたものが広まるとは限らない。
むしろ逆のケースの方が多い。
特に IT 業界は。

39 :
フォールトトレランスは十分実装可能だが知らないの?

40 :
BrainFuckでも十分実装可能だよな。
で?

41 :
>>38
> 世の中、正しいこと、優れたものが広まるとは限らない。
正しいことと優れたことの、二つしか思いつかんの?
正しいくて、優れていて、互換性が高くて、
コストが安くて、早く開発ができて、
過去の資産を活かせることが広まって欲しい。
念の為に言っておくが、これらは全てプラス思考の項目だよ。
全てが満たせていたら、それは完璧に良いことだろう?
君は、正しくて優れているものが広まるとは限らない=間違っていて劣っている物が
普及することがIT業界に多いと言いたいのだろうが、それは違う。
上に上げた、全てを満たすものを広めるのが難しいってだけ。
広まっているものは、全てを満たしていないだけで、優れているものである。

42 :
このスレでそんなキレイ事を言うか

43 :
短期的に大流行するやつと長期間狭い場所で生きのこるやつしか思いつかない
時期に依存するか場所に依存する
どちらにも依存しないものは現実と接点がない

44 :
>>42
キレイごとと言うか単純すぎ
例えば優れているかどうかも人によってちがう。
同じ人でも、朝と晩でちがう。
一人と、他の人が一緒にいるときでちがう...

45 :
>>44
Titaniumスレ見てこいガキ。
万が一その論が正しいとしてもその主張に意味はない。
罵り合ってでも理解深める方がまだ有益だ。

46 :
すまねえ、アンカ間違えた。
>>41

47 :
>>45
見てきた。
さてお前の意見を聞こうか?
まだお前は何も言ってないぞ。

48 :
>>47
間違った物が横行するという、反例を示しただけでもう十分だろ。
まさか効いてないアピールのつもりなのか?
無敵君はお呼びじゃないぞ。

49 :
>>48
「間違ったもの」というのは
誰がどのようにして判断したんだ?
Titaniumは正しいものだと仮定すれば
正しいものが横行するという話になるんだが。

50 :
http://qa.atmarkit.co.jp/q/2392
Titanium Mobile で開発されたアプリの一覧がまとまっているサイトはありますか?
0
Titanium Mobile で開発されたiPhone/Androidアプリの一覧がまとまっているサイトをご存じの方がいらっしゃいましたら教えて頂きたいです。
よろしくお願いします。
titanium
bakorer 93 2012/09/11 21:48 履歴 (0)
回答
評価順 新着順 更新順
2
有名なところでは以下があります:
Built with Titanium
http://www.builtwithtitanium.com/
Learning Ti
http://www.learningtitanium.com/apps-in-the-wild
Appceleratorのショーケース
http://www.appcelerator.com/thinkmobile/showcase
サポートBBSの事例集
http://ti.masuidrive.jp/topic.php?id=3

51 :
Titanium製アプリ150個まとめ
http://www.sawadaru.com/blog/?p=562

52 :
>>49
またお前かよ。
間違った物という存在そのものを定義させないようにしてるだけだろ。

53 :
「間違った物が横行するという反例」なのか
「間違った物という存在そのものを定義させない」話
なのかはっきりしろ。
間違ったものというものは存在しない
という例がTitaniumってことでいいんだな?

54 :
間違っているものは横行しない、という事に対する反例だよ。
都合よく解釈し過ぎだろお前。

55 :
間違ってる

56 :
>>54
はっきり言ってやろうか?
Titaniumは正しいものなので、
判例として間違っている。

57 :
いいや先に打ち切る。君の勝ちでいいよ。
無敵君に構う時間ほど無駄なものはない。

58 :
逃げたかw
負け惜しみ能力だけは成長したな。
どうせまた次も同じ事言うんだろうけどな。
学習能力がない。

59 :
>>56
うんいいよ。君は正しい。
君のような人は、ぜひTitaniumを使い広めてくれ。
それで君の信用がどうなろうと知ったことではない。

60 :
打ち切ったんじゃなかったのかよwww
煽り耐性ねぇなぁw

> Titaniumを使い広めてくれ。
うん、どうせそうくると読めてたから
先に既に普及しているという証拠を出した。
>>50-51
行動が手に取るようにわかるってのは
まさにこのことだよな。

61 :
何が正しいかなんて、人と時と場合によって変わるのに
何が正しくて間違っているかとか語るなんてナンセンスだよな

62 :
正しいとか言わないで、素直に俺の好みといえばいいのに。
俺の信じる自由が唯一無二の自由とかいってる
どっかのC++標準化なんたらのおっさんみたいだ。

63 :
連投しだしたw

64 :
あぁ、うん、
自分と反対の意見を持っている奴は
全員同一人物だ!って考えの人ね。

65 :
技術的に劣っているものである程、ダメな技術者を惹きつけるように見えるのは、何故か
それはダメ技術であれば優れた技術者は離れていくので、
その中ではダメ技術者としか競争する必要が無く、
低能であっても競争に生き残れる可能性が高いからである
進化戦略的には理にかなっている

66 :
毎度毎度必死だなこのキチガイはw

67 :
無知は罪だな

68 :
JSerはほんっといいかげん巣に帰って欲しい

69 :
JSもスクリプト言語なのだから
このスレに参加する理由はある。
お前こそ帰れ。

70 :
JSは別にいいんだよ。
ここにいるJSerが何百レスも他言語無関係なくだらん議論で
浪費するとかがひどすぎるし、何より退屈。
関数型気取りの俺ルールRuby厨もひどかったが、
空気読めないコード書けない傍若無人JSerはもっと邪魔。

71 :
>>20の単純移植でもいいからJSでコード書いてみてよ

72 :
それを言ったところでこいつがいなくなるわけじゃないからな

73 :
普通にやると2^53までしか精度がないからJSで2^80はあまりに面倒過ぎる
パス

74 :
えー、うんこ過ぎるねJS
まじゴミ

75 :
じゃあ、2^30 まででいいから、
エラトステネスのふるいで実装した素数生成器を書いて、
それを使って素数に昇順に総当たりして >>25
時代遅れの Smalltalk 処理系が出した 160秒より速いことをを示してよ。

76 :
なんでそんなやる前から攻撃的に注文付けられにゃアカンのさ
そんな言い方されて書きたくなる奴いないだろ
書いて欲しいならもうちょい丁寧に頼めよ

77 :
おお、闘いっぽくていい流れじゃないか。
JSer、がんがれーっ!

78 :
結局 人格攻撃なんだよな。
議論内容と人格の分離が出来ないから、
議論にならん。

79 :
って、いきなり白旗かよ。JSer、ヘタレすぎだな。
JSやV8エンジンが泣いとるよ。

80 :
応援や鼓舞はあっても、誰も誰に対する人格攻撃もしていないと思うが?
そもそも議論なんかしてもつまらんよ。他言語に関係ない話ならなおさら。
そんなことより積極的にコード晒して言語好き同士でがんがん戦おうよ!
お題が不満なら、JSに有利なお題を出せばいい。

81 :
思うのは自由だが、事実は変わらんよ。
何が戦おうよだよ。 そういうふうにならない様にしてるのはアンタだろが。

82 :
戦おうよと言われると戦意喪失する自由主義者の習性をよく分かってんね

83 :
戦うつもりもないのにバトルスレに来て口を挟むだけの奴www

84 :
僭越ながら、時代遅れのSmalltalk使いが昼休みに書きましたよ。
JSerさんがた、添削とかチューンよろしく。
http://ideone.com/GtFOzo
ナイーブな実装だとメモリ不足になりそうだったので
Squeak Smalltalkから省メモリ版のエラトステネスを移植しました。
node.js で 80秒。

85 :
議論て、詭弁だけで非論理的な会話しかできてないじゃん。

86 :
回文判定と配列だけ変更
http://ideone.com/TlRkbw
素のjsは無理だ

87 :
>>86
一応書いておくわ。俺の環境だと0.8秒で終わったと。
node -v
v0.10.18
time node primes.js
9989899
real 0m0.746s
user 0m0.708s
sys 0m0.016s

88 :
>>87
すまん。手元で計測するときは
デフォルト値が2^30になるようにコメントアウトはずしてちょ
これ

// var limit = Math.pow(2,30);

89 :
>>84 の 80秒が >>86 だと 46秒。86 GJ!
素の JS が無理なら、
好きなJS生成言語で美しく書き直してみるんも一興かと

90 :
素晴らしいと思う。
次のお題に行こう。
次はもっと面白そうなのでよろしく。
素数の数え上げみたいなのは驚きがないからもういいよ。

91 :
Ruby版も書きたいのだが、Uint8Arrayみたいのってないの?

92 :
>>86
なんでこんなに長くなるのかと思えば、
でかい数値用の最適化コードが入っているのか。
if( upto > 25000 ){ return large_primes(upto, func); }の行と
一番長くて複雑なlarge_primes関数を丸々削除しても同じ結果が表示された。
さすがに速度は落ちたけど。
time node primes.js
9989899
real 0m1.254s
user 0m1.196s
sys 0m0.044s
ビット演算までして最適化しているコードの改良は難しいな。
最適化部分の他の言語での実装も見たいな。
全く同じ最適化処理をしていて
短く出来る言語が有るのだろうか?

93 :
LLでは速度なんてCPUチップの世代で大きく変わってくるからなぁ

94 :
>>88
改めてやってみたらこうなったよ。
time node primes.js
999727999
real 0m24.328s
user 0m24.304s
sys 0m0.044s
マシンの性能w

95 :
短く書く勝負じゃないのかよ(´・ω・`)
これだとアセンブラに近い処理ができる言語の勝利だな。

96 :
JSは処理系で最適化方法も違うから
RhinoやSpiderMonkeyだとまた違った結果になるだろうな

97 :
処理系によって違うのは
他の言語でも一緒だと思うが?

98 :
V8は小さな数(SMI)はintとして計算するけど
ia32なら31bit、つまり±(2^30-1)までだから2^30と比較する部分なんかは
32bitCPUは浮動少数、64bitCPUは整数で計算してることになって
そこだけでも違うね

99 :
Google、Mozillaといった天才チームが
スピードを競っているのだから
必然的にJavaScriptも速くなる。

100 :
速度勝負ならJavaScriptは強いね。
こんな話もあるぐらい。
C言語より高速なJavaScriptによるバイナリ操作が話題
http://tech.a-listers.jp/2012/10/10/faster-than-c/

101 :
またかよ・・

102 :
>>100
その話は前もしたが荒れることしか無かったのでやめた方がいい
書かなかったこと、見なかったことにしてくれ

103 :
>>102
なんで荒れたの?ゆっくり言語の信者が発狂でもした?

104 :
どうしても許せなかったみたいなのはネイティブ信者の方々だな。
その後evalの問題も出て、結構有効ってことはわかったんじゃないかな。

105 :
こっちは恥を忍んでクソコードでも出したのに
当人が空気読まないで同じような流れにしてんだからな
消えろ

106 :
>>103
手品の噂をするだけで実演も種明かしもしないから荒れる

107 :
種明かしなら記事に書いてるし実演に近いことはいろんな言語でこの前やったじゃん

108 :
お題考えようか

109 :
http://ideone.com/hCN7CJ
書いてみた

110 :
ほんと、過剰反応する奴はうるさいな。
何が気にくわないんだか。

111 :
質問: 任意のバイト列をutf-8の文字列に変換できる?

112 :
その質問じゃ何を意図してるのかがよく分からん
もっとはっきり言って

113 :
>>109
ほぼ素数構築だけで時間使ってるし、コードも適度で素晴らしい。
しかしMath.floorがビットシフトより速いってどういうことよw

114 :
>>113
ビットシフトのほうがいいんだけど
javascript(nodejs?)のビットシフトは大きな数にはつかえないっぽい
1 << 32 が1になってしまう

115 :
ビットシフトは数値が大きくなることで、内部のデータ型が
変わる可能性があるが、floorは変わることがないからじゃないかな?

116 :
ごめんなんかおかしい。速いけど多分ちゃんと素数生成できてない。

117 :
ビット演算は整数型に変換されて、32bit以上は使えないのか。

118 :
とおもったけどそんなことはなかったぜ。
C++と速度がかわらんからおかしな気がした

119 :
書いたC++のコードが回文判定に時間かかってるだけだった

120 :
JSのビット演算は常に32bit int型だぞ

121 :
>>120
intじゃねえよw

122 :
いや、intで合ってるよ
まず32bitint型に変換する事になってる

123 :
awkは、2^200を計算できないのですが、
bcコマンドは出来ます
Pythonは、2の千乗、1万乗も計算できるの?

124 :
>>112
バイト列に '\xc2' や '\xc3' を挿入すればutf-8のテキストになる?
>>> '\x00'.encode('utf-8')
b'\x00'
>>> '\x80'.encode('utf-8')
b'\xc2\x80'
>>> '\xc0'.encode('utf-8')
b'\xc3\x80'

125 :
>>123
できた
>>> n = 2 ** 10000
>>> s = str(n)
>>> len(s)
3011
>>> s[:5], s[-5:]
('19950', '09376')

126 :
>>124
b = bytes(range(256))
a = bytearray()
for i in b:
  if i < 0x80:
    a.append(i)
  elif i < 0xc0:
    a.append(0xc2); a.append(i)
  else:
    a.append(0xc3); a.append(i - 0x40)

127 :
バカスレw

128 :
出遅れた感がハンパ無いが、Python(pypy)
リストでやったらメモリが足りなかったのでnumpypyの配列使用
70秒。ぶっちゃけ微妙すぎ

import numpypy as np
def primes(m):
    is_prime = np.ones(m + 1, dtype=np.bool)
    for n in range(2, int(m**0.5 + 1.5)): 
        if is_prime[n]:
            is_prime[n*n::n] = 0
    return (i for i, c in enumerate(is_prime[2:], 2) if c)
def is_palindromic(x):
    s = str(x)
    return s == s[::-1]
print(max(p for p in primes(2**30) if is_palindromic(p)))

129 :
>>128
最適化コードは?

130 :
最適化っつーても極限までやれば>>20になるが…

131 :
>>130
いやいや、単にlarge_primesも
実装してみてって言ってるだけだよ。
どうなるか。

132 :
>>131
申し訳ないけど、コードが汚くて一目見て読むの諦めた
仕事以外でアレは読む気しないわ

133 :
>>109をC++に移植して、回文判定変えて軽く黒魔術して速度2.5倍ぐらい
ここまで来るとあとは生成アルゴリズムの問題だな

134 :
>>132
あれは汚いんじゃなくて
高度に最適化されているだけ。
そのままコードを置き換えればいいよ。
あとは誰かが読みやすく修正してくれるだろう。

135 :
そんな一ミクロンも楽しくなさそうな作業を
当たり前のようにボランティアで要求できる
そういう人間に私はなりたく無い

136 :
あれだけJSのコードを要求しておいて
逆をやられた時に、そのセリフはないだろw

137 :
お前はこのスレに一人しか居ないと思ってるのか?

138 :
言語がサポートしてないのに巨大数を実装するのはバカらしい
JSでもES7で入るんだから今わざわざ作るのはチキガイ

139 :
>>138
コードって遊ぼうっていう考え方ができないからいつまでも三流なんだよ?

140 :
遊びのレベルじゃない苦行だろ。
ライブラリ使うのもなんだかなーって感じするし。
無理やり実装するのはどうしても美しさに書ける。
美しくないコード頑張って書いても楽しくないよ。

141 :
コード書けないヤツにはその辺の違いが分からないからな

142 :
速いコードを書くことに
喜びがないなんて
プログラマとは思えないな。

143 :
ライブラリを作るって発想がないんだろうよ。

144 :
LLで低レベルの実装をするのが楽しいとは思えんな
特に言語によっては標準であるのに
せこせこ情けない実装するのは悲しいだろ
まだ演算子オーバーロードとか使えて、
使い勝手だけでも同じレベルにできるんなら
頑張る気が出るかもしれないが
頑張っても、最初から
見た目も速度も使い勝手も中途半端なものしか出来ないことが分かってるんだし
やっぱり悲しいだけ
これは逆にどうしても必要なら作る気が起きるけど
遊びでは関わりたくないたぐいのもの

145 :
低レベルの実装をしているのは
LL言語やそのライブラリの開発者なんだけどな。
ま、下っ端技術者は
用意されたものを使っていれば良い。

146 :
な〜に言ってんだこいつ

147 :
どっかのSmalltalkerが気まぐれにSmalltalkからJSに移植したコードで
何故にJSerが勝ち誇っているのか、まずそこが分からんw

148 :
別に何も勝ち誇ってないが?
楽しんじゃいけないのか?
他の言語使いが不幸にしてないと嫌ってか?

149 :
JSがでてきたとたん、
通常とは異なる反応するやつがいるよな。

150 :
まあスレタイ見れば一人変なのがいるのはわかるよね。

151 :
ポジショントークばっかりでつまんない

152 :
Perl6の話をしよう

153 :
Perl6はもう完全に明日から本気出す症候群に罹っちゃってて・・・

154 :
Perl6は互換性がないのが痛いよな。

155 :
>>154
> 互換性がないのが痛いよな。
ん?
誰か俺のこと呼んだか?
          .... python3

156 :
そうやって遠回しにRubyを貶すのはやめないか。

157 :
Perlのあのタイプ別に接頭記号変えるのは結局どれほどの意味があったの?
少なくとも人間にとっては厄介なものでしか無かったと思うんだけど。
むしろハンガリアン記法っぽくて変数名に適切な名前を付ける習慣を阻害する害悪だと思う
ハンガリアン記法としても役に立たないし、
かと言ってシステム的に貢献してるとは思えない
perl遅いし

158 :
>>157
実はPerlでもリファレンスだけを使っていれば、
タイプごとに接頭記号変える必要ないんだよ。
$array = [1, 2, 3];
$hash = {a => 1, b => 2, c => 3};
問題は、リファレンス(参照型)ではない値型の存在ね。
リファレンスができたのは1994年のPerl5.0かららしいね。
Perl1ができたのが1987年だから。7年間はリファレンスが存在しなかった。
そしてPerlの昔からの基本的な特徴としてリスト操作が言語機能に含まれているってのがある。
つまり当初のPerlの(当時としては)強力なリスト操作を実現するのに必須の機能だったんだよ。
PerlがPerlであるための重要な機能。Perlはスカラとリストを区別する
リスト指向言語とでもいうような特殊な言語だった。
残念ながらリスト指向言語ではなくオブジェクト指向言語の時代になっちゃったけどね。
つまりはPerlという言語を成り立たせるために重要な意味がある機能であるが
オブジェクト指向導入によって、意味が薄れてしまったということ。
pushなどの基本命令の引数にリストしか使えなかったのが
5.14からリストのリファレンスも受け付けるようになったじゃない?
さらに接頭記号の存在の意味が薄れてきたよね。
そう、このようにどんどんPerlのアイデンティティがなくなってしまう歴史上に俺たちがいるだけなんだよ。

159 :
>>20
このゴミみたいなゴミッカスソースコードが
いったい何を意味するのかは知らないし、知る気も起きないが
とりあえず
Rubyであると認識できるソースコードにした
http://ideone.com/CazxfB

http://ideone.com/mM6yCi
3年ROMれよ

160 :
あ一箇所ミスってる
loop.with_index 0 do | s |

loop.with_index 0 do | _ , s |

161 :
ミスってんのに動くあたりがマジでゴミ
何がしたいのかわからないゴミ

162 :
そもそも a = 0
while a == 0
a = rand(n)
endこれなんなの?つい a = rand n while a == 0こんなふうに書き直し
ちゃったけど、a=rand(n)+1でいいじゃねーかRよ C言語の入門書の初期にかかれてるだろらんど+1なんて何これ?Rよ

163 :
死ぬべき

164 :
>>162
rand(n-1)+1だろ

165 :
馬鹿か

166 :
最近スペースが文字化けしたコードがよく貼られてるけど
板の仕様変わったのか?
なんで誰も突っ込んでやらないんだ?自演か?

167 :
>>159
なんか今消えてるけどもともと一番上のリンクにあるコードコピペしただけだし
つーかこの直したコードは計算結果が間違ってる上にコード自体もゴミすぎ
こんなのなら元のやつのほうがずっとましだわ
20のコードは頑張って一般化した
http://ideone.com/aOUvbD

168 :
メソッド名はdown_fromのほうがよかった

169 :
JSは貶すまでもなく糞

170 :
自演最高

171 :
お前らが無駄な登場人物を増やしてる間に
どこかで新しい言語が開発されてるんだよな

172 :
>>157
ポインタが難しいという人のためにリストを値渡し
あと変数名と関数名の違いを明確にする
もしグローバル変数が禁止されてもグローバル関数が巻き添えを食わないとか

173 :
JSってマジごみで目が腐るから
これからコード書く人はCoffeeScriptで書いて

174 :
ほんと頭のおかしい奴が住み着いたなw

175 :
CoffeeScriptは3年後にはなくなってると思うけどね。
ES6が普及したらCoffeeScriptは{}の代わりに
インデントを使うJavaScriptでしかなくなるし。

176 :
3年もウンコ言語で我慢することに
何の意味もない

177 :
ていうかES6普及するのいつだよ
3年後はねーだろ

178 :
言語オタクやってばかりいてコードを書かないと来世はゲンゴロウになっちゃうから注意しようね

179 :
なくなってしまう(=ES6の普及が完了する)のが3年後であって、
ES6が使えるようになるのが3年後だとは言ってないよ。
ES6は今すぐでも使えるよ。Firefoxが多く対応しているが、
対応していないブラウザだってこれらを使えばすぐに使える。
http://openweb.co.jp/2013/01/18/%E6%B0%97%E3%81%AB%E3%81%AA%E3%82%8B%EF%BC%81%E5%A4%A2%E3%81%8C%E3%81%82%E3%82%8B%EF%BC%81javascript-next-ecmascript6-1-es6%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E9%96%A2%E6%95%B0/
> 例えばtraceur-compilerは、Googleが開発しているES6コンパイラです。
> traceurを使用すると、ES6で書かれたソースコードをES5に変換し、実行することが可能です。
>
> また、es6-shimは、ES6で導入された新しいAPIをES5で実装したものです。
> こちらは新しい言語機能には対応しておらず、単にAPIのPolyfillという意味合いが強いライブラリです。

180 :
CoffeeScriptからES6に変換してくれる
ツールが出てくれることを願ってる。
でてくれないと、CoffeeScriptからES5に変換した後
手動でES6に修正しなければいけない。
なんでCoffeeScriptなんか使ったのか?って話になる。

181 :
ほう、ES6は後方互換性が無いのか

182 :
ES5からES6へのトランスレータがあるって書き込みの直下に
ES5からES6へ手動変換しなければいけないと書き込む
この頭の悪さ、目眩がする

183 :
>>182
ES6からES5へのトランスレータだろ
頭悪いのは、誰かな?
自覚した?

184 :
あ、間違えた
ES5からES6なんて不要だった

185 :
>>181
http://ja.wikipedia.org/wiki/%E5%BE%8C%E6%96%B9%E4%BA%92%E6%8F%9B
後方互換の例
・プレイステーション2はプレイステーション用のソフトウェアを使用できる。
ES6はES5用のコードを利用できる。
ゆえに後方互換性がある。
”後方”って先と後のどっちで
互換性があるのかわかりにくいよね。w

186 :
traceur-compilerはGoogle開発なのか。
https://github.com/google/traceur-compiler
コミットログを見ると、今も頻繁にアップデートされているし
これは使えるかもな。
https://github.com/google/traceur-compiler/commits/master

187 :
使えると思うけど、Google開発ってのは
こと言語処理系に対してはマイナスイメージしかないw

188 :
>>187
それは単にGoogle以外が
言語開発してないだけだろw
いろんな言語を作ってそれが普及してないからって、
他の会社の言語が普及したわけじゃねーよw

189 :
>>178
それは言語オタクではなく仕様オタクだと思う
仕様ばかりで実装しないオタク

190 :
>>188
どうしてもMSと比べてしまうからね

191 :
CoffeeScript > 越えられない壁 > Dart

192 :
>>190
仮にMSの方が上位だとして、
2位のGoogleが、マイナスイメージになるんですか?

193 :
JavaScript >>>> その他のスクリプト言語 >>>>>CoffeeScript > 越えられない壁 > Dart

194 :
このスレに出てきたコード見る限り、
JSは最下位レベルです

195 :
プログラミング言語って簡単に亡くならないけど、唯一例外があって
企業が主導してる言語は死滅しやすい
仕様が標準化されてるか、フリー実装があるかどうかはあんまり関係無くて、
言語周辺のエコシステムが企業抜きで回るようになってないから
企業が抜けたら死滅する

196 :
企業が主導している言語で
死滅した実例って何かある?
死滅しやすいというぐらいなのだから、
3つぐらいはほしいね。

197 :
個人が作った言語も死滅しやすいと思う。

198 :
AppleScript, Delphi, 旧VB

199 :
>>197
殆どが普及もせずに死滅するけど
一度普及したらそう簡単に死なないよ

200 :
Boalandの悪口はそこまでにしておねがい

201 :
いや、許さない

202 :
>>199
それは企業が主導していても
ソースコードが公開されるか
仕様が標準化された言語も
同じじゃね?

203 :
>>198
その一蘭を見ると、ソースコードや仕様が
公開されていることは、重要な事なんだなぁと思った。
それさえできていれば、一度普及した言語が
消えることはないだろうね。

204 :
JavaBeansですねわかります

205 :
出る牌は打たれる

206 :
JavaBeansは言語じゃないよw
あと消えてもいないよ。

207 :
日本のドカタ界では現役なの?マジあほじゃん

208 :
やっぱり複数の実装がある言語がいいや。
どこか特定の企業、個人が俺が元祖だって
顔をしているものは使いたくないね。

209 :
>>207
またお前か。
どうせ荒らすだけが目的なんだろ?

210 :
言語を選ぶなら複数の実装があって、それらがちゃんと
最新に追尾しようと開発が続いている言語だな。
途中で開発をやめてるようなものは数にはいらん。

211 :
複数の実装があって、それらの開発が続いている言語なんて
レアなんじゃないか? C++以外になんの言語が有るんだろう?

212 :
ドカタはクソコードをメンテし続けるのが仕事だから
その言語の選び方は正しいよ

213 :
>>179
ブラウザのシェアって、デスクトップはFXが15% Chromeが15% IEが残り全てだろ
特にIE8という糞ゴミがいまだに3割ぐらいシェアあるし
HTML5やCSS3だっていまだにIEというゴミが足引っ張って完全対応できないつーのに
ES6普及が3年後なんて絵空事だよ

スマフォのブラウザは対応する予定あんの?

214 :
>>211
ECMAScript
Python

215 :
同時に複数実装する必要はないよ
その気になればいつでも再発明できる状態だけでいい

216 :
>>213
サーバー側なら問題ないんじゃね?
そもそも、PythonやRubyは元からブラウザでは動かないわけで、
ブラウザを考慮する必要はない。
PythonやRubyと同じ使い方をするのであれば、
ES6への移行に障害はないでしょ?

217 :
>>215
それだと、競争や開発プロセスという点で
問題がある。

218 :
>>213
すみません
まだ IR6 使ってます

219 :
ブラウザでネイティブで動かなきゃならないというのなら、
どの言語も普及しないと思う。
変換して動いてもOKというのなら、
ES6も普及すると思う。

220 :
ES6も何分の一かのメソッド系の追加要素は使いやすいと思う

221 :
>>220
Polyfillで実装できる場合・・・es6-shimを使ってメソッド追加
言語仕様そのものが違う場合・・・traceur-compiler使ってes6からes5に変換
これで殆ど行けるんじゃないの?
CoffeeScriptからES5に変換するぐらいなら
これからはES6からES5に変換したほうがいいかもね。

222 :
それは散々言われてる
CSのスタイルは構文が追加されるに従って限界を迎え始めてるし
括弧フリーはもうおわりかなあ

223 :
ES6のsymbolとかをES5に変換することって可能なの?
現実的には無理だと思うんだけど

224 :
>>223
Symbolってこれ?
http://www.ryandao.net/portal/content/summary-ecmascript-6-major-features
クラスに変換すれば出来そうだけど?

225 :
無理
全てJS厨の幻想

226 :
まーたキチガイが出てきた

227 :
うーん。新しいプリミティブ型をエミュレートするのはかなり大変だと思うんだよね。
まあ低い確率の衝突はしかたないものとして、長文の文字列で代替するでっち上げ実装なら、
列挙とtypeof辺りの少しのラッパーで概ね上手くいくか。
本気でやろうと思ったらJSでJSの処理系1から作らないと、無理だと思うけど。

228 :
>>227
そこまでやる必要はないでしょ。
完璧なエミュレータが必要なわけじゃないんだし。
重要なのはES6のコードを書いて、
それがES5で動くということ。
ES6完全移行までのつなぎとしてなら十分だよ。

229 :
テキトーでいいんだよJSなんて
==の挙動がJSerの思想をよく表してる

230 :
> ==の挙動がJSerの思想をよく表してる
スクリプト言語にはどれにも当てはまる話だろw
これは型がない以上、どうしようもない問題なんだよ。

231 :
そこまでって何言ってるの??
symbolはES6にとって最も大事な機構の1つだよ。
今まで不可能だったネイティブオブジェクトの全うな継承にも関わってるし、
@@createとかES5にどう変換するっていうのさ?
いや、ES5じゃ不可能なんだけどね。
だからそのまま変換じゃなくて処理系的な仕組みをどんどん入れて行かないと、
というか最初から処理系作るのが一番楽かも。

232 :
>>231
いや、なにを早とちりしてるのさ。
symbolが動けば問題無いだろってことなんだけど。

233 :
>>230
お前が知ってるのってJSとPHPだけ?

234 :
>>231
symbolじゃよくわからんので、
他の言語でいう何なのか教えてくれ。
それともJavaScript特有のなにかすごい機能なのか?

235 :
どこまで気にすべきか
例えばES5に楽して変換すると
sym = Symbol()
typeof sym // "object"
もしくは
typeof sym // "string"
みたいになると思うけどそれはどうなのか

236 :
>>233
Perlもだよ。

237 :
>>235
まず、typeof 演算子 を es6_typeof 関数に、ES6->ES5コンパイラが変換。
あとは君にも出来るよね?

238 :
>>234
文字列じゃないけどハッシュのキーとして使える特殊なもの。
と、いうのも、JavaScriptでは基本的に全ての作業は、
オブジェクトベースで内部プロパティ、メソッドみたいな形で定義されてる。
まあちょっと質が違うけど例えば x.a = b は確か x[PUT](a,b) みたいな感じ。
それでいうPUTみたいなのはべつに"PUT"という文字列じゃない。
そういうのがsymbolと思うとできた経緯がわかりやすいと思う。
まず、文字列のプロパティをどんどん増やしたり、
操作メソッドを作らなくても、新しい機能が追加できることと、
そういう内部機構との橋渡し的な役目がある。
文字列キーと比べて、
勿論「X」symbolと"X"文字列は衝突しないし、
symbolは従来手段で列挙もされない。
その他もろもろ、そんな感じ。

239 :
・文字列のハッシュ値の解決が要らないので、原理的には配列のインデックスのようにアクセスが早い
・privateっぽく使いやすい

240 :
他の言語にも欲しい機能だね。

241 :
>>236
スクリプト言語なら仕方ないと言うなら、
もう少し色々と経験した方が良いと思うよ
まあ、本当は経験しなくても良く考えたら動的型は関係無いって分かるけど

242 :
>>241
じゃあ、多くのスクリプト言語に
当てはまる話って言えばいいのか?

243 :
言語をあまり知らない人は、
他の言語にもあるってことを知らないんだよ。

244 :
CSの==はマトモだけど、JSはES6でマトモになるの?

245 :
ほらやっぱり知らないw
ずっと前からある===を使えば、
型までみる厳密な比較ができるじゃんかw

246 :
これがなんともまあ面白くて気持ち悪いよね
//オブジェクト
!!({}) //true
({}) == false //false
//配列
!!([]) //true
([]) == false //true

247 :
""+({}) // "[object Object]"
({}) == "[object Object]" // true
""+([1,2,3]) // "1,2,3"
""+([]) // ""
([]) == "" // true
"" == false // true
([]) == false // true
Array.prototype.toString = () => "[object Array]"
""+([]) // "[object Array]"
([]) == false // false

248 :
もうここらへんくると数学の話になるんだけどね。
==という演算子に対して
どういう動きをするかが
定義されているかどうか。
定義があればその定義通りの動作をし
なければ、エラーになる。
それだけの話。

249 :
型が同じもの同士に関しては作用も速度も変わらないしね
JSとか、動的型付け言語では、厳密に型を見るんじゃなくて
事前に揃えておく方がいいと自分は思う
例えば
x //???
n = +x //100% number (NaN入る)
n = +x || 0 //100% number (NaN入らない)
n = x|0 //100% 整数

250 :
coffee使ってるのってrubyユーザーだけだろ
わずかなシンタックスシュガーの為にロックインされるぐらいなら、jsそのまま使った方がいい

251 :
>>246-247のまとめ

//オブジェクト
!!({}) //true ハッシュオブジェクトがある=真、その反対は偽、その反対で真
({}) == false //false
//配列
!!([]) //true 配列オブジェクトがある=真、その反対は偽、その反対で真
([]) === false //false

""+({}) // "[object Object]" 文字列にキャストするとtoString()が呼び出されるため
({}) === "[object Object]" // false
""+([1,2,3]) // "1,2,3" 文字列にキャストするとtoString()が呼び出されるため
""+([]) // ""
([]) === "" // false
"" === false // false
([]) === false // false
Array.prototype.toString = () => "[object Array]"
""+([]) // "[object Array]" 文字列にキャストするとtoString()が呼び出されるため
([]) === false // false

252 :
JSは加算もゴミだね
ちゃんと例外投げろよ馬鹿か

253 :
>>250
nodeでもES6使えたほうが便利だろ
便利ならとっとと使え

254 :
>>246-247のまとめ (修正+補足追加)

//オブジェクト
!!({})               // true ハッシュオブジェクトがある=真、その反対は偽、その反対で真
({}) === false          // false ハッシュオブジェクトはfalseではないから
//配列
!!([])               // true 配列オブジェクトがある=真、その反対は偽、その反対で真
([]) === false          // false 配列オブジェクトはfalseではないから (*1)

""+({})              // "[object Object]" 文字列にキャストするとtoString()が呼び出されるため
({}) === "[object Object]"  // false ハッシュオブジェクトは文字列ではないから
""+([1,2,3])            // "1,2,3" 文字列にキャストするとtoString()が呼び出されるため
""+([])              // "" 同上
([]) === ""            // false 配列オブジェクトは文字列ではないから
"" === false           // false 文字列とfalseは異なるものだから
([]) === false          // (*1)と同じ
Array.prototype.toString = () => "[object Array]"  // toStringオーバーライド
""+([])              // "[object Array]" 文字列にキャストすると(オーバーライドされた)toString()が呼び出されるため
([]) === false          // (*1)と同じ

255 :
>>252
> JSは加算もゴミだね
> ちゃんと例外投げろよ馬鹿か
お前は演算子オーバーロードの世界には
ついてこれないよ。

256 :
>>253
traceur-compiler使ったら
nodeでES6使えたよ。

257 :
演算子オーバーロードが無い上に
デフォルトの定義がウンコ

258 :
>>257
文字列とオブジェクトを結合した時、
toStringが呼び出されるってだけですが、
お前には難しいんだろうねぇ。

259 :
==は型が違ったら最終的に文字列になると思ったらOK
オブジェクトの場合メソッドとしては基本的にvalueOf、なければtoStringが呼ばれる
但しDate型はtoStringが先
これはDate.prototype[@@ToPrimitive]で決まってる
噂のToPrimitiveシンボルちゃんの出番

260 :
変換していって最後まで型が合わなければ最終的には数値型になるよ

261 :
perlみたいにeqと==を文字列比較、数値比較で使い分けるのが分かりやすい

262 :
>>166 以来スペースが文字化けしたコードが貼られなくなったな

263 :
>>262
どういうコードよ
&nbsp;(HTML special-chars)の事?

264 :
>>237
ES5にこれ変換できるの?
class MyArray extends Array {
peek(){ return this[this.length-1] }
}
arr = new MyArray(1,2,3,4,5);
arr.peek(); //5

265 :
>>258
リストとハッシュとか、ハッシュと関数とかを足してもエラーにならない
真正のゴミなんですが

266 :
リストとハッシュとか、ハッシュと関数とかを足してエラーになるかどうかなんてどうでも良くないか
あんたは、あーリストと関数足せちゃうの忘れてたよー!困った事があるのかw?

267 :
数えきれないほどあるわボケ

268 :
ワロタw

269 :
>>264
無理
全てJS厨の幻想

270 :
>>238
ようわからんけど文字列以外の型をハッシュのキーに使えるようにするのと比べて
どう違うの?

271 :
>>264
traceur-compilerに食わせたら
こういうコードになったよ。
var $__superDescriptor = function(proto, name) {
if (!proto) throw new TypeError('super is null');
return Object.getPropertyDescriptor(proto, name);
}, $__superCall = function(self, proto, name, args) {
var descriptor = $__superDescriptor(proto, name);
if (descriptor) {
if ('value'in descriptor) return descriptor.value.apply(self, args);
if (descriptor.get) return descriptor.get.call(self).apply(self, args);
}
throw new TypeError("Object has no method '" + name + "'.");
}, $__getProtoParent = function(superClass) {
if (typeof superClass === 'function') {
var prototype = superClass.prototype;
if (Object(prototype) === prototype || prototype === null) return superClass.prototype;
}
if (superClass === null) return null;
throw new TypeError();
}, $__getDescriptors = function(object) {
var descriptors = {}, name, names = Object.getOwnPropertyNames(object);
for (var i = 0; i < names.length; i++) {
var name = names[i];
descriptors[name] = Object.getOwnPropertyDescriptor(object, name);
}
return descriptors;
}, $__createClass = function(object, staticObject, protoParent, superClass, hasConstructor) {

272 :
var ctor = object.constructor;
if (typeof superClass === 'function') ctor.__proto__ = superClass;
if (!hasConstructor && protoParent === null) ctor = object.constructor = function() {};
var descriptors = $__getDescriptors(object);
descriptors.constructor.enumerable = false;
ctor.prototype = Object.create(protoParent, descriptors);
Object.defineProperties(ctor, $__getDescriptors(staticObject));
return ctor;
};

var MyArray = function($__super) {
'use strict';
var $__proto = $__getProtoParent($__super);
var $MyArray = ($__createClass)({
constructor: function() {
$__superCall(this, $__proto, "constructor", arguments);
},
peek: function() {
return this[this.length - 1];
}
}, {}, $__proto, $__super, false);
return $MyArray;
}(Array);
arr = new MyArray(1, 2, 3, 4, 5);
arr.peek();

>>269
じゃま、荒らしは消えろ。

273 :
>>271-272
ありがとう
でもそれじゃあ上手く動かない

274 :
>>270
要は特殊なメンバを増やしてたら収集がつかないし見苦しいから、
裏文字列キーみたいに振る舞うのを作ったってこと。
>>259みたいなメタな操作に関わる役割がある。

275 :
>>273
そもそもArrayって継承できるの?
というか、そもそもES6のclassの書き方がわからない。
いろいろ突き止めていくと、
これをES6の仕様として実装できるのかな?
という問題にぶち当たった。
var a = new Hoge(1, 2, 3);
a.get(1);  // ←Hogeクラスに、getメソッドを作ればいいだけ。
a[1];    // ←これどうするの?

276 :
結局静的型付け言語を動的言語並みに楽に書けるようにした
C#
Scala
が最強なんだよな
つかC#はそもそも動的型持っているからもう静的型付け言語とも言えんか

277 :
scalaは中途半端に関数型言語を取り入れて微妙な感じがする
perlばりに省略記法があって見辛いし

278 :
>>275
ES6から@@createのお陰でまともに継承できるようになった。
ES5ではProxyも使えないとなると、お手上げ。

279 :
>>264
少し話を整理したくなった。
そのコードでの問題は、
> peek(){ return this[this.length-1] }
これなんだよね。
this.lengthはまあ置いといて、簡略化するとthis[n]
このthisというのは、MyArrayクラス。
つまりは、
var a = new MyArray();
a[n];
こういうことをしているのと同じ。
JavaScript組み込みのArrayはa[n]が実行できるが、
ES6でa[n]が実行できるMyArrayクラスを作成できるのかということ。
ES6でArrayクラスを継承した真の配列が実装できるのかということ。
ES6の内容は大きいので俺の知らない何かがあるのかもしれないけど、
ES6で構文エラーになるようなコードはさすがにES5に変換できないわけで。

280 :
>>264
class MyArray extends Array {
 constructor(...args) {
this.push(...args);
 };
 peek(){ return this[this.length-1]; } ;
}
arr = new MyArray(1,2,3,4,5);
arr.peek(); //5
これで動いたよ。
コンストラクタが必要ってことじゃね?

281 :
>>279できる。
MyArrayクラスはconstructorを定義してないので、
Array.prototype.constructor == Array をconstructorとしてる。
で、こっからが大事なことだけど、
Arrayがコンストラクタとして呼び出される時Array[@@create]によって、
thisオブジェクトが「オブジェクトがArrayたるようになる処理」にかけられる。
具体的にはプロトタイプの継承+オブジェクトへのあらゆる操作をArray用のもので定義し直す。
結果MyArrayのインスタンスはちゃんとArrayを継承できたオブジェクトになる。

282 :
>>280の方法で動くということは
なんらかの処理を加えれば
実装できそうだね。
traceur-compilerにバッチでも投げたら?

283 :
>>279
そもそもES5でもこれで出来る。
function MyArray() { };
MyArray.prototype = new Array;
var a = new MyArray();
a.push(1, 2, 3);
a[2];

284 :
つまり、まとめるとgoogleのtraceur-compilerはウンコで
ES6 -> ES5 変換は絵に描いた餅
JSerの妄想だったってことだね

285 :
コンストラクタ書くならこうじゃないの?
class MyArray extends Array {
 constructor(...args) {
super(...args);
 };
 peek(){ return this[this.length-1]; } ;
}

286 :
>>283
lengthが重要

287 :
>>284
はいはい、必死だね。何じゃましてるの?
>>286
lengthもちゃんと表示されるよ。

288 :
>>280
これも
arr[5]=6
arr.length//6
arr.peek()//6
ってなんの?

289 :
>>285
それだとなぜか動かないんだよね。
変換後のソースは見てないけれど、
Arrayが特殊なんじゃないかな。
でもまあ実装する方法はあったので、
traceur-compilerのバージョンアップで
そのうち直る程度だと思ってる。

290 :
>>287
定義した時から動かないじゃん
ゲッターセッターじゃなくて単なる数値が入ったプロパティになってる

291 :
>>288
細かい揚げ足取りだなぁ。
traceur-compilerのバグだろ?
パッチ書いて修正すれば済む話だろ。

292 :
>>291
違う違う
ものすごく大事な本質なんだって
だから、そのためにES6ではcreateシンボルができたんだよ
ES5ではArrayやDateなんかをまともに継承することは不可能なの
散々問題になってES6でようやく解決できるのよ

293 :
Arrayの継承でlengthが約立たなくなるってのが一番分かり易い問題。
そうじゃないんなら>>283でいいはず。

294 :
無知なJSerをJSerが啓蒙するのは良いけどさ、
このスレでやることかな?

295 :
>>292
変換後のコードが長いだけで
実装はできてるじゃん。
ES5ではArrayやDateなんかをまともに継承するのが
面倒だったから、ES6ができただけ。
アロー関数だってそうじゃん。
出来ないから作られたのではなく、
面倒だから作られただけ。

296 :
>>167
何から何までおかしい
少なくともLLを常に触ってる人のかいてるコードには到底見えないが
他人に見せれるレベルじゃないよそれ
まずrubyでwhileを多用するなって意図がなんで伝わってないんだろう
殆どの場合においてそれ以上の選択肢があるのに
イテレータ知らないから、他の言語の知識でwhileコード書いてるだけじゃん
rubyでやってる意味がまるでないのに言語の拡張子だけ .rb にしたようなコードだな

297 :
え?ES5って継承もまともに出来ず
ES6になってやっと「他の言語なら当たり前にできる」継承が
できるようになったの?へー

298 :
>>295いや、それが原理的にできないんだよ。
だって配列のlengthはゲッター/セッターとして定義されてるわけじゃなくて、
[[DefineOwnProperty]]内部メソッドによってProxy的に実装されてるものだから。
だからArrayの[[DefineOwnProperty]]内部メソッドを継承してもらわないとどうやっても無理。
それを間接的にやってくれるのがArray[@@create]
面倒だからというレベルじゃなくて、それこそ処理系を丸ごと作る勢いでもない限り、原理的に無理。

299 :
楽しく書けることがモットーのRubyだったのに、
いつの間にか独善的な「美しいコード」の押し付け合いになってしまってるよなあ
Rubyがオワコンの理由は、Windowsだとまともにgemが動かないことに加えて
コミュニティーが糞過ぎるってことだな

300 :
マジでゴミ

301 :
コミュニティー()()()()

302 :
to_i、downtoの乱用
メソッドの途中でreturnの乱用
根本的に意味不明な計算が多い
odd_size = false

とかなんでodd_sizeっていう名前の変数名に true falseが入るの?
命名規則すら間違ってね??
50行目から68行目までもひどいdowntoコピペして似たようなコードが2か所にある
67から71までに近くにendが4つも集中してる
rubyのendは可読性を下げるんだよ
endが重なる部分は、あえて別の書き方を採用してendを減らす工夫をすればいいのにしない奴のコードが多いからバカにされる
ゴミ

303 :
>rubyのendは可読性を下げるんだよ
>endが重なる部分は、あえて別の書き方を採用してendを減らす工夫をすればいいのにしない奴のコードが多いからバカにされる

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

304 :
>>303
いやほんとそれだよ
endガーとかよく言われるけど
俺の書いてるコードでendがやたら重なる事なんてないよ
http://ideone.com/mM6yCi
これだって2〜3個じゃん miller_rabin_pass  はわけわからない事やってるからスルーしたせいで3ネストになったけど
rubyは複数の書き方が用意されてるから
その気になれば1つのイテレータにメソッドチェーンして殆どの処理を突っ込めるわけ
それが何? whileとか使うとメソッドチェーンが出来なくて
後からコード改修の時にイテレータでかいててくれればメソッドチェーンをどう繋げるかって考えて
余り外観を弄らずに処理変えられるのに
forとかwhileみたいな非イテレータ使われると、イテレータ封じでrubyコードかかされてるようなもの
だからendが増える

305 :
インデントの問題もあるんじゃない?
スペース6つとか8つにしたらendネストも見やすくなるかも

306 :
rubyソースコードでの問題は
処理の畳み込みなどで、長く複雑になるメソッドチェーンを、
どういう風に分割するかであって
端からメソッドチェーンを諦めてるコード書く奴って信じられない
あと動的言語で変数多用する奴もゴミ
動的言語においての変数宣言 は
その気になれば変数宣言ほぼなしで行けるがそれをやると処理がどんどん複雑になるから
処理を「簡略化」する為に変数を使うもの
rubyは畳み込みとメソッドチェーンのみですべての処理を書けるようになってるんだよ
妥協してる奴はイテレータ分かってないゴミ

307 :
というかなんでendがいるの?
インデントでブロック識別するのなら
end無くて空行にしたほうが見やすいのでは

308 :
話は変わるけどべき乗とモジュロの演算子が欲しい

309 :
inject中にbreakとか筋悪すぎ
まともな知能があれば誰もやらねーよ
書き換えはまったくエレガントになってるわけじゃなくて手続き型のまんまで
組み込みメソッド使えば賢く見えるとでも思ってるアホ
計算量増やして書くなら例えば
Array.new(20) { rand(n - 2) + 1 }.all?{|r| miller_rabin_pass(n, r) }
こんなふうにやんだよ馬鹿

310 :
関数型っぽいな
まあそこは良いとも悪いとも思わんが

311 :
同じ計算をしないように変数に格納してんのに
それすらもわからずケチつける馬鹿

312 :
なら純粋な関数型言語じゃあメモ化ってできないのかな?

313 :
メモ化言語機能じゃなくは処理系の実装依存な気が

314 :
非関数型なら明示的にするものだけど
関数型なら暗黙的にされるってことか

315 :
>>310
関数型っぽいけれど、ほぼ手続き型で書かれたコードだな
>>309も指摘しているけど、関数型プログラミングだと
injectはArrayのように列挙可能なオブジェクトを畳み込むために
利用されるから、途中でbreakは入らない
しかもそのinjectブロック内で「変数の再代入」を多用している
あと>>302も指摘しているreturnの多用
関数型プログラミングだと、メソッド定義の先頭部分で
事前条件を判定して一致しなければリターンすることは
ネストの深さを抑えるという意味で推奨されるけど、
処理本体内のreturnは使わず、普通にif .. else .. で分岐させる
全体的に、loopで無限ループに入ってbreak/returnで抜けるという、
手続き型プログラミングとしても読みづらいコードだと思う

316 :
Ruby信者ってPythonみたいなインデントブロックを採用しなかったことにコンプレックスありそう

317 :
UYは駄文垂れ流しのがいい。
その方がまだミステリアスな雰囲気ある。
コード見ると、あっ(察し)になる…。

318 :
>>316
インデントブロックは手続き型プログラミングであれば
好ましいと思うけど、関数型プログラミングではカッコを多用するから
必要性は感じられないね
あと、Rubyは do .. end の代わりに、C言語流の { .. } が
使えるからタイプ数も少ないし、vi を使っていれば
%キーの一発でカッコの対応付けが確認できる利点がある
これはインデントベース言語だと(エディタ拡張無しには)無理
まあ、Python信者ってRubyやJSみたいなメソッドチェーンを
採用しなかったことにコンプレックスがありそう....w

319 :
Rubyは世界的なシェアでみたら、PHPとPythonにボロ負けだし、これからもどんどん離されていく傾向が見て取れるからコンプレックス丸出しだが、
PythonがRubyに対して羨ましいと思うことはありえんわ・・・

320 :
過去スレ「Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1」より
http://anond.hatelabo.jp/20120118220204
>>48 : デフォルトの名無しさん : 2011/11/13(日) 08:30:25.68
>>
>>44
>>Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
>>さかんに宣伝され、雑誌でもZope特集が組まれていた
>> 
>>少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
>>そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
>>今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
>> 
>>djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
>>しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
>> 
>>Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
>>何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
>>Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
>> 
>>だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている

321 :
>>319
シェアに対しては多少あるけど(ライブラリとかも充実するだろうしな)
言語が好きだから信者なのであって、言語仕様に対してはコンプとかはないなあ
…強いて言えば、冒険心豊かな開発者さんにそろそろ落ち着いてくださいと言いたいことは無くもない

322 :
このスレでコンプレックスや信者話を話題にするのは、
いつも>>316みたいにPythonマニアなのが不思議
世界的にシェアがあるPython様なんだから、
マイナーなRubyなんて気にせずに振る舞えばいいと思うんだけどねえ....

323 :
DjangoはもうRailsなんて追いついたろ
足りないのは日本語での情報量ぐらい

324 :
>>323
>>320がカキコまれたのはもう2年も前だよ
それほどDjangoが優れていたなら、今頃は日本語情報は溢れているはずだし、
出版社もこぞってDjango本を出版しているんじゃないかな
      のび太くん、もっと現実をみなくちゃ.... by どらえもん (AA略

325 :
Pythonが羨ましいとは思ってますよ
ライブラリの充実度的な意味で

326 :
>>324
日本ではPython自体が普及してないけど、PythonがRubyより劣る言語だとか、RubyがPythonより圧倒的に劣る言語とは思わんだろ
それと同じことだよ
ASP.NET MVC4はRailsやDjangoより完成度高いがシェアでは恐らく一生勝てないと思う

327 :
PythonはGoogleが公式言語ってぐらいサポートしているけど
Rubyのバックには何にもいないだろ
強いて言えば島根県()

328 :
もうRailsの本も大して売ってないけどw

329 :
>>309
読めてるか?
injectじゃなくて
どう見てもloop.injectなんだが
>>315 loop.injectでbreakいらないってマジで何の話してんの? バカ以前の問題として読めてすらいなくね?
無限ループでbreakいらないって寝言は寝ていえよ
そもそも
> rand(n - 2) + 1 
 ↑ これ。
何?
こういう意味不明な1とか2での数合わせが発生してても何も感じてない辺りが、
こんなの晒してて恥ずかしくないの?としか、
たった一行でマジックナンバーが2個出てくるとか冗談にしとけよ
まずArray.newとかも記述が冗長だから普通は
ロジック全体を見直して、+1だの-1だのの処理を消すんだよ
> しかもそのinjectブロック内で「変数の再代入」を多用している
変数がバグの元だって意味をまるで理解していないなこの馬鹿

330 :
マジでゴミ

331 :
無限ループの中でbreakいらないってマジで何の話してんの
意味がわからん
マジでゴミ
Rゴミ

332 :
終了条件がはっきりしてるのにわざわざ無限ループにして
breakしてるゴミだろ
rand(n - 2) + 1は1からn - 1までの乱数って簡単にわかるし
それ以外でどういうコード書くんだ
わざわざrangeオブジェクトつくるのかこのノータリンは

333 :
>>332
Rゴミ

334 :
R池沼

335 :
>>334
>>20
http://ideone.com/CazxfB
これ
6行目  while y > 0
20行目  while d % 2 == 0 do
なにこれ?
なんで20行目の whileにはdoついてんの? 意味分からん Rよゴミ
なんでdoつけたの? Rゴミ

336 :
マジゴミ

337 :
rand(n - 2) って 0からn-3じゃないのか!???
無茶苦茶だなRubyはw

338 :
>>337
流石に>>332のミスだと思われ

339 :
>>335
だからそのコードは一番上のリンクからコピペしたやつだって言ってんだろ

340 :
コードは短くするべき
短いうちにテストしてから長くするべきであって、長くなってからテストしたら面倒臭い

341 :
>>339
Error
Jump to: navigation, search
One revision of this difference (16298) was not found.
This is usually caused by following an outdated diff link to a page that has been deleted. Details can be found in the deletion log.
そんなものは存在しない
謝れ

342 :
ここみりゃわかるけどなぜか26日に消されてるんだよ
http://en.literateprograms.org/index.php?title=Miller-Rabin_primality_test_(Ruby)&action=edit&redlink=1
消されてるってのも言っただろ

343 :
>>341
英語も読めないのかコイツは。

344 :
はっあ?
例えば参加しているプロジェクトがありました
どこかからソースコードを引用してロジックを一部書きました
ところが後からその部分でエラーが出てしまいました
でも、僕はそのソースコードを書いていません 引用しただけです
僕は悪くない
って。そんな時でも同じこといえんの?
お前が悪い
謝れ
悪い事をしても謝らない大人はゴミ

345 :
仲間に悪いことするのはあれだがライバルに悪いことするとヒーローになれるぞ

346 :
>>326
まあ、そういうことだ
世界的なユーザ数ではPythonが圧倒していても、
ことWebの世界に限れば(>>327のいう)Googleというビッグネームがバックにいてもなお、
島根県wしかバックにいないRailsにDjangoは「現実に」勝てていないってこと

347 :
鳥取をディスるのはやめろ

348 :
正規表現の後読みができない言語ってある?

349 :
DjangoはMozillaにも採用されているぞ
Railsが採用されたサイトってなによ
TwitterとかLinkedInの話題はしないであげるから

350 :
sed awk c/c++

351 :
Rubyなんていくら持ち上げてもさ
debianに標準で入ってないような不要な言語だからな

352 :
Rubyの乱数はrandで簡単でいいな

353 :
関数が必要なら作ればいいだけのこと

354 :
標準ライブラリとして
言語にデフォルトでついているのがいいんだろ。
仕事してるのにいちいち関数なんか作ってられるか。

355 :
じゃあJavaScriptはjQuery使わずに自分で作るの?

356 :
rand関数くらい作れよクズwww

357 :
>>355
そもそもJSなんて使いませんよw

358 :
Rゴミwwwwwwwww
RRゴミwwwwwwwwwwww
ゴミゴミwwwwwwwwwwwwww
ゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww

359 :
ウェブサイトも規模大きくなってくるとスクリプト言語じゃ無理がでて来るもんな

360 :
それは別に問題ないんだけどな。木造と鉄骨みたいなもんだ

361 :
YoutubeやDropbox程度の規模なら大丈夫

362 :
dropboxってメモリ食う

363 :
規模が大きくなるとスクリプト言語じゃ無理が出てくる理由が分からん
同時にコンパイラ言語では大丈夫な理由もわからん

364 :
制限を勝手にやってくれるかどうかの話だしな
それに制限じゃなくて>>249この考え方がいいと思う

365 :
大規模だとその型チェックで省けるエラーが大きいからな。
型推論の恩恵を受けてる言語なら意味がわかるはずだ。

366 :
>>365
大規模だと型チェックの恩恵が高まる理由がよく分からん。
そもそも本格的な型推論がある言語で大規模開発に使われてる言語自体強いて言えばHaskellぐらいしかない。

367 :
未来のコンパイラ言語に期待しようって提案してるだけだよな
失敗したら、懐疑的な人に足を引っ張られたせいにするから大丈夫

368 :
>>366
型チェックと考えるからわからないんじゃね?
メソッド(プロパティ)の参照チェックと
考えたらどうかな?
このメソッド(プロパティ)はプロジェクト全体の中から
使用されているのだろうか?
プロジェクト全体のどこから参照されているのだろうか?
修正した時に大規模なソースコードの中で影響範囲はどのくらいなのか?
どう?納得できた?

369 :
>>368
・・・grepすればいいんじゃね?
いや、そのプロジェクトで同じ名前のプロパティやメソッドがあったらそれも引っかかるけど
それならクラス名でgrepすれば。

370 :
実際、twitterとかlinkedinとか移行してるからね
速度のメリットもあるけど、型安全で開発効率が上がるのもメリット

371 :
>>362
具体的に何MB使ってるの?

372 :
>>369
だからそうなるでしょ?
メソッド名やプロパティ名はできれば短い名前つけたいじゃん?
countとかsearchとかさ。Customer.count_customerとかやったらださいじゃん?
何のためにクラス名があるのかと。
だけど短い名前をつけるかぶるかぶる。
> それならクラス名でgrepすれば。
newしたインスタンスは変数に格納するでしょ?
でそのオブジェクトがクラスを超えて渡っていくでしょ?
grepでクラス名を見つけても、それがどこに渡っていくかなんてわからないよ。

373 :
>>368
機械的にソースコードを修正するとどうなるか気になる
CoffeeScriptから機械的に変換されたJavaScriptのようになるのか、ならないのか

374 :
小規模ならgrepで引っかかったものを
一つ一つ見ていけばいいさ。
無関係なものも見つかるけど、どっちみち数は少ないでしょ?
でも大規模だとそうは行かない。
無関係なものが、大量に見つかったら
その中で、関係があるものないものを区別しなきゃいけない。
そうその作業をするのに時間がどれくらいかかるのかって話。
だから大規模で型チェックのメリットがあるという結論になるのさ。

375 :
それはダックタイピングができるなら静的型でも同じじゃない?
例えばC++テンプレートとか、構造的部分型とか

376 :
>>373
機械的にソースコードを修正するなんて話はしてないよ。
コードリーディングの話。
どれくらい短い時間でコードを適切に把握できるのか
修正は人間が手でやるに決まってるでしょw
もちろんコンピュータが間違わずにできる単純作業は
コンピュータに任せればいいが。

377 :
>>375
1か0の話ではなくて、
数の問題だからね。
大規模開発の開発時間を短くするために
コードを読む時間はなるべく少なくすることが重要。
デバッグ・テスト・修正なんかを考えると
書くよりも読むほうが時間かかるんだから
で、↑これも小規模では話が逆で
使い捨てスクリプトなんかもあるぐらいに
読む方は重要視されない。

378 :
リファクリングで静的型付けが有利なのは当たり前の話

379 :
メールと電話に似てるな
文字は情報が残るが音声は情報を使い捨ててる

380 :
適材適所

381 :
スクリプト言語で使いもしないモジュールや巻数やクラスをimportするヤツは万死に値する

382 :
#include "global.h"
ですね
わかります

383 :
ぐっちゃぐちゃにincludeしまくるドカタだと
依存関係が読めなくなって破綻する

384 :
またキチガイか

385 :
人のこと語りたいなら マ板行けよ

386 :
facebookのphpって、メソッドの仮引数や返り値の型指定を強制するように魔改造されてるらしい
intとかstrみたいなプリミティブ型も

387 :
facebookは今はもうphp使ってないよ

388 :
今でもphp使ってるけど、もはやphpとは呼べないように改造されてる

389 :
ならPHPじゃないじゃん。

390 :
facebookのphpに掛ける執念みたいなものはよく分からん
普通にjavaとか使えばいいのに

391 :
Javaは敵が多いね
PHP, Objective-C++, JS

392 :
JavaとObjective-C、JSはほとんど競合しないだろ

393 :
スマホで競合してんじゃね?良く知らんけど

394 :
JavaはEclipseっていう
そびえ立つクソが定番IDEなのが
足引っ張ってる

395 :
クソの理由、いってみ?

396 :
>>394
お前がバカでゴミクズなだけw

397 :
ttp://mikeneck.blogspot.jp/2013/02/eclipse.html
ttp://deginzabi163.wordpress.com/2012/04/28/eclipse%E3%81%AE%E4%BD%BF%E3%81%84%E8%BE%9B%E3%81%95%E3%81%8Cjava%E3%81%AE%E4%B8%8D%E4%BA%BA%E6%B0%97%E3%81%AB%E4%B8%80%E8%BA%8D%E8%B2%B7%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%86/

398 :
>>390
PHPなら自分たちで改造できるからじゃねーの?
javaって処理系自体にプログラマが手を加える余地ないだろうし
あのぐらい大規模ならサーバー側もc/c++で書いた方がメリットあるだろうから

399 :
最近NoSQLDBはオブジェクトストア型が台頭してるけど
各言語はどんなんがあるの?
JSならIndexedDBやMongoDBみたいなの

400 :
>>397
できるじゃんw
なんかマヌケだな。
http://www.hoge256.net/2007/08/68.html

401 :
>>400>>397の何を見て何を感じたのか、、、
とても同じ人間の感性とは思えないねこれ。

402 :
アホな擁護を演じるというエクリプス批判かもしれん

403 :
>>401
ちゃんと説明しなよ。
説明しなくても皆わかってるはずなんだって
思ってたらお前が馬鹿に見えるだけだよ。

404 :
まず日本語をマスターしよう
話はそれからだな

405 :
せやな

406 :
この流れで全て把握できたw

407 :
せやろか?

408 :
せやせや

409 :
この流れで全て把握できたw

410 :
なんで最近このスレは実況みたいな一言レスが流行ってんの?
同じ奴か

411 :
せやろな

412 :
荒らしたい年頃なんだろw

413 :
せやね。

414 :
各言語GCをコントロールする手段はあるの?

415 :
たかがEclipseが画面のスプリット出来ない程度のネタで荒れてんなぁ。
作ってる連中がスプリット機能すら実装出来ない低能の所為で
ユーザがウィンドウ並べる羽目になってるだけじゃん。

416 :
「良いIDEを作れないのは言語が悪い」これは正しい
「言語が良くなれば人間は楽ができる」これは誤り
言語が良くなったら人間は言い訳ができなくなる
現に、良い言語でIDEを作ってる連中は重い責任を背負わされている

417 :
IDEが作りやすいかと使いやすい言語かのベクトルは別物
ミスリード釣り乙

418 :
ベクトルは一つじゃないってPerlのスローガンみたいだな

419 :
Perlのベクトル幅はかなり狭いと思うぞ
標準では機能が被りそうなものや豊かなものは載せないっていう立場だったし

420 :
eclipseは設定が難解だよ
その上、javaはフレームワークも似たようなのがいくつもあって、その組合せが面倒くさい
xmlファイルに色々書いて、やっとプログラミングを始められる

421 :
>>420
デフォルト状態でもプログラミングは始められるが?

422 :
フレームワークの勧誘をお断りする口実が必要
言い訳がうまいやつでないと無理

423 :
ブラックボックス不安症だからライブラリとかフレームワークとか、
本当によっぽとの場合でないと使わない。

424 :
JavaScriptはブラウザに優秀なデバッガがついてるけど
他の言語はどうやってるの?

425 :
IE disか?

426 :
IEも11のは他と遜色ないくらい素晴らしいよ

427 :
ブラウザはieメインに戻した

428 :
IE11でようやくHTML5ベーシックフル対応だからな……
ES6の一部も対応してくれるが、まあギリギリモダンブラウザって感じだな

429 :
JavaScriptのそれより優秀なデバック環境は存在しない

430 :
せやな

431 :
IEは強制アップデートがないからなあ
いまだにIE6使うキチガイもいるけど、IE8使うゴミが多いのが厄介だ
IE8でJS動かすと重くてガクガク

432 :
MSの裁量でWindowsUpdateでメジャーアップデートされるよ
今までも何度も合った
マイナーアップデートは既に自動

433 :
久々にJSいじってみて
IE無視して好き放題書いてみたら
最近のIE10ではちゃんと動いてワロタ
MSもちょっとは改心したんだね

434 :
WebGLですねわかります

435 :
IEって11でようやくWebGL0.9draft対応だろ?
今や各ブラウザは1.0に拡張加えてて2.0も間近だっていうのに

436 :
Windows 95のCD-ROMに収録されていた3D“旗とりゲーム”の「Hover」が、WebGL採用でタッチ対応・マルチプレイヤー対応のWebゲームとして復活した。MicrosoftはIE 11でのプレイを推奨する。
http://www.itmedia.co.jp/news/articles/1310/03/news070.html
http://www.hover.ie/#retro

437 :
貼るんだったらこっちだろう
GLSLなんて書いてられんし
http://cuaoar.jp/2013/10/javascript-webgl-shaderd.html

438 :
webglって使い道あるのかな
ゲームするならネイティブアプリがいいと思うけど

439 :
クロスプラットフォーム性ね
そこ重要

440 :
何?JSが「ネイティブ」なFirefoxOSdisってんの?

441 :
ネイティブでもプラットフォームには依存しない
標準化されてないだけ
C/C++の標準を変えるよりJSのを変えた方が早いような気がするだけ

442 :
unityとかあるじゃん

443 :
Python -> Google
C# -> MS
Objective-C -> Apple














Ruby -> 島根県

444 :
unityのJSはJSとは言えねえ代物
あれはESを参考にしたUnityScriptだと思った方がいい

445 :
Rゴミ共がw

446 :
>>438
現状Adobeという企業がFlashで支配しちゃってる領域に
オープン規格として挑戦してるんじゃないかなと勝手に思ってる

447 :
>>446 って間違えた、それHTML5の話だったか

448 :
言語で支配するのではなくグラフィック環境で支配するんだから単純な動的言語で十分
言語にこだわるのは不毛な領域だよな

449 :
オープンソース界に激震、GitHubがRubyとMVCの限界を悟り、C#とMVVMに全面移行
http://hayabusa3.2ch.net/test/read.cgi/news/1380941672/

450 :
>>449
1. うわ大変だ Ruby おわた
2. 英語読めないと思ってバカにしてんの? C#+MVVM いや Xamarin 必死だな
3. bitbucket もよろしくね
どれがいいでしょうか

451 :
4.俺は三年前からC#とMVVMだったわー三年前からだわー

452 :
3.しかないな

453 :
bitbucketなんであんなしょっちゅう止まるの

454 :
もうMV□でいいと思う (小学生並みの抽象化)

455 :
>>453
Django/Pythonで書かれているから

456 :
>>450
github、RubyとMVCの限界を悟りC#とMVVMに全面移行 / オープンソース界に激震
http://engawa.2ch.net/test/read.cgi/poverty/1380941226/

457 :
俺が使ってたBitbucketはそんなしょっちゅう止まってたような記憶無いけどな
まあ最後に使ったのは半年前とかそのあたりだから今は違うのかもしれないけど

458 :
mercurialの方が好きだしプライベートリポジトリ持てるから、bitbucketメインで使ってる

459 :
GitとSVNとVSSしか経験ないけど、VSSが一番クソだった

460 :
>>456
釣りとかガン無視で C# の布教に入ってる人がマジこわいです

461 :
少なくともLLの世界ではJSがrubyに勝つなんてありえないんだけど
JSくらいの規模の言語だと
JS有利な評価基準に変えられてしまうくらい影響力が大きい
結局求めてるのは効率のいい言語じゃなくてプログラミング作業を出来る限り無くす事だろうからな
プログラミングをしてますって時点で、JSもrubyも大差ないものに見えてる
だったら一番大きなプラットフォームを使えばいいじゃんってなってくるわけだ
言語ヲタが減れば減るほどC#だのJSだのが有利、と

462 :
>>461
C#は悪くないよ
少なくともJavaよりかははるかにマシ

463 :
tar bz2を使えないプラットフォームは弱小だと思いました

464 :
最近RubyがLLの底辺にいる気がしてしょうがない

465 :
rescueされることのないStopIteration
神輿担ぎ夜の部はまだ始まったばかりだ

466 :
>結局求めてるのは効率のいい言語じゃなくてプログラミング作業を出来る限り無くす事だろうからな
なるほどそういうことか

467 :
>>463
どれのことをいってる?

468 :
コンパイル・インストール作業が無くなればいいのに

469 :
railsのバージョンアップの度にアプリケーション書き直しておいて、生産性が高いとかな

470 :
railsは言語じゃないからアドバンテージにもハンデにもならない
Python on Railsも可能

471 :
Rubyは友人にブルジョア言語といわれる始末

472 :
>>456
githubぐらい大きくなるまで、c#+MVVMは不要

473 :
大きくなるというのは
ユーザー数やインフラの話じゃないぞ。
”プログラムが”大きくなるまでだ。
たいして大きくもなかろう?

474 :
最近JavaScriptが面白くてたまらない
使い心地が柔らかいかんじ

475 :
mvcとmvvmに規模は関係ない

476 :
最近RubyとJavaScriptをがっつり書いてるが、そろそろ一度はPython書いてみたいなあ
日本でPython使ってる会社ない?未経験でも雇ってくれないかな

477 :
新卒なら未経験でも雇ってくれるだろうけど中途じゃ無理

478 :
Python「も」やってる会社なら
Pythonの経験だけより、RubyとJavaScriptの経験がある方が有利だと思うよ
てかソッチの方が多いかと

479 :
Rubyで炎上して火だるまになってる会社に入ってPythonで救世するのが理想

480 :
理想的かどうかはどうでもいいけど
人柱の様子を見てから後知恵で勝つのが良いよね

481 :
またプログラムの勉強をはじめるお

482 :
rubyは言語もユーザーも最悪。
開発現場ではrubyの動的な機能が強力すぎて、自称ruby使いみたいなガキが書くコードの可読性が壊滅的。
めんどうな言語と言われることを恐れずに、下手糞が下手なコードを書けないような設計にしてほしかったよ。
railsみたいなフレームワークの構造の上で書いていても、なぜかその場しのぎの体育会系コードが量産されていく闇言語。
「phpは糞」とか言って調子に乗ってるruby使いが多いが、大抵は偉そうなこと言ってる割に、『rubyは書けてもphpは初心者』みたいな奴。
自分の使える言語で自分のキャラやアイデンティティを作りたいだけの糞ガキ共だよ。
matzみたいな『タレント』にでもなりたいだけなんじゃないかな。バカッターでもして知名度上げてろ俗物共。
rubyは言語じゃなくてスクリプトキディのためのツールだと考えていいよ。

483 :
お薬出しておきますねー

484 :
人には好き嫌いがあるものだから、アンチがいるのは良い傾向だね

485 :
phpは糞だけどrubyも糞
やはりjavascriptも糞なんだけど代替がきかない
pythonもやはり糞なんだけどpythonが今きてるっぽい流れ
まぁスクリプト言語は糞ばかりである

486 :
rubyを1.6とか1.8から使い続けて処理系のバージョンアップの度にアプリケーション書き直してる人とかバカじゃねーのって気はする

487 :
jsがバージョンアップする度にemscriptenの人気が上がればいいのに

488 :
jsの場合はjsが糞というより仕様の統一がとれてないブラウザがクソ

489 :
そうは言ってもこの20年間の急速なWebの発展をみると
特に前半はとても標準を作る余裕なんて無かったと思うけどな

490 :
485でFA

491 :
ダメな箇所よりイイ箇所の方が圧倒的に多いだろ

492 :
マイナー言語も含めれば良い所は多いが
人気ランキングが役に立たないのが酷い

493 :
じゃけん、どんな言語でも書けるようになりましょうね〜^^

494 :
JavaScriptができれば困らない

495 :
まあた、人の話になりつつあるな。
仕方ないとはいえ、やりたければ マ板行け

496 :
【バカッター】自分が見たエロ動画等をTwitterで自動的に呟いてくれるツール
hayabusa3.2ch.net/test/read.cgi/news/1381800852/
今騒ぎになってるこれって、JSで動かしてるみたいですが、↓
このあたりでCookie抜いてるってことでしょうか。
window.data
= {"onStartPlay":[],"appSettings":{"fistRun":true,"pfReferal":"unknown",
"twitter":{"userHasAutoriseApp":false,"app_id":"******","login_url":

497 :
CSRFの類だろ

498 :
罠アプリか・・・
js関係あるんかいな
http監視してるだけじゃね?

499 :
CSRFじゃねえな
仕組みの上ではしっかり正当に権限以上してつぶやいてやがる

500 :
見てみたけど普通のアプリじゃん
よく知らないで入れて適当にクリックしちゃうやつが想定外だーって騒いでるだけな感じ?

501 :
すいません496ですがJSじゃなく普通のTwitterID連携のようでした、お騒がせしました。

502 :
>>500
そう。
仕様者がアホなだけ。

503 :
JSの時代が遂に来たか
http://wazanova.jp/post/63527486760/ruby-on-rails-angularjs-node-js

504 :
>>476
その言語かえて何のメリットがあるの?

505 :
>>504
メリットだけで決めてたら人生味気ないよ

506 :
いいんだよメリットだけで決める奴がいても
>>504がわざわざ質問したことも何か計り知れないメリットがあるんだろう多分

507 :
好奇心で生きてる人 -> ハッカー気質
>>504 -> サラリーマン

508 :
Perlは時代遅れと聞きますがPHPはどうなんでしょうか
申し訳程度にPHPを書けるのですが他にも勉強すべきでしょうか
Rubyは構文が特殊ですし,Rails目的と思われるのも癪なのでPython辺りを考えています

509 :
やればいいんじゃね?

510 :
>>509
PHPの評価を聞いてます

511 :
>>510
ん、後半は質問じゃないのか?
別にPHPも手軽にhtml吐くにはいいツールだと思うよ
時代遅れかと言われたら、まず君が比較対象にしたPerlも時代遅れとは思わんけどな
Perl/CGIで新規に作るってんならまあ、レガシーな感じは受けるが

512 :
Rubyの構文ってそんなに特殊に見えるかな?
Perl、特に6を見て眩暈がするとかなら分かるけど

513 :
暗黙知が必要な言語はだめだよ

514 :
最初のうちはなんだって特殊に見えると思う
しかし Python のオフサイドルールや内包表記にスライスは特殊に見えないのかね

515 :
Rubyの暗黙知はそういうのとは次元が違うから

516 :
他と比較して考えようとするのが駄目なんじゃないかな
それだと他の言語がバージョンアップしたら考え直さないといけないからね

517 :
Rubyの場合、SmalltalkとPerlを知っている人(今では少数派?)からすれば、
Objective-Perl に見えて抵抗無くすんなり入れる(自分のこと....)
同じ理由でObjective-Cを知っていれば、そのスクリプト言語版として
Rubyを見る事ができるし、その逆もいえる
(Ruby使いにMacユーザが多いのも(特に海外で顕著)、そんな理由かも
 実際、MacRubyの作者はAppleの社員だし....)
逆のケースを考えると、Javaみたいなガチガチな言語でプログラミングを
学習した人からすれば、Rubyの構文は特殊で魔術的に見える(>>508)のかもしれない
きっとそんな人にはPythonが向いているのだろう

518 :
よくできました ◎

519 :
Objective-Perlに抵抗があるわ

520 :
Rubyは構文以前にすぐ互換性が無くなる糞

521 :
でも実務的な需要ってRuby > Pythonなんだよな

522 :
>>521
他力本願するな
お前が布教して教育してプロジェクトを作り出して
日本での需要をお前が作り上げるんだ

523 :
需要で言ったらPHPってどうなの?
安売りの傾向があるように感じるけど

524 :
安いよ

525 :
サーバーサイドは安売りなのに電話代は高すぎ

526 :
地元の市のホームページも、松江と同じRuby製だった
やっぱ日本じゃ結構Ruby広がってんだな

527 :
固定電話投げ捨ててSkype使えよ

528 :
俺の国ではRubyだろうとPHPだろうとPGで貰える給料は35万ぐらいだな
まあ俺は日本なんだけど
もう少し稼ぎたい

529 :
株、FX、不動産投資、ギャンブル、宝くじ、先物取引、
油田開発、ゴールド、プラチナ、起業、競馬、パチンコ、パチスロ

530 :
自分を売る

531 :
体を売る

532 :
ウルトラソウル

533 :
アッー!(合いの手)

534 :
>>528
そんな安い給料でいいならいつか俺がビッグになったときに雇用してやりたい
とか言っちゃうテスト

535 :
>>528
俺はJavaプログラマだから月給18万

536 :
稼げる奴がどんどん子供を増やさないと、この国はすたれる運命にある

537 :
Linuxの管理ができると100万円くらいもらえるって聞いたんだけど

538 :
>>537
その「できる」と言う人のスキルはピンキリなんだけど。
カーネルカスタマイズしてリコンパイルするの得意?

539 :
カーネルの再構築は前はやってた
今は必要なくなったので全然やってない
100万円欲しいです
100万円ください

540 :
奈良四角位当然有指定る夜な?

541 :
前にISAバスにさすブレッドボードもらったんだ
それでスピーカーとかLEDつなげてみた
音を鳴らしたり光らせたりするのに必要だからモジュールも何度か書いたよ
100万円欲しい

542 :
刺客持ってないです
100万円もらったら四角取る

543 :
15歳でも資格取れますか?

544 :
わからないことは
http://google.co.jp
でキーワード検索してね

545 :
Gitの現開発担当者はLinuxのディストリビューションの会社に努めてなかったけ
どれぐらい貰ってんだろうな

546 :
ストックオプションで2億ドル儲けたそうです

547 :
PHPが出来たら、もう他にスクリプト言語勉強する必要ないよ
CかJavaかC#が無難なところだろう

548 :
>>547
こちらでどうぞ
コマンドラインツールを作る最適な言語はPHP
http://toro.2ch.net/test/read.cgi/tech/1380082765/

549 :
Web以外でのPHPの影の薄さは蜃気楼なみ

550 :
むしろWeb以外で使おうものなら無条件で馬鹿の一つ覚えと罵られる

551 :
perlとpythonはdebianですら入ってるけどphpとかrubyは入ってないね

552 :
rubyは下位互換性ないからな
gemの更新でも動かなくなるという鬼畜っぷり

553 :
>>552
何のgemが動かなくなったの?

554 :
>>553
たしかBerkleyDB

555 :
debianにnode.jsが標準インストールされるのマダー?

556 :
1.8から1.9に乗り換えて動かないgemが出るのはまあ理解できる
1.9.2から1.9.3に乗り換えて動かないgemが出てくるのもまあギリギリ許せるだろう
でも1.9.3@3**から1.9.3p4**に乗り換えたらもうdebuggerみたいな重要なgemが動かないからな
そもそもRubyの開発者の中の人間も「ソースこそがコメントだ」とか「インテリセンスなんて要らない」とか
大規模開発経験が薄そうな人しかいないから、互換性なんてどうでもいいんだろう。
まあアップルやマイクロソフトやGoogleがバックに就いてくれるわけじゃなくて
最大の後ろ盾が島根県の言語にしてはよく頑張ったけど、
10年後には主要言語トップ15からもいなくなってそう。

557 :
これは「大規模」を連呼した奴も悪いと思う
規模という言葉は空間的なものを意味するが、時間のことは想定していない

558 :
rbenvとかあんなの本来無用なはずでしょう、まともに互換性のある言語なら
rubyはわずかなバージョンの違いで非互換になって依存地獄でどうにもならないから、処理系ごとインストールし直すしかなくなる
しかも、rvmで管理してたかと思えば今度はrbenvとか、管理ツールすら互換性がない
それでいてrubyは簡潔で効率的とか漫才師になれるじゃん

559 :
>>556
>でも1.9.3@3**から1.9.3p4**に乗り換えたらもうdebuggerみたいな重要なgemが動かないからな
debuggerは重要なgemではなく、単なるサードパーティ製の数あるデバッガの一つでしかない
問題があればdebuggerの作者様へ
>そもそもRubyの開発者の中の人間も「ソースこそがコメントだ」とか「インテリセンスなんて要らない」とか
>大規模開発経験が薄そうな人しかいないから、
そもそもデバッガが重要なgemと言い出す初心者レベルで、大規模開発経験うんぬんは笑止でしかない
>>558
>rbenvとかあんなの本来無用なはずでしょう
その通りだ、公式パッケージを利用する範囲であればrbenvなんて使う必要が無い
>rubyはわずかなバージョンの違いで非互換になって依存地獄でどうにもならないから、
>処理系ごとインストールし直すしかなくなる
rbenvは最新リリースを常に追いかけるアーリーアダプタ向けのツール
パッチレベルのリリースは開発版だから細部で(非互換性を含む)不具合があるのは当たり前の話
rbenvの仕掛けが理解できなくて自力で解決できず愚痴をこぼすしかないレベルの初心者は、
背伸びせず各OS向けに配布されている安定板の公式パッケージだけを使うことをお薦めする

560 :
互換性はともかくRubyだけ変更点がドキュメント化されていないような
見落としてるだけ?
http://docs.python.org/3/whatsnew/index.html
http://perldoc.perl.org/index-history.html
http://docs.php.net/manual/ja/appendices.php

561 :
>>559
デバッガーってRailsアプリ作ったら自動的にGemfileに書かれてるぐらいのgemだぞ

562 :
>>560
>>556,558の言う開発版(パッチレベル)リリースはともかくも、
公式リリースの情報不足および開発履歴等の文書化は、昔からRuby開発チームの抱える課題だと思う
>>561
それがどうした?
Railsにバグがあるのならば、Railsの開発チームへ報告を
それすらできない初心者は、みっともないから興味本位で無理に背伸びして、
パッチレベルのバグで泣き言をこぼすな

563 :
>>562
みっともないのはお前だ
現実を踏まえろ
RubyがオワコンになったのはPythonガーとかJavaScriptガーとかいう問題じゃないぞ
Rubyに問題があったんだ
それともまさかLinuxしか使ってない偏屈者か?

564 :
オワコンもなにもこんなもんだろ

565 :
RubyがオワコンならPythonは始まってすらいないな

566 :
Rubyの終わりはもう始まっているが
Pythonの終わりは始まるどころかどこで始まるかすら分からない

567 :
始まってないものは終わりも何もないからな

568 :
Pythonが始まってないのは中世ジャップランドぐらいだろ

569 :
日本のPython使いはRubyを貶めることばかりに夢中だからじゃね?

570 :
Python使いはRubyなんて意識したことはない

571 :
本質から外れたところで生産性が高いと吹聴してる
自称意識高い系rubyユーザーは滑稽

572 :
ライバルを貶めるのは恨みっこなし
だが味方を裏切るのは非常にまずい
だから自分のことを誰かの味方だと吹聴するのはリスクが高い

573 :
>>568
ウンコ大好きなトンスル人を発見!!

574 :
始まったを経験したもの
Perl PHP JavaScript
始まったを経験してないもの
Python Ruby

575 :
このスレ、2007年頃からあるけど、年々、内容が無くなってくるね

576 :
人がいなくなってんだよ2chから

577 :
>>574
RubyはRailsがあるから一応経験済み

578 :
>>574
D

579 :
意識低い系
簡単なことは簡単に
難しいことは可能に
意識高い系
難しいことを簡単にしないと始まらない
始まらないと人類は滅亡する

580 :
Railsって始まったってほど始まらなかったろ?
海外でちょっと話題になった程度

581 :
>>580
さすがにそれは現実から目を逸らせすぎ

582 :
>>580
Twitterで使われてたぐらいには始まってただろ

583 :
もう終わったけどな

584 :
http://www.find-job.net/startup/architecture-2013
ここ見る限り十分始まってはいただろう

585 :
もう終わったけどな

586 :
話題がループしているようだが....
>>565
Python使いからすれば、Web開発におけるZopeの失敗が、あまりにも痛すぎた
 >>320
 >>>だからこそ「もしもZopeが....だったなら」という「たら・れば」感は
 >>>Pythonコミュニティの潜在認識になっている

>>569
そういった行為に夢中なのには、あるいは黙認するのには、
>>320にあるZopeの失墜、そしてRailsへの賞賛に対する嫉妬が背景にある

>>570
ほとんどの日本在住Python使いはそうだろね
ただしウンコ大好きでヘイトスピーチを厭わない>>568みたいな一部のPython使いは、
どうやらRubyが気になって気になってしかたないようだ

>>580,583,585
必死な君には、以下を送ろう
 >>324
 >のび太くん、もっと現実をみなくちゃ.... by どらえもん (AA略

587 :
誰が見てもあなたが一番必死です

588 :
いや今の高機能フレームワークの原点だしRailsの功績は大きいだろ
もう終わったけど

589 :
Railsは終わってないだろ。
Railが終わってるのであれば始まっててるフレームワークなんてnode.jsとASP.NET MVCぐらいだ。
Railsが一番役に立つ場面は、何年もRailsの経験を積んだ上で個人サイトをちゃっちゃっと作る場合とかなのは事実だがね。

590 :
ASP.NET MVCかCakePHP
Railsが役立つのはRails製OSSのWebアプリを弄るときぐらい
Web特化し過ぎたPHPでは、コミッタたちのモチベーションが続かない
道具に選択肢があるならRuby使う
今のjsは何だかんだいって不自然

591 :
>>563
Max OSXですね、わかります

592 :
Javascriptは面白い言語なんだけどね
プロトタイプベースのオブジェクト指向で関数が第一級市民というのは、他の有名なスクリプト言語を
見てもかなり珍しい

593 :
これからの時代は組み込みもJavascriptになるから困る
Espruino
http://www.espruino.com/

594 :
rubyを作ってる人とかrailsを作ってる人は楽しいんだろう
rubyやrailsを使うのは楽しくない
rubyユーザはruby開発者の養分

595 :
>>593
そんな玩具一つで時代を語るな
はしゃぎ過ぎだ馬鹿

596 :
Tcl/tkは仲間にはいらないの?

597 :
一昨日あたりから>>594必死だな

598 :
趣味言語と言われる所以である

599 :
ホント、使う人の話が好きだな。
マ板いけよ

600 :
>>594
pythonを作ってる人とかnumpyを作ってる人は楽しいんだろう
pythonやnumpyを使うのは楽しくない
pythonユーザはpython開発者の養分
javascriptを作ってる人とかnode.jsを作ってる人は楽しいんだろう
javascriptやnode.jsを使うのは楽しくない
javascriptユーザはjavascript開発者の養分


こうですか?よくわかります

601 :
>>599
ワンライナーや数行で書けるコードを見下していると
知名度と作者とユーザーの話しかできない病気になるんだよな
大規模病

602 :
ワンライナーでどうやって大規模というか
中規模というか小規模アプリ作るの?

603 :
Objective-C使ってる人はAppleの養分
C#使ってる人はMicrosoftの養分
JavaScript使ってる人はGoogleやMozzilaの養分
なんて言っても当たり前すぎて何の新鮮味もない

604 :
ruby使ってるのって、踊らされてるんだろう
ブログが30分で作れますだっけ

605 :
>>600
Issac Schlueterが語るNode.js v1.0へのロードマップ
Node.jsは成長した
APIが壊れるなんて過去のこと。我々は大人になった。
今動くコードは来年も動く
Node.jsがたった4年半でここまで成熟するとは皆思わなかったはず。
だからNode.jsコアは小さなサイズをキープしたい
数値の改善
安定性は継続して良くなってる
スピード改善、V8エンジンのアップデート、新しいES機能
Node.jsは本当に安定している。使ってみなさい。大丈夫。
変なことはおきません。
Node.jsはPerl6/Python3にならない

606 :
node.jsは実行環境だからね。
言語としてはJavaScript。
このJavaScriptはブラウzで動かすため
互換性が非常に重視される。
Perl6/Python3にならないのもうなずける。

607 :
>>604
numpy使ってるのって、踊らされてるんだろう
高度な科学技術計算処理が30分で書けますだっけ
node.js使ってるのって、踊らされてるんだろう
高速なイベント駆動処理が30分で書けますだっけ


こうですね?とてもよく分かります

608 :
30分で作ったwebサイトは本当にゴミだけど
numpyで30分で作った処理はしばしば凄く役に立つよ

609 :
30分で作ったブログのどこがゴミ何ですか?
製品レベルですよ?

610 :
>>608
ああ、やっぱり昨日から必死な>>594,604はPython使いだったのですね?

たいへんよく分かりましたw

611 :
>>609
殿様商売は殿様レベルです

612 :
アランケイのoopがオワコンなのでrubyはオワコン

613 :
有卵系ってなに?

614 :
oopの親鶏

615 :
oop と 卵 って似てないか?

616 :
つまりoopが大きくなると有卵系になってまたoopをうむ
とすると、oopと有卵系のどちらが先だろうか?

617 :
>>613
http://ja.wikipedia.org/wiki/安蘭けい

618 :
oop = Oh!おっぱい

619 :
物がぐちゃぐちゃに散らかってる部屋で、どんな道具にも座ったまま手が届いてめんどくさくなくて便利 とか言ってんのが、rubyの大クラス主義
俺は整理整頓してる言語の方が好きです

620 :
標準語あまり得意じゃないので教えてください。
Rubyの発音ってル(↑)ビー(↓)ですか?それともル(↑)ビー(↑)
http://www.ustream.tv/recorded/87460
ル(↑)ビー(↑)って言ってます

621 :
>>619
他のクラスに移したらstaticメソッドになるんじゃないの
何があってもstaticを擁護する覚悟はあるのか

622 :
インスタンスメソッドはstaticにできねーだろ
God objectの話してんだよ

623 :
定義ではなくメソッドを利用しているコードだけを見て
(動作もさせないし、マニュアルも読まない)
それがstaticメソッドかどうかって区別出来ますか?
例えばC++なら
Class::method でstaticメソッド
instance->method でインスタンスメソッドだとわかります。
ついでにClassとinstanceも区別できます。
staticメソッドならinstanceを変更することがないということが
明らかにわかりやすいんです。

624 :
>>623
スコープを区別できればいい
例えばfoo.barのfooがローカルならインスタンス.メソッド
グローバルなら名前空間.関数

625 :
>>621
他のクラスに移したらstaticになるって発想はどこからくるんだ?集約ってものを知らないのか?
>>623
だからなんだよw
区別できない言語の方が珍しいわ

626 :
>>625
1.add(1) というインスタンスメソッドをHogeクラスに移したら
Hoge.add(1,1)というstaticメソッドになる

627 :
>>626
だからさあ、集約って意味分かる?
staticにするのがキモいなら
piyo = Hoge(1)
piyo.add(1)
って普通するだろうが

628 :
キモいと思わないやつには集約の意味が分からない
キモいものを憎むやつらが集約を思いついた

629 :
それ集約っていうのか?

630 :
HogeがIntegerを集約してんな
移譲とかDIとかhas-aとかいろんな言葉の選択肢があったろうが集約で伝わらないなら「コンストラクタで渡してメンバに持たせる」ぐらい丁寧に言った方が良かったな

631 :
バイナリ演算子を単純にインスタンスメソッド呼び出しに置き換えるのは美しくないよね
対称性を失いやすい

632 :
バカばっか

633 :
【IT】「Dはあらゆる面でC++ より優れる」 Facebookが「D言語」の利用を開始、他の大企業も追随か?★2[10/19]
http://uni.2ch.net/test/read.cgi/newsplus/1382149993/

634 :
>>631
手続き型言語的な発想では、そのとおりだろうな
演算子は演算子であって、手続きや関数とは別の概念であると....
それに対して、最近の関数型言語だと二項演算子は関数の別名でしかない
(* 二項演算子としての + *)
- 1 + 2;
> val it = 3 : int
(* 関数としての + *)
- (op +) (1, 2);
> val it = 3 : int
(* 関数 + の定義 *)
- fun x + y = x - y;
> val + = fn : int * int -> int
つまり、>>631の言う「バイナリ演算子を単純にインスタンスメソッド呼び出しに置き換える」
スクリプト言語は、(手続き型というよりも)関数型っぽいということになるし、賛同するよ

635 :
>>630
うん、集約じゃなくて委譲だな。

636 :
>>634
は?関数型関係なくね?

637 :
>>634
しかもそれ、『最近の関数型言語』でもないし。お前が最近知っただけだろ。

638 :
Rubyは大クラス主義とかいうけど、C#、C++、Java、VBなんてクラスはほとんど作らず
手続き型言語風に一つのコントローラー的クラスにどかどかと書くのが主流じゃん
Pythonもどっちかって言うとそれに近い
ライブラリーレベルではOOPなクラス設計なのに現場で書かれてる言語は至ってプロシージャルなのがこういう言語の現実

639 :
全部OOPにするとウンコになるって分かっちゃったからね

640 :
>>634
これ何の言語?

641 :
>>638
主流じゃねーだろ

642 :
主流じゃないな確かに
細かいクラス使って別のクラスを作って
それを使った複数のコントローラ的クラスをまたちまちま書く方が主流だな

643 :
>>634
そういうことじゃなくてさ、マルチメソッドで無い場合
メソッドは第一引数でディスパッチするから対称性を失いやすいって話かと

644 :
>>640
Standard ML

645 :
>>643
それってプログラマは気にすることかね
ポリモーフィズムの一種だと思っておけばいいんじゃね

646 :
>>641
いや?
小規模開発つーかできる人間が作るアプリなら細かく分かれていたりするが
そうでない限り、クラスで細かく分けた実装例なんて見たことない
Railsですら現場で見るコードだとControllerが数千行あるぞ
日本人にOOPはできないと痛感したわ

647 :
手続き型を嫌う理由をきっちり説明できた例を見たことがない

648 :
Railsを作れるレベルじゃないと
Railsをちゃんと使えないってこと。
Railsで生産性が大幅に上がったって
喜んでいる奴は、それまでRails相当のものを
作れなかったということで、
そういうやつにRailsはまともに使えないってことだよ。
冷めた目で、Rails?似たようなことはオレオレでやってるから
生産性についてはどうでもいいけど、
一般的な知識として共有できるのはイイね。
程度に言っている人がRailsをちゃんと使える。
こういう人はフレームワークを使っていても
問題点とどうするべきかを正しく指摘することができる。

649 :
>>647
手続き型を嫌うわけじゃない。
ざっくり言うと
手続き型は関数の中のコードに焦点を当てたもの。
オブジェクト指向は関数のあつまりと構造に焦点を当てたもの。
小さいプログラムなら関数の中にだけ注意しておけばいいが、
大きくなるに連れて、構造が重要になってくるから
手続き型+オブジェクト指向でないと破綻する。

650 :
クラス設計は使いまわし、使い込みの頻度が
高くないとメリットが少ない。その対極が
シェルスクリプト。シェルスクリプトを
書くのにわざわざクラス設計から始める馬鹿はいない。
逆にC++,Javaが主流になっているジャンルで、
わざわざシェルスクリプトと補助的にCだけで組むことも
ありえない。まあC単独ならあるかもしれないが。

651 :
>>649
オブジェクト指向の一面しか語っていない
CやPascalとの比較であれば正しいと思うけどね
なぜならば、手続き型言語であるModulaやMesaにはモジュール化機構があるので、
大規模なコードをモジュールという単位で構造化した設計ができるから

652 :
手続き型言語だってオブジェクト指向はできる

653 :
それはオブジェクト指向をやってる。

654 :
だからどーした

655 :
>>652
プログラミング言語における「XXX型」と「YYY指向」は直交する概念(組合せのことね)
だからC++/Java/Objective-Cのような手続き型オブジェクト指向言語はもちろんのこと、
OCamlのようなオブジェクト指向関数型言語や、
Logtalk/ESPのようなオブジェクト指向論理型言語が存在する

656 :
そんな当たり前のことを堂々と…

657 :
大規模開発に必要なのは関数を束ねるモジュールという機構
OOはその一形態にすぎない

658 :
>>657
結局、静的型と同じパターンだよな
値を束ねるのが型で、関数を束ねるのがモジュール
それに動的言語がどのような態度を取るか

659 :
関数も値だろ馬鹿

660 :
型も値だな

661 :
静的だの動的だのは、何を実行時に評価するか
というだけの話なんですけど

662 :
集合とかルールとか、物理的に存在しないものを信じるかどうか
実行時は人間が口出しできないから物理しかない

663 :
オカルト

664 :
>>659
正解
>>660
正解だが、静的型付け言語で型を値として扱えるのは、
Russellなどごく限られた一部でしかない
それに対して動的型付け言語では、Smalltalkを始めとして
型(ここではクラス)を値として扱うことが可能であり、
これが動的型付け言語が持つ柔軟性を生みだす源になっている

665 :
List<string>とList< List<string> >を分けたりすると爆発的に型が増える
動的型は爆発しにくい

666 :
型じゃなくてクラスなそれ

667 :
WebGLとGoogle Glassで織りなす電脳コイルな世界マダー?
この分野、いつまでWebサイト作りで停滞するんだ

668 :
何百年前もから、絵描きや
音楽作りで停滞してんだろ。
ウェブサイトの停滞を指摘する前に
他に物を指摘しろや。

669 :
シェルスクリプトずっと触ってる、これプログラムとか言語とかそういう話じゃないんだって、フッと一瞬プログラムの奥に潜む巨大なものを感じる事がある。
シェルスクリプトって基本的に"何か"を受け渡ししてるだけで、実際動くのはその先のバイナリだったり言語エンジンだったりで、トークン、スクリプトと思ってるものは一つの「言語」なんだよね
だから途中からperl書き始めたりpythonのコードを書くコードを書き始めたり、なんだったらコンパイル挟む事もできるし、変数とか関数とかじゃなくて「何か」が一つの単位になってる
データなのか関数なのか状態なのか、動いてるのか止まってるのか、もうなんでもありなんだなと。

670 :
ごめん長くなりそうで端折りまくったら変な感じなった。キモかったらスルーして

671 :
『UNIXという考え方』

672 :
シェルスクリプトでプログラムを作ろうと思わない方がいい。
なぜなら、言語として機能不足で、明らかに不便で作りづらいから。
シェルスクリプト頑張れば出来る。
だがそれは無駄ながんばりでしかない。
同じことをもっと簡単にできるのがプログラム言語。
複数のプログラムと組み合わせて何かを処理を実現したい時に
シェルスクリプトはその間を接続するための
簡易な通信インターフェースでしかない。

673 :
機能不足も何も、スクリプトで済むことをc,javaで書くやつがバカ
pythonは中途半端。カーネルとのインターフェースというよりはプログラム言語。
だけど、何かと高級で中途半端。

674 :
>>669
アルゴリズムとデータ構造ですね。わかります。

675 :
>>651
今日日、Pacalなんぞ行き遅れたF欄大学の教授ぐらいしか使わないだろ

676 :
>>673
> 機能不足も何も、スクリプトで済むことをc,javaで書くやつがバカ
そんな話はしてませんよ。

677 :
>>648
railsとrails製アプリのコード、RFC眺めるだけで良いんじゃねーの?
実際にframework作るって、コスト掛かり過ぎ

678 :
>>676
>>672

679 :
>>678
>>672にはCもJavaもでてきてませんね。

680 :
スクリプトで済むことってプログラムじゃなくて
アプリ実行指示書みたいなもんだよね。

681 :
>>679
プログラム言語=C,Java

682 :
>>680
バッチ処理って言う

683 :
>>681
プログラムを作りときはプログラム言語だろ。
バッチ処理を作るときはシェルスクリプトだろ。
>>672には
> シェルスクリプトでプログラムを作ろうと思わない方がいい。
と書いているんだから、何も間違っていない。

684 :
>>672
> なぜなら、言語として機能不足で、明らかに不便で作りづらいから。
具体的にどういうところが不足してるの?

685 :
javaってやたらクラスを細かく作って難解になって、その揺り返しでもっとシンプルにしようって言うのがこの10年くらいの流れだろ

686 :
>>684
激しく使いにくい計算処理
激しく使いにくい文字列処理
激しく使いにくい比較処理
激しく使いにくいループ
何をするにも使いにくい

687 :
>>686
具体的と言う意味が理解できてないことはわかった。

688 :
>>687
わからんの?
使える文字に制限合ったり
書き方に制限があったり
例えば計算に関数適用したい場合どうするよ?
関数の結果で比較したいと起動するよ?
なにをするにも面倒くさい。

689 :
文字列処理が難しいという話はよく聞く
GUIもオブジェクトも文字列から逃げるために発明されたのかもしれない

690 :
文字列処理が難しい、
または簡単という話と
文字列から逃げるは別の話で関係ない。
シェルスクリプトは文字列処理が難しい。
プログラミング言語は簡単。
それ以外でも全部同じ
シェルスクリプトは何をするにも難しい。
だから簡単な用途にしか使えない。

691 :
>>688
本当に理解力がない奴っているんだなぁ...

692 :
>>691
人の悪口しか言えないんだ。
人間としてだめだね。

693 :
>>692
悪口としかとれない理解力 (w

694 :
計算、文字列、ループ
ここまで具体的に言われてわからないとは
こいつプログラミング言語をしらないな。
無知は罪だね。

695 :
君、もういいから。

696 :
お前が消えろよw
お前の指示には従わん。

697 :
>>696
>>696

698 :
Bourne Shellだと、文字列処理はsedを使うかな。
数値計算はexpr、比較はtest
どれも言語組み込みではない。
複数のファイルを読み書きするようなら、Perlを使ったほうが楽と聞いたことはある。

699 :
やっと少しは話が通じる人がいたか。
複数のファイルを読み書きするのも面倒だよね。
exprにしてもsin使いたいときどうするの?
独自の関数使いたいときどうするの?
もうこの程度で難しくなる。

700 :
sinはbcで出来るし、関数は定義できるじゃん
全然難しく無いよ
何でもシェルでやるのが馬鹿らしいのは事実だけど、お前は無知すぎ

701 :
できるかできないかじゃなく、
それが簡潔にかけるかどうかだよ。
最初に言ったじゃん。
> シェルスクリプト頑張れば出来る。
> だがそれは無駄ながんばりでしかない。

702 :
awkでもできるしなあ。
でもできるできないと、難しいのは違うと思う。
特にポータビリティのあるシェルスクリプトを書くときとか。
シェルスクリプト言語の問題というよりも、システムのコマンドの互換性の問題かな。

703 :
>>698
> 数値計算はexpr、比較はtest
> どれも言語組み込みではない。
bash は、組み込みだよ。
> 複数のファイルを読み書きするようなら、Perlを使ったほうが楽と聞いたことはある。
複数ファイルもそんなに問題ない。
むしろバイナリの扱いが面倒。
でも vbs にくらべりゃまし。
そもそも、プログラム言語とひとくくりにしてる時点で、バカと言うしかない。

704 :
たとえばexprでもbcでも対応していない
独自の関数を使って比較するとかね。
if ( hoge(123) > 1 ) {}
大概の言語はこの程度で簡潔に書ける。

例えば、配列の中から偶数だけを抜き出し、
カンマ区切りで出力するのはこれだけで良い。
簡潔で読みやすい。
my @array = (1,2,3,4,5,6)
print join(",", grep { $_ % 2 == 0} @array)

705 :
ちょっと具体的に書いたらフルボッコされててワロタ

706 :
しかたないよ。プログラム言語の
柔軟性を知らないんだからね。

707 :
配列やハッシュを使うならプログラム言語の方がいいだろう。
あとクラスや継承や多態性、mixin
オブジェクト指向で用いられる数々
関数型プログラミングで用いられる数々
うーん。きりがないな。
○○をするだけならシェルスクリプトって
言ったほうが簡単な気がする。

708 :
>>672 は間違ってるとすれば文章表現だなあ。
内容的には割と合ってるんだけど、いちいち煽る感じで書いてるのがね。

709 :
>>707
> 配列やハッシュを使うならプログラム言語の方がいいだろう。
通常の配列はもとより、連想配列も使えるぞ。
> あとクラスや継承や多態性、mixin
> オブジェクト指向で用いられる数々
> 関数型プログラミングで用いられる数々
できないプログラム言語もありますが?
ていうか、関数型とかどこまで必死なのよ (w

710 :
>>708
いや、間違いだらけでしょ。
たぶんシェルの知識も古いままだし、プログラム言語の知識も片寄ってると思う。

711 :
exprで思い出したけど
pythonは外側のexecと内側のevalに分かれていて
インデントを認識するのはexecの方だけだったりする
シェルスクリプトも内側に何かを埋め込むと完全な言語になる気がする

712 :
>>709
> 通常の配列はもとより、連想配列も使えるぞ。
bashでは使えたと思うけれど、POSIXのshでは使えなかったように思う。

713 :
>>711
> シェルスクリプトも内側に何かを埋め込むと完全な言語になる気がする
awk, perl, python, ruby 辺りを呼び出せば?

714 :
今の時代、マルチコアをいかに活かすかが重要だよね
で、シェルだと並列実行が簡単にできたりする
foo() { sleep $1; echo $1; }
for n in {1..5}
do
    foo $n &
done
wait

715 :
>>712
なので、プログラム言語とかシェルを明確にしないで語る >>672 はちょっと抜けてるで FA

716 :
実際はシェルを殆ど使った事の無い
Windows & Eclipseオンリーのコーダっぽい印象 >> 672

717 :
シェルスクリプトのインタープリターを #!/bin/usr/python にしたら
これはもうシェルスクリプトではなくなるのだろうか…?

718 :
/bin/usr/python なんて変態ディレクトリ構成してる奴に言われたくはない

719 :
どうせシェルスクリプトなんてsh前提なんだからshでいいじゃん
Debianも不安定な互換性から独自拡張使わなくなってるし
今更bashの新機能で喜んでる方が時代に取り残されてる

720 :
そのうち基本情報処理の問題に Rails とかが出てくるようになるのか胸熱

721 :
基本情報っていまだにプログラミングが
Java
C
COBOL
表計算
アセンブラ
だろ

ここにRubyとC#が加わればなあ

722 :
>>718
ディストリ次第だと思うが…
Linux以外も色々あるしな

723 :
>>722
どんなディストリよ
下手な言い訳してる時点で初心者としか思ってないけど

724 :
/usr/bin じゃなくて /bin/usr なんだよなぁ...

725 :
>>724
Σああ、そういうことか!
言われて初めて気が付いた…確かに変態構成だわw

726 :
>>725
あれ見て気づかない奴は向いてない!

727 :
>>709
> 通常の配列はもとより、連想配列も使えるぞ。
使えるのと
快適に使えるのとでは
全然違うから。
Perlの連想配列。
my $hash = {a => 1, b => 2};
対抗していいんだぜ?w

728 :
>>714
並列実行ワロタw
単なるバックグランド処理ね。
並列に実行できる数を制限したり
すべてが終わるのを待つにはどうするの?
やっぱりそういうことをしてくれる
プログラムに、”つなぐだけ”?
ま、所詮シェルスクリプトは
プログラムをするのではなく、
プログラム間をつなげるものだからね。

729 :
waitで全てが終わるの待ってるやん
ホント無知だな

730 :
シェルスクリプトが汎用言語じゃないってことと、
672が無知で馬鹿だってことは両立するんだよ

731 :
シェルスクリプトが汎用言語じゃないのは本当

732 :
最近はLinuxがメジャーだけど、FreeBSDやSolarisなんかも含めてシェルスクリプト書こうと思うとさらに難易度上がる
bash依存の機能はダメだし

733 :
シェルスクリプトはせいぜい20-30行程度まで書いて、それ以上だったらPerlが一番互換性あっていいだろう

734 :
さすがにシェルスクリプトで
サーバーとかGUIアプリとかを
書こうとは思わんな。
ネタでやってみたやつはいるかもだけど
まあパフォーマンス悪くて、
読みづらくて気が狂いそうになる
コードになるだろう。

735 :
使ったことはないけれどbashでオブジェクト指向プログラミングするoobashというのはある。

736 :
ここ20〜30年の間、根源的なところで何も変化がないのはある意味すごいよねぇ

737 :
変化を期待されてない言語だからな。
複雑なことをするなら、まともな
プログラム言語を使うし。

738 :
>>722
          _, ,_
   #!  ( ・ω・ )  これなんだと思う?ただのタイプミス
   (~)、 /   i  )   
    \ ` |_/ /|
     `ー_( __ノ |
      (  `(  、ノ
/bin/usr/python __ノ

739 :
OSと言語が変化しなくなったら本気出してアプリケーション作るんだろ
よかったじゃないか

740 :
>>739
それは負け惜しみなのか?
何がいいたいのかよくわからん。

741 :
>>727
> 対抗していいんだぜ?w
bash
hash=(['a']=1 ['b']=2)
なんか難しいか?
あと、
> my $hash = {a => 1, b => 2};
my %hash = (a => 1, b => 2);
じゃね?

742 :
なんでコロンじゃ無くて
ラムダ式みたいな=>なの?
変じゃね

743 :
独自コマンドに加えて、独自ファイルシステムや独自ライブラリの事前呼び出しを盛り込むとシェルスクリプトはさらにアシッドな世界へ

744 :
>>726
自分では絶対に打たんパスだから気付かんかった…他人のスクリプトをメンテするよになると気付かんとマズいだろね

745 :
>>738
やめてええええ(/´△`\)

746 :
OSに依存しない独自コマンドって普通によいよね

747 :
bashやgrepやsedもバージョンごとに機能が違うからな
bashが標準じゃないosも考慮するとshやcshとも互換させないといけない

748 :
>>742
横レスすると、ハッシュは key から value への写像(=関数)だから

749 :
なんでここの人達ってみんな喧嘩腰なの?(´・ω・`)

750 :
陰湿になるよりも明らかな喧嘩腰の方がわかりやすい

751 :
変数aを使う代わりに同じ値を返す+αのaコマンドを作ってもいいんだぜ。そこらのプログラム言語には出来ないだろうなあこんな事!

752 :
いや出来るか。すまん

753 :
>>741
上は正確にはハッシュリファレンス
Perlの文法的にはどちらも正しい

754 :
>>721
おまえ、何にも向いてないだろうから回線切って首吊ってR

755 :
str.func().func2().func3()
func3(func2(func(str)))
やっぱ下のようにネストしてる言語は見づらくてよくないな

756 :
名前がしっかりしてれば3つくらいなら十分綺麗に見えるよ

757 :
どちらがいいというか特定の型に作用するか返り値を返すならメソッドチェーン
その他は引数として渡すってのが普通だしいいんじゃない?

758 :
バカスレw

759 :
括弧の無い文法だとメソッドチェーンしずらい気がするのに
Ruby は括弧無を許してるところに矛盾を感じる

760 :
you.succ

761 :
Rubyの引数カッコ省略なんて実務的にはRailsのクラス冒頭でなんかごちゃごちゃやっている部分でしか使われてないじゃん

762 :
こういうのとかいろいろやりようはあると思う
str.to(func,func2,func3)

763 :
>>761
つまり括弧無し引数は実用に耐えないってことでしょう?
なんでそんなのを仕様に入れたのか疑問

764 :
func3 . func2 . func $ str がいいです

765 :
>>763
俺もあんま好きじゃないけど、Railsのコントローラクラスの冒頭部に
self.before_filter("foo")
と書くより、
before_filter :foo
と書くほうがメソッドの意味的にもしっくり来るし綺麗に見えるとは思う。
インスタンスメソッドの()を省略するのは基本的に論外だよなぁ。

766 :
JavaScriptならProxyで結構自在にできるな
全部グローバルスコープなら
func3 . func2 . func$str
も可能

767 :
>>756
X: 3つくらいなら十分綺麗
O: 素直に読めるのはせいぜい3つくらいが限度
日本語は面白いね....、同じ事実を観察しても立場の違いで評価が180度変わるw

>>759
意訳してみた:「メソッドチェーンができて、しかも括弧の省略も許してるなんてズルイニ.... ぞ」
世の中には「メソッドチェーンが使えず括弧の省略も禁止」という言語も存在していて、
そんな可哀想な言語使いの僻み(ひがみ)だね....「酸っぱい葡萄」とも言う

>>764
もしメソッドチェーン(>>755上)を関数合成と見なすのなら、これがイイネ!
ちなみに>>634で紹介した関数型言語 Standard ML では、以下のように書く
 (func3 o func2 o func) str

>>761,763,765
Ruby初心者にありがちな疑問だなあ....、スレ違い、いやスレ負けの君たちにはヒントをあげよう
 つ attr_reader

768 :
歪み過ぎ
適材適所なだけ

769 :
Ruby信者って馬鹿だからprivateやprotectedをdefの前だけのキーワードにするって発想がないんだよな
C++と同じく設計ミスだし、そもそもRubyのprotectedはゴミ

770 :
Matzもなんで付けたか忘れたって言ってたな

771 :
>>769
2.1から使えるようになるよ

772 :
今までprivateとは無縁だったJSerのための参考資料教えてくれ

773 :
JSでもprivateはあるぞ。
クラスはあるが一般的なイメージと違うのと同じで
privateはあるが、そこもクラスはなくて関数しかないJavaScriptでは
一般的なイメージと違う書き方になるだけ。
JavaScriptのクラスの書き方
function Person() { }
var person1 = new Person();
privateとはperson1.hoge でアクセス出来ないもの
つまりこういうこと。
function Person() {
 var private_variable = '';
 function private_method () {}
 this.public_variable = '';
 this.public_method = function();
}
ES6でprivateができるというのは、新たにclassキーワードが出来るから
それに合わせて必要になっただけ。

774 :
それただのクロージャだろ

775 :
どこにクロージャがあるんだ?

776 :
まあprivateなんかは、他人にクラス公開するならともかく、少人数で開発する限りはただのRーだよな

777 :
>>776
修正するときにいちいち外部から依存されてないか考えるなんてごめんですぅ

778 :
JSがprivateでRー…
やべっ、俺は高尚なスレに何という書き込みをしてしまったんだ

779 :
ちなみに>>773はJavaScriptやってるひとなら
誰でも知っているような基本的なことで、
よく使わている方法です。

780 :
privateで隠蔽するよりアップキャストで隠蔽したい
動的言語はアップキャストとかないからOOPはあきらめて関数型やりたい

781 :
また変なコト言い出した馬鹿がいるけど放置するか

782 :
いや、俺は一般的なprivate修飾子について知りたいだけで
JSで可能!!とか言われても苦笑するしか無いんだけど

783 :
公開してないのにいちいち部外者に苦笑されるなんて変だな

784 :
private hoge

public setHoge(Type hoge)
{
this.hoge = hoge
}

隠蔽されてなくね?

785 :
隠蔽されてない例を持ってきて
隠蔽されてないと言う。
何がしたいのかわからない。

786 :
そりゃ皆が皆隠蔽するかっていったら中には偏った性愛に傾倒する人もいるさ。差別はしたくないね

787 :
せやな。略してsyn

788 :
FilerMakerで1日 <<< C#ポトペタ+NuGetで1週間 <<< HTML5+Ruby,PHP,Javaで1ヶ月
http://engawa.2ch.net/test/read.cgi/poverty/1382394266/

789 :
HTML5/WebアプリってVBアプリの工数10倍かかるのにの人月1/2だよね。見積書いてる奴バカなの?
http://hayabusa3.2ch.net/test/read.cgi/news/1382432343/11

790 :
ブームが去ったあとの若手お笑い芸人みたいな分野

791 :
にならないかなぁ。今は売れてて悔しい。

792 :
JSのステマしたいならこんなとこにいないで、
JSスレ盛り上げてこいよ

793 :
z

794 :
JSerはステマなんてしない
不躾に堂々とアピールする

795 :
すぐステマだの、ツッコミ入れたがるやつは女からもてないよ。

796 :
しなくてもモテないです

797 :
ワタシがモテないのは、(ry

798 :
>>797
r(ub)y

799 :
Pythonのnormalizeが文字列から生えて無いのはなぜ?

800 :
Pythonの文字集合はUnicodeと心中するつもりがないからじゃない?(鼻ほじ)

801 :2013/10/27
具体的な文字集合に優劣をつけないことが抽象化の目的
仮にUnicodeが優れていたとしても目的に反すれば評価はminusになる
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Java Web Application Framework総合 ver2 (101)
Java Web Application Framework総合 ver2 (101)
簡単なプログラム言語って何? (142)
スレ立てるまでもない質問はここで 129匹目 (952)
MSX-BASICの奥義を伝授するスレ (782)
Androidプログラミング質問スレ Part37 (214)
--log9.info------------------
ダスカ基地が動物虐待常習犯であることが判明 3 (221)
【復活池添】オルフェーヴル part45【最強コンビ】 (218)
ダークシャドウおわた\(^o^)/ (455)
■堅いレースで99%金儲け-404■【祝!和継退院】 (797)
エルコンを超える馬が出てこないのはおかしい (102)
柴田善臣を誉めたり叩いたりするスレ295善目 (742)
今年の英チャンピオンステークスが名勝負だった件 (301)
● グラスワンダー85 〜優しい夢〜 ● (292)
武豊以外に世間で認知されてる騎手っている? (153)
武豊騎手がまた糞騎乗 (215)
「みんなでチョイス!」情報交換スレ Chapter 17 (1001)
◆◆武豊・優先主義 Part1253◆◆ (1001)
ディープインパクト〜The 305th impact〜 (286)
18番目の枠空いてるけど出したい馬いる? (114)
10年全勝のガチプロ君◆Tc5kUA4gd2 の競馬談義 (193)
社台がノヴェリスト購入wwwwwwwwwwww (725)
--log55.com------------------
ウソの慶大生やめろ犯罪ぞ柴田洋太郎ちゃん
鈴木誠也(  2  2  ) .334 23 85 OPS.1.022
鹿児島県奄美大島の殺人風習
飛蘭Part7
長澤まさみ「セーラー服と機関銃」10月25日デビュー
【祝】松下奈緒 Part1【デビュー】
矢野真紀さんのスレです その2
【GIZA】Yoko Blaqstone PART.1【娘】