【JavaScript】スクリプト バトルロワイヤル40【pl,rb,php,py】
気が早いな
レスが100にも行かないうちに新スレを立ててまで タイトルを改変したいの? JSerってコード書くのは遅い(しかもゴミコード)のに、こういうところのは素早いんだな
ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは
>>1 乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
拡張子って発想自体は好きだが、ならjsも拡張子にしとけよ
6 :
デフォルトの名無しさん :2013/09/24(火) 00:18:15.75
age
7 :
デフォルトの名無しさん :2013/09/24(火) 00:25:01.76
cgi
8 :
デフォルトの名無しさん :2013/09/24(火) 01:02:04.35
10 :
デフォルトの名無しさん :2013/09/24(火) 01:20:54.85
JSerの質が知れるな お前らこんなのと話し合いしてたわけだ・・・
11 :
デフォルトの名無しさん :2013/09/24(火) 23:26:36.37
あげ
お題:2^30までの回文素数で最大のものを求めよ。
10進
あと、回文素数は Emirp ではなく、回文数の素数で。
あの糞JSer、ECMAScriptスレでハブられたから、 こっちでごちゃごちゃ言ってたのか。
>>14 何も言わなきゃデフォルトで10進だと思いこんでる奴は
プログラマとしてはクズだよなwww
>>17 正解
次
お題:2^80までの回文素数で最大のものを求めよ。
21 :
デフォルトの名無しさん :2013/09/25(水) 07:18:32.28
死ねゴミ共がw
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 "
Squeak Smalltalk の総当たり版もついでに。 160秒くらいかかるけど。 | found | Integer primesUpTo: (2 raisedTo: 30) do: [:prime | | str | str := prime asString. str = str reversed ifTrue: [found := prime]]. ^found "=> 999727999 "
27 :
デフォルトの名無しさん :2013/09/25(水) 19:17:59.69
ハスケラーってこのスレで呼ばれてないのになんでソースコード貼ってくの 自分たちの隔離スレがあるだろ
すっかり荒らしが居着いてしまったな・・
>>28 何年前からタイムトリップしてきたの?今もう2013年だよ?
次のお題はライフゲームをワンライナーで
>>29 元々このスレはルール無視しやすい特区のようなもの
無視しやすくすると新ルールを作りやすくなるとかならないとか
>>28 Ripper 使えばいいんじゃねぇの?
Emacsのruby-modeの一実装としてRipper使った奴があるらしいが
>>29 スレの性質から考えたら、むしろ少ないとすら思うよ
最近は各種本スレや質問スレのが酷かったりするからな…おかしな話だ
node.jsってerlangに比べたら フォールトトレランスな機能が無いに等しいオモチャだよね なんでこんなゴミを作っちゃったの?
37 :
デフォルトの名無しさん :2013/09/26(木) 13:51:04.59
同意
世の中、正しいこと、優れたものが広まるとは限らない。 むしろ逆のケースの方が多い。 特に IT 業界は。
フォールトトレランスは十分実装可能だが知らないの?
BrainFuckでも十分実装可能だよな。 で?
41 :
デフォルトの名無しさん :2013/09/26(木) 21:53:42.25
>>38 > 世の中、正しいこと、優れたものが広まるとは限らない。
正しいことと優れたことの、二つしか思いつかんの?
正しいくて、優れていて、互換性が高くて、
コストが安くて、早く開発ができて、
過去の資産を活かせることが広まって欲しい。
念の為に言っておくが、これらは全てプラス思考の項目だよ。
全てが満たせていたら、それは完璧に良いことだろう?
君は、正しくて優れているものが広まるとは限らない=間違っていて劣っている物が
普及することがIT業界に多いと言いたいのだろうが、それは違う。
上に上げた、全てを満たすものを広めるのが難しいってだけ。
広まっているものは、全てを満たしていないだけで、優れているものである。
このスレでそんなキレイ事を言うか
短期的に大流行するやつと長期間狭い場所で生きのこるやつしか思いつかない 時期に依存するか場所に依存する どちらにも依存しないものは現実と接点がない
>>42 キレイごとと言うか単純すぎ
例えば優れているかどうかも人によってちがう。
同じ人でも、朝と晩でちがう。
一人と、他の人が一緒にいるときでちがう...
>>44 Titaniumスレ見てこいガキ。
万が一その論が正しいとしてもその主張に意味はない。
罵り合ってでも理解深める方がまだ有益だ。
47 :
デフォルトの名無しさん :2013/09/26(木) 23:28:33.97
>>45 見てきた。
さてお前の意見を聞こうか?
まだお前は何も言ってないぞ。
>>47 間違った物が横行するという、反例を示しただけでもう十分だろ。
まさか効いてないアピールのつもりなのか?
無敵君はお呼びじゃないぞ。
49 :
デフォルトの名無しさん :2013/09/26(木) 23:35:52.52
>>48 「間違ったもの」というのは
誰がどのようにして判断したんだ?
Titaniumは正しいものだと仮定すれば
正しいものが横行するという話になるんだが。
50 :
デフォルトの名無しさん :2013/09/26(木) 23:37:26.50
>>49 またお前かよ。
間違った物という存在そのものを定義させないようにしてるだけだろ。
「間違った物が横行するという反例」なのか 「間違った物という存在そのものを定義させない」話 なのかはっきりしろ。 間違ったものというものは存在しない という例がTitaniumってことでいいんだな?
間違っているものは横行しない、という事に対する反例だよ。 都合よく解釈し過ぎだろお前。
間違ってる
>>54 はっきり言ってやろうか?
Titaniumは正しいものなので、
判例として間違っている。
いいや先に打ち切る。君の勝ちでいいよ。 無敵君に構う時間ほど無駄なものはない。
逃げたかw 負け惜しみ能力だけは成長したな。 どうせまた次も同じ事言うんだろうけどな。 学習能力がない。
>>56 うんいいよ。君は正しい。
君のような人は、ぜひTitaniumを使い広めてくれ。
それで君の信用がどうなろうと知ったことではない。
打ち切ったんじゃなかったのかよwww
煽り耐性ねぇなぁw
> Titaniumを使い広めてくれ。
うん、どうせそうくると読めてたから
先に既に普及しているという証拠を出した。
>>50-51 行動が手に取るようにわかるってのは
まさにこのことだよな。
何が正しいかなんて、人と時と場合によって変わるのに 何が正しくて間違っているかとか語るなんてナンセンスだよな
正しいとか言わないで、素直に俺の好みといえばいいのに。 俺の信じる自由が唯一無二の自由とかいってる どっかのC++標準化なんたらのおっさんみたいだ。
連投しだしたw
あぁ、うん、 自分と反対の意見を持っている奴は 全員同一人物だ!って考えの人ね。
技術的に劣っているものである程、ダメな技術者を惹きつけるように見えるのは、何故か それはダメ技術であれば優れた技術者は離れていくので、 その中ではダメ技術者としか競争する必要が無く、 低能であっても競争に生き残れる可能性が高いからである 進化戦略的には理にかなっている
毎度毎度必死だなこのキチガイはw
無知は罪だな
JSerはほんっといいかげん巣に帰って欲しい
JSもスクリプト言語なのだから このスレに参加する理由はある。 お前こそ帰れ。
JSは別にいいんだよ。 ここにいるJSerが何百レスも他言語無関係なくだらん議論で 浪費するとかがひどすぎるし、何より退屈。 関数型気取りの俺ルールRuby厨もひどかったが、 空気読めないコード書けない傍若無人JSerはもっと邪魔。
>>20 の単純移植でもいいからJSでコード書いてみてよ
それを言ったところでこいつがいなくなるわけじゃないからな
普通にやると2^53までしか精度がないからJSで2^80はあまりに面倒過ぎる パス
えー、うんこ過ぎるねJS まじゴミ
じゃあ、2^30 まででいいから、
エラトステネスのふるいで実装した素数生成器を書いて、
それを使って素数に昇順に総当たりして
>>25 の
時代遅れの Smalltalk 処理系が出した 160秒より速いことをを示してよ。
なんでそんなやる前から攻撃的に注文付けられにゃアカンのさ そんな言い方されて書きたくなる奴いないだろ 書いて欲しいならもうちょい丁寧に頼めよ
おお、闘いっぽくていい流れじゃないか。 JSer、がんがれーっ!
結局 人格攻撃なんだよな。 議論内容と人格の分離が出来ないから、 議論にならん。
って、いきなり白旗かよ。JSer、ヘタレすぎだな。 JSやV8エンジンが泣いとるよ。
応援や鼓舞はあっても、誰も誰に対する人格攻撃もしていないと思うが? そもそも議論なんかしてもつまらんよ。他言語に関係ない話ならなおさら。 そんなことより積極的にコード晒して言語好き同士でがんがん戦おうよ! お題が不満なら、JSに有利なお題を出せばいい。
思うのは自由だが、事実は変わらんよ。 何が戦おうよだよ。 そういうふうにならない様にしてるのはアンタだろが。
戦おうよと言われると戦意喪失する自由主義者の習性をよく分かってんね
戦うつもりもないのにバトルスレに来て口を挟むだけの奴www
僭越ながら、時代遅れのSmalltalk使いが昼休みに書きましたよ。
JSerさんがた、添削とかチューンよろしく。
http://ideone.com/GtFOzo ナイーブな実装だとメモリ不足になりそうだったので
Squeak Smalltalkから省メモリ版のエラトステネスを移植しました。
node.js で 80秒。
議論て、詭弁だけで非論理的な会話しかできてないじゃん。
>>86 一応書いておくわ。俺の環境だと0.8秒で終わったと。
node -v
v0.10.18
time node primes.js
9989899
real 0m0.746s
user 0m0.708s
sys 0m0.016s
>>87 すまん。手元で計測するときは
デフォルト値が2^30になるようにコメントアウトはずしてちょ
これ
↓
// var limit = Math.pow(2,30);
>>84 の 80秒が
>>86 だと 46秒。86 GJ!
素の JS が無理なら、
好きなJS生成言語で美しく書き直してみるんも一興かと
素晴らしいと思う。 次のお題に行こう。 次はもっと面白そうなのでよろしく。 素数の数え上げみたいなのは驚きがないからもういいよ。
Ruby版も書きたいのだが、Uint8Arrayみたいのってないの?
>>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
ビット演算までして最適化しているコードの改良は難しいな。
最適化部分の他の言語での実装も見たいな。
全く同じ最適化処理をしていて
短く出来る言語が有るのだろうか?
LLでは速度なんてCPUチップの世代で大きく変わってくるからなぁ
>>88 改めてやってみたらこうなったよ。
time node primes.js
999727999
real 0m24.328s
user 0m24.304s
sys 0m0.044s
マシンの性能w
短く書く勝負じゃないのかよ(´・ω・`) これだとアセンブラに近い処理ができる言語の勝利だな。
JSは処理系で最適化方法も違うから RhinoやSpiderMonkeyだとまた違った結果になるだろうな
処理系によって違うのは 他の言語でも一緒だと思うが?
V8は小さな数(SMI)はintとして計算するけど ia32なら31bit、つまり±(2^30-1)までだから2^30と比較する部分なんかは 32bitCPUは浮動少数、64bitCPUは整数で計算してることになって そこだけでも違うね
Google、Mozillaといった天才チームが スピードを競っているのだから 必然的にJavaScriptも速くなる。
またかよ・・
>>100 その話は前もしたが荒れることしか無かったのでやめた方がいい
書かなかったこと、見なかったことにしてくれ
>>102 なんで荒れたの?ゆっくり言語の信者が発狂でもした?
どうしても許せなかったみたいなのはネイティブ信者の方々だな。 その後evalの問題も出て、結構有効ってことはわかったんじゃないかな。
こっちは恥を忍んでクソコードでも出したのに 当人が空気読まないで同じような流れにしてんだからな 消えろ
>>103 手品の噂をするだけで実演も種明かしもしないから荒れる
種明かしなら記事に書いてるし実演に近いことはいろんな言語でこの前やったじゃん
お題考えようか
ほんと、過剰反応する奴はうるさいな。 何が気にくわないんだか。
質問: 任意のバイト列をutf-8の文字列に変換できる?
その質問じゃ何を意図してるのかがよく分からん もっとはっきり言って
>>109 ほぼ素数構築だけで時間使ってるし、コードも適度で素晴らしい。
しかしMath.floorがビットシフトより速いってどういうことよw
>>113 ビットシフトのほうがいいんだけど
javascript(nodejs?)のビットシフトは大きな数にはつかえないっぽい
1 << 32 が1になってしまう
ビットシフトは数値が大きくなることで、内部のデータ型が 変わる可能性があるが、floorは変わることがないからじゃないかな?
116 :
109 :2013/09/28(土) 01:15:47.61
ごめんなんかおかしい。速いけど多分ちゃんと素数生成できてない。
ビット演算は整数型に変換されて、32bit以上は使えないのか。
118 :
109 :2013/09/28(土) 01:23:32.48
とおもったけどそんなことはなかったぜ。 C++と速度がかわらんからおかしな気がした
書いたC++のコードが回文判定に時間かかってるだけだった
JSのビット演算は常に32bit int型だぞ
いや、intで合ってるよ まず32bitint型に変換する事になってる
awkは、2^200を計算できないのですが、 bcコマンドは出来ます Pythonは、2の千乗、1万乗も計算できるの?
>>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'
>>123 できた
>>> n = 2 ** 10000
>>> s = str(n)
>>> len(s)
3011
>>> s[:5], s[-5:]
('19950', '09376')
>>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 :
デフォルトの名無しさん :2013/09/28(土) 10:07:52.74
バカスレw
出遅れた感がハンパ無いが、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)))
>>130 いやいや、単にlarge_primesも
実装してみてって言ってるだけだよ。
どうなるか。
>>131 申し訳ないけど、コードが汚くて一目見て読むの諦めた
仕事以外でアレは読む気しないわ
>>109 をC++に移植して、回文判定変えて軽く黒魔術して速度2.5倍ぐらい
ここまで来るとあとは生成アルゴリズムの問題だな
>>132 あれは汚いんじゃなくて
高度に最適化されているだけ。
そのままコードを置き換えればいいよ。
あとは誰かが読みやすく修正してくれるだろう。
そんな一ミクロンも楽しくなさそうな作業を 当たり前のようにボランティアで要求できる そういう人間に私はなりたく無い
あれだけJSのコードを要求しておいて 逆をやられた時に、そのセリフはないだろw
お前はこのスレに一人しか居ないと思ってるのか?
言語がサポートしてないのに巨大数を実装するのはバカらしい JSでもES7で入るんだから今わざわざ作るのはチキガイ
>>138 コードって遊ぼうっていう考え方ができないからいつまでも三流なんだよ?
遊びのレベルじゃない苦行だろ。 ライブラリ使うのもなんだかなーって感じするし。 無理やり実装するのはどうしても美しさに書ける。 美しくないコード頑張って書いても楽しくないよ。
コード書けないヤツにはその辺の違いが分からないからな
速いコードを書くことに 喜びがないなんて プログラマとは思えないな。
ライブラリを作るって発想がないんだろうよ。
LLで低レベルの実装をするのが楽しいとは思えんな 特に言語によっては標準であるのに せこせこ情けない実装するのは悲しいだろ まだ演算子オーバーロードとか使えて、 使い勝手だけでも同じレベルにできるんなら 頑張る気が出るかもしれないが 頑張っても、最初から 見た目も速度も使い勝手も中途半端なものしか出来ないことが分かってるんだし やっぱり悲しいだけ これは逆にどうしても必要なら作る気が起きるけど 遊びでは関わりたくないたぐいのもの
低レベルの実装をしているのは LL言語やそのライブラリの開発者なんだけどな。 ま、下っ端技術者は 用意されたものを使っていれば良い。
146 :
デフォルトの名無しさん :2013/09/28(土) 20:39:00.77
な〜に言ってんだこいつ
どっかのSmalltalkerが気まぐれにSmalltalkからJSに移植したコードで 何故にJSerが勝ち誇っているのか、まずそこが分からんw
別に何も勝ち誇ってないが? 楽しんじゃいけないのか? 他の言語使いが不幸にしてないと嫌ってか?
JSがでてきたとたん、 通常とは異なる反応するやつがいるよな。
まあスレタイ見れば一人変なのがいるのはわかるよね。
ポジショントークばっかりでつまんない
Perl6の話をしよう
Perl6はもう完全に明日から本気出す症候群に罹っちゃってて・・・
Perl6は互換性がないのが痛いよな。
>>154 > 互換性がないのが痛いよな。
ん?
誰か俺のこと呼んだか?
.... python3
そうやって遠回しにRubyを貶すのはやめないか。
Perlのあのタイプ別に接頭記号変えるのは結局どれほどの意味があったの? 少なくとも人間にとっては厄介なものでしか無かったと思うんだけど。 むしろハンガリアン記法っぽくて変数名に適切な名前を付ける習慣を阻害する害悪だと思う ハンガリアン記法としても役に立たないし、 かと言ってシステム的に貢献してるとは思えない perl遅いし
>>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 :
うゆ :2013/09/29(日) 02:57:27.45
160 :
うゆ :2013/09/29(日) 03:00:42.40
あ一箇所ミスってる loop.with_index 0 do | s | ↓ loop.with_index 0 do | _ , s |
ミスってんのに動くあたりがマジでゴミ 何がしたいのかわからないゴミ
そもそも a = 0 while a == 0 a = rand(n) endこれなんなの?つい a = rand n while a == 0こんなふうに書き直し ちゃったけど、a=rand(n)+1でいいじゃねーか死ねよ C言語の入門書の初期にかかれてるだろらんど+1なんて何これ?死ねよ
死ぬべき
165 :
デフォルトの名無しさん :2013/09/29(日) 04:37:26.72
馬鹿か
最近スペースが文字化けしたコードがよく貼られてるけど 板の仕様変わったのか? なんで誰も突っ込んでやらないんだ?自演か?
メソッド名はdown_fromのほうがよかった
JSは貶すまでもなく糞
170 :
デフォルトの名無しさん :2013/09/29(日) 07:45:09.27
自演最高
お前らが無駄な登場人物を増やしてる間に どこかで新しい言語が開発されてるんだよな
>>157 ポインタが難しいという人のためにリストを値渡し
あと変数名と関数名の違いを明確にする
もしグローバル変数が禁止されてもグローバル関数が巻き添えを食わないとか
JSってマジごみで目が腐るから これからコード書く人はCoffeeScriptで書いて
ほんと頭のおかしい奴が住み着いたなw
CoffeeScriptは3年後にはなくなってると思うけどね。 ES6が普及したらCoffeeScriptは{}の代わりに インデントを使うJavaScriptでしかなくなるし。
3年もウンコ言語で我慢することに 何の意味もない
ていうかES6普及するのいつだよ 3年後はねーだろ
言語オタクやってばかりいてコードを書かないと来世はゲンゴロウになっちゃうから注意しようね
CoffeeScriptからES6に変換してくれる ツールが出てくれることを願ってる。 でてくれないと、CoffeeScriptからES5に変換した後 手動でES6に修正しなければいけない。 なんでCoffeeScriptなんか使ったのか?って話になる。
ほう、ES6は後方互換性が無いのか
ES5からES6へのトランスレータがあるって書き込みの直下に ES5からES6へ手動変換しなければいけないと書き込む この頭の悪さ、目眩がする
>>182 ES6からES5へのトランスレータだろ
頭悪いのは、誰かな?
自覚した?
あ、間違えた ES5からES6なんて不要だった
使えると思うけど、Google開発ってのは こと言語処理系に対してはマイナスイメージしかないw
>>187 それは単にGoogle以外が
言語開発してないだけだろw
いろんな言語を作ってそれが普及してないからって、
他の会社の言語が普及したわけじゃねーよw
>>178 それは言語オタクではなく仕様オタクだと思う
仕様ばかりで実装しないオタク
CoffeeScript > 越えられない壁 > Dart
>>190 仮にMSの方が上位だとして、
2位のGoogleが、マイナスイメージになるんですか?
JavaScript >>>> その他のスクリプト言語 >>>>>CoffeeScript > 越えられない壁 > Dart
このスレに出てきたコード見る限り、 JSは最下位レベルです
プログラミング言語って簡単に亡くならないけど、唯一例外があって 企業が主導してる言語は死滅しやすい 仕様が標準化されてるか、フリー実装があるかどうかはあんまり関係無くて、 言語周辺のエコシステムが企業抜きで回るようになってないから 企業が抜けたら死滅する
企業が主導している言語で 死滅した実例って何かある? 死滅しやすいというぐらいなのだから、 3つぐらいはほしいね。
個人が作った言語も死滅しやすいと思う。
AppleScript, Delphi, 旧VB
>>197 殆どが普及もせずに死滅するけど
一度普及したらそう簡単に死なないよ
Boalandの悪口はそこまでにしておねがい
いや、許さない
>>199 それは企業が主導していても
ソースコードが公開されるか
仕様が標準化された言語も
同じじゃね?
>>198 その一蘭を見ると、ソースコードや仕様が
公開されていることは、重要な事なんだなぁと思った。
それさえできていれば、一度普及した言語が
消えることはないだろうね。
JavaBeansですねわかります
出る牌は打たれる
JavaBeansは言語じゃないよw あと消えてもいないよ。
日本のドカタ界では現役なの?マジあほじゃん
やっぱり複数の実装がある言語がいいや。 どこか特定の企業、個人が俺が元祖だって 顔をしているものは使いたくないね。
>>207 またお前か。
どうせ荒らすだけが目的なんだろ?
言語を選ぶなら複数の実装があって、それらがちゃんと 最新に追尾しようと開発が続いている言語だな。 途中で開発をやめてるようなものは数にはいらん。
複数の実装があって、それらの開発が続いている言語なんて レアなんじゃないか? C++以外になんの言語が有るんだろう?
ドカタはクソコードをメンテし続けるのが仕事だから その言語の選び方は正しいよ
>>179 ブラウザのシェアって、デスクトップはFXが15% Chromeが15% IEが残り全てだろ
特にIE8という糞ゴミがいまだに3割ぐらいシェアあるし
HTML5やCSS3だっていまだにIEというゴミが足引っ張って完全対応できないつーのに
ES6普及が3年後なんて絵空事だよ
スマフォのブラウザは対応する予定あんの?
同時に複数実装する必要はないよ その気になればいつでも再発明できる状態だけでいい
>>213 サーバー側なら問題ないんじゃね?
そもそも、PythonやRubyは元からブラウザでは動かないわけで、
ブラウザを考慮する必要はない。
PythonやRubyと同じ使い方をするのであれば、
ES6への移行に障害はないでしょ?
>>215 それだと、競争や開発プロセスという点で
問題がある。
ブラウザでネイティブで動かなきゃならないというのなら、 どの言語も普及しないと思う。 変換して動いてもOKというのなら、 ES6も普及すると思う。
ES6も何分の一かのメソッド系の追加要素は使いやすいと思う
>>220 Polyfillで実装できる場合・・・es6-shimを使ってメソッド追加
言語仕様そのものが違う場合・・・traceur-compiler使ってes6からes5に変換
これで殆ど行けるんじゃないの?
CoffeeScriptからES5に変換するぐらいなら
これからはES6からES5に変換したほうがいいかもね。
それは散々言われてる CSのスタイルは構文が追加されるに従って限界を迎え始めてるし 括弧フリーはもうおわりかなあ
ES6のsymbolとかをES5に変換することって可能なの? 現実的には無理だと思うんだけど
225 :
デフォルトの名無しさん :2013/09/29(日) 14:36:40.71
無理 全てJS厨の幻想
まーたキチガイが出てきた
うーん。新しいプリミティブ型をエミュレートするのはかなり大変だと思うんだよね。 まあ低い確率の衝突はしかたないものとして、長文の文字列で代替するでっち上げ実装なら、 列挙とtypeof辺りの少しのラッパーで概ね上手くいくか。 本気でやろうと思ったらJSでJSの処理系1から作らないと、無理だと思うけど。
>>227 そこまでやる必要はないでしょ。
完璧なエミュレータが必要なわけじゃないんだし。
重要なのはES6のコードを書いて、
それがES5で動くということ。
ES6完全移行までのつなぎとしてなら十分だよ。
テキトーでいいんだよJSなんて ==の挙動がJSerの思想をよく表してる
> ==の挙動がJSerの思想をよく表してる スクリプト言語にはどれにも当てはまる話だろw これは型がない以上、どうしようもない問題なんだよ。
そこまでって何言ってるの?? symbolはES6にとって最も大事な機構の1つだよ。 今まで不可能だったネイティブオブジェクトの全うな継承にも関わってるし、 @@createとかES5にどう変換するっていうのさ? いや、ES5じゃ不可能なんだけどね。 だからそのまま変換じゃなくて処理系的な仕組みをどんどん入れて行かないと、 というか最初から処理系作るのが一番楽かも。
>>231 いや、なにを早とちりしてるのさ。
symbolが動けば問題無いだろってことなんだけど。
>>230 お前が知ってるのってJSとPHPだけ?
>>231 symbolじゃよくわからんので、
他の言語でいう何なのか教えてくれ。
それともJavaScript特有のなにかすごい機能なのか?
どこまで気にすべきか 例えばES5に楽して変換すると sym = Symbol() typeof sym // "object" もしくは typeof sym // "string" みたいになると思うけどそれはどうなのか
>>235 まず、typeof 演算子 を es6_typeof 関数に、ES6->ES5コンパイラが変換。
あとは君にも出来るよね?
>>234 文字列じゃないけどハッシュのキーとして使える特殊なもの。
と、いうのも、JavaScriptでは基本的に全ての作業は、
オブジェクトベースで内部プロパティ、メソッドみたいな形で定義されてる。
まあちょっと質が違うけど例えば x.a = b は確か x[PUT](a,b) みたいな感じ。
それでいうPUTみたいなのはべつに"PUT"という文字列じゃない。
そういうのがsymbolと思うとできた経緯がわかりやすいと思う。
まず、文字列のプロパティをどんどん増やしたり、
操作メソッドを作らなくても、新しい機能が追加できることと、
そういう内部機構との橋渡し的な役目がある。
文字列キーと比べて、
勿論「X」symbolと"X"文字列は衝突しないし、
symbolは従来手段で列挙もされない。
その他もろもろ、そんな感じ。
・文字列のハッシュ値の解決が要らないので、原理的には配列のインデックスのようにアクセスが早い ・privateっぽく使いやすい
他の言語にも欲しい機能だね。
>>236 スクリプト言語なら仕方ないと言うなら、
もう少し色々と経験した方が良いと思うよ
まあ、本当は経験しなくても良く考えたら動的型は関係無いって分かるけど
>>241 じゃあ、多くのスクリプト言語に
当てはまる話って言えばいいのか?
言語をあまり知らない人は、 他の言語にもあるってことを知らないんだよ。
CSの==はマトモだけど、JSはES6でマトモになるの?
ほらやっぱり知らないw ずっと前からある===を使えば、 型までみる厳密な比較ができるじゃんかw
これがなんともまあ面白くて気持ち悪いよね //オブジェクト !!({}) //true ({}) == false //false //配列 !!([]) //true ([]) == false //true
""+({}) // "[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
もうここらへんくると数学の話になるんだけどね。 ==という演算子に対して どういう動きをするかが 定義されているかどうか。 定義があればその定義通りの動作をし なければ、エラーになる。 それだけの話。
型が同じもの同士に関しては作用も速度も変わらないしね JSとか、動的型付け言語では、厳密に型を見るんじゃなくて 事前に揃えておく方がいいと自分は思う 例えば x //??? n = +x //100% number (NaN入る) n = +x || 0 //100% number (NaN入らない) n = x|0 //100% 整数
coffee使ってるのってrubyユーザーだけだろ わずかなシンタックスシュガーの為にロックインされるぐらいなら、jsそのまま使った方がいい
>>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
JSは加算もゴミだね ちゃんと例外投げろよ馬鹿か
>>250 nodeでもES6使えたほうが便利だろ
便利ならとっとと使え
>>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)と同じ
>>252 > JSは加算もゴミだね
> ちゃんと例外投げろよ馬鹿か
お前は演算子オーバーロードの世界には
ついてこれないよ。
>>253 traceur-compiler使ったら
nodeでES6使えたよ。
演算子オーバーロードが無い上に デフォルトの定義がウンコ
>>257 文字列とオブジェクトを結合した時、
toStringが呼び出されるってだけですが、
お前には難しいんだろうねぇ。
==は型が違ったら最終的に文字列になると思ったらOK オブジェクトの場合メソッドとしては基本的にvalueOf、なければtoStringが呼ばれる 但しDate型はtoStringが先 これはDate.prototype[@@ToPrimitive]で決まってる 噂のToPrimitiveシンボルちゃんの出番
変換していって最後まで型が合わなければ最終的には数値型になるよ
perlみたいにeqと==を文字列比較、数値比較で使い分けるのが分かりやすい
>>166 以来スペースが文字化けしたコードが貼られなくなったな
>>262 どういうコードよ
(HTML special-chars)の事?
>>237 ES5にこれ変換できるの?
class MyArray extends Array {
peek(){ return this[this.length-1] }
}
arr = new MyArray(1,2,3,4,5);
arr.peek(); //5
>>258 リストとハッシュとか、ハッシュと関数とかを足してもエラーにならない
真正のゴミなんですが
リストとハッシュとか、ハッシュと関数とかを足してエラーになるかどうかなんてどうでも良くないか あんたは、あーリストと関数足せちゃうの忘れてたよー!困った事があるのかw?
数えきれないほどあるわボケ
ワロタw
269 :
デフォルトの名無しさん :2013/09/29(日) 17:53:48.78
>>238 ようわからんけど文字列以外の型をハッシュのキーに使えるようにするのと比べて
どう違うの?
>>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) {
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 じゃま、荒らしは消えろ。
>>270 要は特殊なメンバを増やしてたら収集がつかないし見苦しいから、
裏文字列キーみたいに振る舞うのを作ったってこと。
>>259 みたいなメタな操作に関わる役割がある。
>>273 そもそもArrayって継承できるの?
というか、そもそもES6のclassの書き方がわからない。
いろいろ突き止めていくと、
これをES6の仕様として実装できるのかな?
という問題にぶち当たった。
var a = new Hoge(1, 2, 3);
a.get(1); // ←Hogeクラスに、getメソッドを作ればいいだけ。
a[1]; // ←これどうするの?
結局静的型付け言語を動的言語並みに楽に書けるようにした C# Scala が最強なんだよな つかC#はそもそも動的型持っているからもう静的型付け言語とも言えんか
scalaは中途半端に関数型言語を取り入れて微妙な感じがする perlばりに省略記法があって見辛いし
>>275 ES6から@@createのお陰でまともに継承できるようになった。
ES5ではProxyも使えないとなると、お手上げ。
>>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に変換できないわけで。
>>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
これで動いたよ。
コンストラクタが必要ってことじゃね?
>>279 できる。
MyArrayクラスはconstructorを定義してないので、
Array.prototype.constructor == Array をconstructorとしてる。
で、こっからが大事なことだけど、
Arrayがコンストラクタとして呼び出される時Array[@@create]によって、
thisオブジェクトが「オブジェクトがArrayたるようになる処理」にかけられる。
具体的にはプロトタイプの継承+オブジェクトへのあらゆる操作をArray用のもので定義し直す。
結果MyArrayのインスタンスはちゃんとArrayを継承できたオブジェクトになる。
>>280 の方法で動くということは
なんらかの処理を加えれば
実装できそうだね。
traceur-compilerにバッチでも投げたら?
>>279 そもそもES5でもこれで出来る。
function MyArray() { };
MyArray.prototype = new Array;
var a = new MyArray();
a.push(1, 2, 3);
a[2];
つまり、まとめるとgoogleのtraceur-compilerはウンコで ES6 -> ES5 変換は絵に描いた餅 JSerの妄想だったってことだね
コンストラクタ書くならこうじゃないの? class MyArray extends Array { constructor(...args) { super(...args); }; peek(){ return this[this.length-1]; } ; }
>>284 はいはい、必死だね。何じゃましてるの?
>>286 lengthもちゃんと表示されるよ。
>>280 これも
arr[5]=6
arr.length//6
arr.peek()//6
ってなんの?
>>285 それだとなぜか動かないんだよね。
変換後のソースは見てないけれど、
Arrayが特殊なんじゃないかな。
でもまあ実装する方法はあったので、
traceur-compilerのバージョンアップで
そのうち直る程度だと思ってる。
>>287 定義した時から動かないじゃん
ゲッターセッターじゃなくて単なる数値が入ったプロパティになってる
>>288 細かい揚げ足取りだなぁ。
traceur-compilerのバグだろ?
パッチ書いて修正すれば済む話だろ。
>>291 違う違う
ものすごく大事な本質なんだって
だから、そのためにES6ではcreateシンボルができたんだよ
ES5ではArrayやDateなんかをまともに継承することは不可能なの
散々問題になってES6でようやく解決できるのよ
Arrayの継承でlengthが約立たなくなるってのが一番分かり易い問題。
そうじゃないんなら
>>283 でいいはず。
無知なJSerをJSerが啓蒙するのは良いけどさ、 このスレでやることかな?
>>292 変換後のコードが長いだけで
実装はできてるじゃん。
ES5ではArrayやDateなんかをまともに継承するのが
面倒だったから、ES6ができただけ。
アロー関数だってそうじゃん。
出来ないから作られたのではなく、
面倒だから作られただけ。
>>167 何から何までおかしい
少なくともLLを常に触ってる人のかいてるコードには到底見えないが
他人に見せれるレベルじゃないよそれ
まずrubyでwhileを多用するなって意図がなんで伝わってないんだろう
殆どの場合においてそれ以上の選択肢があるのに
イテレータ知らないから、他の言語の知識でwhileコード書いてるだけじゃん
rubyでやってる意味がまるでないのに言語の拡張子だけ .rb にしたようなコードだな
え?ES5って継承もまともに出来ず ES6になってやっと「他の言語なら当たり前にできる」継承が できるようになったの?へー
>>295 いや、それが原理的にできないんだよ。
だって配列のlengthはゲッター/セッターとして定義されてるわけじゃなくて、
[[DefineOwnProperty]]内部メソッドによってProxy的に実装されてるものだから。
だからArrayの[[DefineOwnProperty]]内部メソッドを継承してもらわないとどうやっても無理。
それを間接的にやってくれるのがArray[@@create]
面倒だからというレベルじゃなくて、それこそ処理系を丸ごと作る勢いでもない限り、原理的に無理。
楽しく書けることがモットーのRubyだったのに、 いつの間にか独善的な「美しいコード」の押し付け合いになってしまってるよなあ Rubyがオワコンの理由は、Windowsだとまともにgemが動かないことに加えて コミュニティーが糞過ぎるってことだな
マジでゴミ
301 :
デフォルトの名無しさん :2013/09/29(日) 20:42:57.67
コミュニティー()()()()
to_i、downtoの乱用 メソッドの途中でreturnの乱用 根本的に意味不明な計算が多い odd_size = false ↑ とかなんでodd_sizeっていう名前の変数名に true falseが入るの? 命名規則すら間違ってね?? 50行目から68行目までもひどいdowntoコピペして似たようなコードが2か所にある 67から71までに近くにendが4つも集中してる rubyのendは可読性を下げるんだよ endが重なる部分は、あえて別の書き方を採用してendを減らす工夫をすればいいのにしない奴のコードが多いからバカにされる ゴミ
>rubyのendは可読性を下げるんだよ >endが重なる部分は、あえて別の書き方を採用してendを減らす工夫をすればいいのにしない奴のコードが多いからバカにされる wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>>303 いやほんとそれだよ
endガーとかよく言われるけど
俺の書いてるコードでendがやたら重なる事なんてないよ
>
http://ideone.com/mM6yCi これだって2〜3個じゃん miller_rabin_pass はわけわからない事やってるからスルーしたせいで3ネストになったけど
rubyは複数の書き方が用意されてるから
その気になれば1つのイテレータにメソッドチェーンして殆どの処理を突っ込めるわけ
それが何? whileとか使うとメソッドチェーンが出来なくて
後からコード改修の時にイテレータでかいててくれればメソッドチェーンをどう繋げるかって考えて
余り外観を弄らずに処理変えられるのに
forとかwhileみたいな非イテレータ使われると、イテレータ封じでrubyコードかかされてるようなもの
だからendが増える
インデントの問題もあるんじゃない? スペース6つとか8つにしたらendネストも見やすくなるかも
rubyソースコードでの問題は 処理の畳み込みなどで、長く複雑になるメソッドチェーンを、 どういう風に分割するかであって 端からメソッドチェーンを諦めてるコード書く奴って信じられない あと動的言語で変数多用する奴もゴミ 動的言語においての変数宣言 は その気になれば変数宣言ほぼなしで行けるがそれをやると処理がどんどん複雑になるから 処理を「簡略化」する為に変数を使うもの rubyは畳み込みとメソッドチェーンのみですべての処理を書けるようになってるんだよ 妥協してる奴はイテレータ分かってないゴミ
というかなんでendがいるの? インデントでブロック識別するのなら end無くて空行にしたほうが見やすいのでは
話は変わるけどべき乗とモジュロの演算子が欲しい
inject中にbreakとか筋悪すぎ まともな知能があれば誰もやらねーよ 書き換えはまったくエレガントになってるわけじゃなくて手続き型のまんまで 組み込みメソッド使えば賢く見えるとでも思ってるアホ 計算量増やして書くなら例えば Array.new(20) { rand(n - 2) + 1 }.all?{|r| miller_rabin_pass(n, r) } こんなふうにやんだよ馬鹿
関数型っぽいな まあそこは良いとも悪いとも思わんが
同じ計算をしないように変数に格納してんのに それすらもわからずケチつける馬鹿
なら純粋な関数型言語じゃあメモ化ってできないのかな?
メモ化言語機能じゃなくは処理系の実装依存な気が
非関数型なら明示的にするものだけど 関数型なら暗黙的にされるってことか
>>310 関数型っぽいけれど、ほぼ手続き型で書かれたコードだな
>>309 も指摘しているけど、関数型プログラミングだと
injectはArrayのように列挙可能なオブジェクトを畳み込むために
利用されるから、途中でbreakは入らない
しかもそのinjectブロック内で「変数の再代入」を多用している
あと
>>302 も指摘しているreturnの多用
関数型プログラミングだと、メソッド定義の先頭部分で
事前条件を判定して一致しなければリターンすることは
ネストの深さを抑えるという意味で推奨されるけど、
処理本体内のreturnは使わず、普通にif .. else .. で分岐させる
全体的に、loopで無限ループに入ってbreak/returnで抜けるという、
手続き型プログラミングとしても読みづらいコードだと思う
Ruby信者ってPythonみたいなインデントブロックを採用しなかったことにコンプレックスありそう
UYは駄文垂れ流しのがいい。 その方がまだミステリアスな雰囲気ある。 コード見ると、あっ(察し)になる…。
>>316 インデントブロックは手続き型プログラミングであれば
好ましいと思うけど、関数型プログラミングではカッコを多用するから
必要性は感じられないね
あと、Rubyは do .. end の代わりに、C言語流の { .. } が
使えるからタイプ数も少ないし、vi を使っていれば
%キーの一発でカッコの対応付けが確認できる利点がある
これはインデントベース言語だと(エディタ拡張無しには)無理
まあ、Python信者ってRubyやJSみたいなメソッドチェーンを
採用しなかったことにコンプレックスがありそう....w
Rubyは世界的なシェアでみたら、PHPとPythonにボロ負けだし、これからもどんどん離されていく傾向が見て取れるからコンプレックス丸出しだが、 PythonがRubyに対して羨ましいと思うことはありえんわ・・・
過去スレ「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コミュニティの潜在認識になっている
>>319 シェアに対しては多少あるけど(ライブラリとかも充実するだろうしな)
言語が好きだから信者なのであって、言語仕様に対してはコンプとかはないなあ
…強いて言えば、冒険心豊かな開発者さんにそろそろ落ち着いてくださいと言いたいことは無くもない
このスレでコンプレックスや信者話を話題にするのは、
いつも
>>316 みたいにPythonマニアなのが不思議
世界的にシェアがあるPython様なんだから、
マイナーなRubyなんて気にせずに振る舞えばいいと思うんだけどねえ....
DjangoはもうRailsなんて追いついたろ 足りないのは日本語での情報量ぐらい
>>323 >>320 がカキコまれたのはもう2年も前だよ
それほどDjangoが優れていたなら、今頃は日本語情報は溢れているはずだし、
出版社もこぞってDjango本を出版しているんじゃないかな
のび太くん、もっと現実をみなくちゃ.... by どらえもん (AA略
Pythonが羨ましいとは思ってますよ ライブラリの充実度的な意味で
>>324 日本ではPython自体が普及してないけど、PythonがRubyより劣る言語だとか、RubyがPythonより圧倒的に劣る言語とは思わんだろ
それと同じことだよ
ASP.NET MVC4はRailsやDjangoより完成度高いがシェアでは恐らく一生勝てないと思う
PythonはGoogleが公式言語ってぐらいサポートしているけど Rubyのバックには何にもいないだろ 強いて言えば島根県()
もうRailsの本も大して売ってないけどw
>>309 読めてるか?
injectじゃなくて
どう見てもloop.injectなんだが
>>315 loop.injectでbreakいらないってマジで何の話してんの? バカ以前の問題として読めてすらいなくね?
無限ループでbreakいらないって寝言は寝ていえよ
そもそも
> rand(n - 2) + 1
↑ これ。
何?
こういう意味不明な1とか2での数合わせが発生してても何も感じてない辺りが、
こんなの晒してて恥ずかしくないの?としか、
たった一行でマジックナンバーが2個出てくるとか冗談にしとけよ
まずArray.newとかも記述が冗長だから普通は
ロジック全体を見直して、+1だの-1だのの処理を消すんだよ
> しかもそのinjectブロック内で「変数の再代入」を多用している
変数がバグの元だって意味をまるで理解していないなこの馬鹿
マジでゴミ
無限ループの中でbreakいらないってマジで何の話してんの 意味がわからん マジでゴミ 死ねゴミ
終了条件がはっきりしてるのにわざわざ無限ループにして breakしてるゴミだろ rand(n - 2) + 1は1からn - 1までの乱数って簡単にわかるし それ以外でどういうコード書くんだ わざわざrangeオブジェクトつくるのかこのノータリンは
死ね池沼
マジゴミ
337 :
デフォルトの名無しさん :2013/09/29(日) 23:16:40.62
rand(n - 2) って 0からn-3じゃないのか!??? 無茶苦茶だなRubyはw
>>335 だからそのコードは一番上のリンクからコピペしたやつだって言ってんだろ
コードは短くするべき 短いうちにテストしてから長くするべきであって、長くなってからテストしたら面倒臭い
>>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.
そんなものは存在しない
謝れ
はっあ? 例えば参加しているプロジェクトがありました どこかからソースコードを引用してロジックを一部書きました ところが後からその部分でエラーが出てしまいました でも、僕はそのソースコードを書いていません 引用しただけです 僕は悪くない って。そんな時でも同じこといえんの? お前が悪い 謝れ 悪い事をしても謝らない大人はゴミ
仲間に悪いことするのはあれだがライバルに悪いことするとヒーローになれるぞ
>>326 まあ、そういうことだ
世界的なユーザ数ではPythonが圧倒していても、
ことWebの世界に限れば(
>>327 のいう)Googleというビッグネームがバックにいてもなお、
島根県wしかバックにいないRailsにDjangoは「現実に」勝てていないってこと
鳥取をディスるのはやめろ
正規表現の後読みができない言語ってある?
DjangoはMozillaにも採用されているぞ Railsが採用されたサイトってなによ TwitterとかLinkedInの話題はしないであげるから
350 :
デフォルトの名無しさん :2013/09/30(月) 01:09:59.95
sed awk c/c++
351 :
デフォルトの名無しさん :2013/09/30(月) 01:28:21.91
Rubyなんていくら持ち上げてもさ debianに標準で入ってないような不要な言語だからな
Rubyの乱数はrandで簡単でいいな
関数が必要なら作ればいいだけのこと
標準ライブラリとして 言語にデフォルトでついているのがいいんだろ。 仕事してるのにいちいち関数なんか作ってられるか。
じゃあJavaScriptはjQuery使わずに自分で作るの?
rand関数くらい作れよクズwww
死ねゴミwwwwwwwww 死ね死ねゴミwwwwwwwwwwww ゴミゴミwwwwwwwwwwwwww ゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwww
ウェブサイトも規模大きくなってくるとスクリプト言語じゃ無理がでて来るもんな
それは別に問題ないんだけどな。木造と鉄骨みたいなもんだ
YoutubeやDropbox程度の規模なら大丈夫
dropboxってメモリ食う
規模が大きくなるとスクリプト言語じゃ無理が出てくる理由が分からん 同時にコンパイラ言語では大丈夫な理由もわからん
制限を勝手にやってくれるかどうかの話だしな
それに制限じゃなくて
>>249 この考え方がいいと思う
大規模だとその型チェックで省けるエラーが大きいからな。 型推論の恩恵を受けてる言語なら意味がわかるはずだ。
>>365 大規模だと型チェックの恩恵が高まる理由がよく分からん。
そもそも本格的な型推論がある言語で大規模開発に使われてる言語自体強いて言えばHaskellぐらいしかない。
未来のコンパイラ言語に期待しようって提案してるだけだよな 失敗したら、懐疑的な人に足を引っ張られたせいにするから大丈夫
>>366 型チェックと考えるからわからないんじゃね?
メソッド(プロパティ)の参照チェックと
考えたらどうかな?
このメソッド(プロパティ)はプロジェクト全体の中から
使用されているのだろうか?
プロジェクト全体のどこから参照されているのだろうか?
修正した時に大規模なソースコードの中で影響範囲はどのくらいなのか?
どう?納得できた?
>>368 ・・・grepすればいいんじゃね?
いや、そのプロジェクトで同じ名前のプロパティやメソッドがあったらそれも引っかかるけど
それならクラス名でgrepすれば。
実際、twitterとかlinkedinとか移行してるからね 速度のメリットもあるけど、型安全で開発効率が上がるのもメリット
>>369 だからそうなるでしょ?
メソッド名やプロパティ名はできれば短い名前つけたいじゃん?
countとかsearchとかさ。Customer.count_customerとかやったらださいじゃん?
何のためにクラス名があるのかと。
だけど短い名前をつけるかぶるかぶる。
> それならクラス名でgrepすれば。
newしたインスタンスは変数に格納するでしょ?
でそのオブジェクトがクラスを超えて渡っていくでしょ?
grepでクラス名を見つけても、それがどこに渡っていくかなんてわからないよ。
>>368 機械的にソースコードを修正するとどうなるか気になる
CoffeeScriptから機械的に変換されたJavaScriptのようになるのか、ならないのか
小規模ならgrepで引っかかったものを 一つ一つ見ていけばいいさ。 無関係なものも見つかるけど、どっちみち数は少ないでしょ? でも大規模だとそうは行かない。 無関係なものが、大量に見つかったら その中で、関係があるものないものを区別しなきゃいけない。 そうその作業をするのに時間がどれくらいかかるのかって話。 だから大規模で型チェックのメリットがあるという結論になるのさ。
それはダックタイピングができるなら静的型でも同じじゃない? 例えばC++テンプレートとか、構造的部分型とか
>>373 機械的にソースコードを修正するなんて話はしてないよ。
コードリーディングの話。
どれくらい短い時間でコードを適切に把握できるのか
修正は人間が手でやるに決まってるでしょw
もちろんコンピュータが間違わずにできる単純作業は
コンピュータに任せればいいが。
>>375 1か0の話ではなくて、
数の問題だからね。
大規模開発の開発時間を短くするために
コードを読む時間はなるべく少なくすることが重要。
デバッグ・テスト・修正なんかを考えると
書くよりも読むほうが時間かかるんだから
で、↑これも小規模では話が逆で
使い捨てスクリプトなんかもあるぐらいに
読む方は重要視されない。
リファクリングで静的型付けが有利なのは当たり前の話
メールと電話に似てるな 文字は情報が残るが音声は情報を使い捨ててる
適材適所
スクリプト言語で使いもしないモジュールや巻数やクラスをimportするヤツは万死に値する
#include "global.h" ですね わかります
ぐっちゃぐちゃにincludeしまくるドカタだと 依存関係が読めなくなって破綻する
またキチガイか
人のこと語りたいなら マ板行けよ
facebookのphpって、メソッドの仮引数や返り値の型指定を強制するように魔改造されてるらしい intとかstrみたいなプリミティブ型も
facebookは今はもうphp使ってないよ
今でもphp使ってるけど、もはやphpとは呼べないように改造されてる
ならPHPじゃないじゃん。
facebookのphpに掛ける執念みたいなものはよく分からん 普通にjavaとか使えばいいのに
Javaは敵が多いね PHP, Objective-C++, JS
JavaとObjective-C、JSはほとんど競合しないだろ
スマホで競合してんじゃね?良く知らんけど
JavaはEclipseっていう そびえ立つクソが定番IDEなのが 足引っ張ってる
クソの理由、いってみ?
396 :
デフォルトの名無しさん :2013/10/02(水) 10:34:04.32
>>390 PHPなら自分たちで改造できるからじゃねーの?
javaって処理系自体にプログラマが手を加える余地ないだろうし
あのぐらい大規模ならサーバー側もc/c++で書いた方がメリットあるだろうから
最近NoSQLDBはオブジェクトストア型が台頭してるけど 各言語はどんなんがあるの? JSならIndexedDBやMongoDBみたいなの
アホな擁護を演じるというエクリプス批判かもしれん
>>401 ちゃんと説明しなよ。
説明しなくても皆わかってるはずなんだって
思ってたらお前が馬鹿に見えるだけだよ。
まず日本語をマスターしよう 話はそれからだな
せやな
この流れで全て把握できたw
せやろか?
せやせや
この流れで全て把握できたw
なんで最近このスレは実況みたいな一言レスが流行ってんの? 同じ奴か
せやろな
荒らしたい年頃なんだろw
せやね。
各言語GCをコントロールする手段はあるの?
たかがEclipseが画面のスプリット出来ない程度のネタで荒れてんなぁ。 作ってる連中がスプリット機能すら実装出来ない低能の所為で ユーザがウィンドウ並べる羽目になってるだけじゃん。
「良いIDEを作れないのは言語が悪い」これは正しい 「言語が良くなれば人間は楽ができる」これは誤り 言語が良くなったら人間は言い訳ができなくなる 現に、良い言語でIDEを作ってる連中は重い責任を背負わされている
IDEが作りやすいかと使いやすい言語かのベクトルは別物 ミスリード釣り乙
ベクトルは一つじゃないってPerlのスローガンみたいだな
Perlのベクトル幅はかなり狭いと思うぞ 標準では機能が被りそうなものや豊かなものは載せないっていう立場だったし
eclipseは設定が難解だよ その上、javaはフレームワークも似たようなのがいくつもあって、その組合せが面倒くさい xmlファイルに色々書いて、やっとプログラミングを始められる
>>420 デフォルト状態でもプログラミングは始められるが?
フレームワークの勧誘をお断りする口実が必要 言い訳がうまいやつでないと無理
ブラックボックス不安症だからライブラリとかフレームワークとか、 本当によっぽとの場合でないと使わない。
424 :
デフォルトの名無しさん :2013/10/03(木) 18:04:40.78
JavaScriptはブラウザに優秀なデバッガがついてるけど 他の言語はどうやってるの?
IE disか?
IEも11のは他と遜色ないくらい素晴らしいよ
ブラウザはieメインに戻した
IE11でようやくHTML5ベーシックフル対応だからな…… ES6の一部も対応してくれるが、まあギリギリモダンブラウザって感じだな
JavaScriptのそれより優秀なデバック環境は存在しない
せやな
IEは強制アップデートがないからなあ いまだにIE6使うキチガイもいるけど、IE8使うゴミが多いのが厄介だ IE8でJS動かすと重くてガクガク
MSの裁量でWindowsUpdateでメジャーアップデートされるよ 今までも何度も合った マイナーアップデートは既に自動
久々にJSいじってみて IE無視して好き放題書いてみたら 最近のIE10ではちゃんと動いてワロタ MSもちょっとは改心したんだね
WebGLですねわかります
IEって11でようやくWebGL0.9draft対応だろ? 今や各ブラウザは1.0に拡張加えてて2.0も間近だっていうのに
webglって使い道あるのかな ゲームするならネイティブアプリがいいと思うけど
クロスプラットフォーム性ね そこ重要
何?JSが「ネイティブ」なFirefoxOSdisってんの?
ネイティブでもプラットフォームには依存しない 標準化されてないだけ C/C++の標準を変えるよりJSのを変えた方が早いような気がするだけ
unityとかあるじゃん
Python -> Google C# -> MS Objective-C -> Apple Ruby -> 島根県
unityのJSはJSとは言えねえ代物 あれはESを参考にしたUnityScriptだと思った方がいい
445 :
デフォルトの名無しさん :2013/10/05(土) 07:51:37.34
死ねゴミ共がw
>>438 現状Adobeという企業がFlashで支配しちゃってる領域に
オープン規格として挑戦してるんじゃないかなと勝手に思ってる
>>446 って間違えた、それHTML5の話だったか
言語で支配するのではなくグラフィック環境で支配するんだから単純な動的言語で十分 言語にこだわるのは不毛な領域だよな
449 :
デフォルトの名無しさん :2013/10/05(土) 12:26:16.24
>>449 1. うわ大変だ Ruby おわた
2. 英語読めないと思ってバカにしてんの? C#+MVVM いや Xamarin 必死だな
3. bitbucket もよろしくね
どれがいいでしょうか
4.俺は三年前からC#とMVVMだったわー三年前からだわー
3.しかないな
bitbucketなんであんなしょっちゅう止まるの
もうMV□でいいと思う (小学生並みの抽象化)
>>453 Django/Pythonで書かれているから
456 :
デフォルトの名無しさん :2013/10/05(土) 13:45:49.15
俺が使ってたBitbucketはそんなしょっちゅう止まってたような記憶無いけどな まあ最後に使ったのは半年前とかそのあたりだから今は違うのかもしれないけど
mercurialの方が好きだしプライベートリポジトリ持てるから、bitbucketメインで使ってる
GitとSVNとVSSしか経験ないけど、VSSが一番クソだった
>>456 釣りとかガン無視で C# の布教に入ってる人がマジこわいです
461 :
デフォルトの名無しさん :2013/10/07(月) 05:00:10.31
少なくともLLの世界ではJSがrubyに勝つなんてありえないんだけど JSくらいの規模の言語だと JS有利な評価基準に変えられてしまうくらい影響力が大きい 結局求めてるのは効率のいい言語じゃなくてプログラミング作業を出来る限り無くす事だろうからな プログラミングをしてますって時点で、JSもrubyも大差ないものに見えてる だったら一番大きなプラットフォームを使えばいいじゃんってなってくるわけだ 言語ヲタが減れば減るほどC#だのJSだのが有利、と
>>461 C#は悪くないよ
少なくともJavaよりかははるかにマシ
tar bz2を使えないプラットフォームは弱小だと思いました
最近RubyがLLの底辺にいる気がしてしょうがない
465 :
デフォルトの名無しさん :2013/10/07(月) 13:08:45.27
rescueされることのないStopIteration 神輿担ぎ夜の部はまだ始まったばかりだ
>結局求めてるのは効率のいい言語じゃなくてプログラミング作業を出来る限り無くす事だろうからな なるほどそういうことか
コンパイル・インストール作業が無くなればいいのに
railsのバージョンアップの度にアプリケーション書き直しておいて、生産性が高いとかな
railsは言語じゃないからアドバンテージにもハンデにもならない Python on Railsも可能
Rubyは友人にブルジョア言語といわれる始末
>>456 githubぐらい大きくなるまで、c#+MVVMは不要
大きくなるというのは ユーザー数やインフラの話じゃないぞ。 ”プログラムが”大きくなるまでだ。 たいして大きくもなかろう?
474 :
デフォルトの名無しさん :2013/10/08(火) 08:00:07.66
最近JavaScriptが面白くてたまらない 使い心地が柔らかいかんじ
mvcとmvvmに規模は関係ない
最近RubyとJavaScriptをがっつり書いてるが、そろそろ一度はPython書いてみたいなあ 日本でPython使ってる会社ない?未経験でも雇ってくれないかな
新卒なら未経験でも雇ってくれるだろうけど中途じゃ無理
Python「も」やってる会社なら Pythonの経験だけより、RubyとJavaScriptの経験がある方が有利だと思うよ てかソッチの方が多いかと
Rubyで炎上して火だるまになってる会社に入ってPythonで救世するのが理想
理想的かどうかはどうでもいいけど 人柱の様子を見てから後知恵で勝つのが良いよね
またプログラムの勉強をはじめるお
rubyは言語もユーザーも最悪。 開発現場ではrubyの動的な機能が強力すぎて、自称ruby使いみたいなガキが書くコードの可読性が壊滅的。 めんどうな言語と言われることを恐れずに、下手糞が下手なコードを書けないような設計にしてほしかったよ。 railsみたいなフレームワークの構造の上で書いていても、なぜかその場しのぎの体育会系コードが量産されていく闇言語。 「phpは糞」とか言って調子に乗ってるruby使いが多いが、大抵は偉そうなこと言ってる割に、『rubyは書けてもphpは初心者』みたいな奴。 自分の使える言語で自分のキャラやアイデンティティを作りたいだけの糞ガキ共だよ。 matzみたいな『タレント』にでもなりたいだけなんじゃないかな。バカッターでもして知名度上げてろ俗物共。 rubyは言語じゃなくてスクリプトキディのためのツールだと考えていいよ。
お薬出しておきますねー
人には好き嫌いがあるものだから、アンチがいるのは良い傾向だね
phpは糞だけどrubyも糞 やはりjavascriptも糞なんだけど代替がきかない pythonもやはり糞なんだけどpythonが今きてるっぽい流れ まぁスクリプト言語は糞ばかりである
rubyを1.6とか1.8から使い続けて処理系のバージョンアップの度にアプリケーション書き直してる人とかバカじゃねーのって気はする
jsがバージョンアップする度にemscriptenの人気が上がればいいのに
jsの場合はjsが糞というより仕様の統一がとれてないブラウザがクソ
そうは言ってもこの20年間の急速なWebの発展をみると 特に前半はとても標準を作る余裕なんて無かったと思うけどな
490 :
デフォルトの名無しさん :2013/10/15(火) 02:40:16.16
485でFA
ダメな箇所よりイイ箇所の方が圧倒的に多いだろ
マイナー言語も含めれば良い所は多いが 人気ランキングが役に立たないのが酷い
じゃけん、どんな言語でも書けるようになりましょうね〜^^
JavaScriptができれば困らない
まあた、人の話になりつつあるな。 仕方ないとはいえ、やりたければ マ板行け
【バカッター】自分が見たエロ動画等を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":
CSRFの類だろ
罠アプリか・・・ js関係あるんかいな http監視してるだけじゃね?
CSRFじゃねえな 仕組みの上ではしっかり正当に権限以上してつぶやいてやがる
見てみたけど普通のアプリじゃん よく知らないで入れて適当にクリックしちゃうやつが想定外だーって騒いでるだけな感じ?
すいません496ですがJSじゃなく普通のTwitterID連携のようでした、お騒がせしました。
>>504 メリットだけで決めてたら人生味気ないよ
いいんだよメリットだけで決める奴がいても
>>504 がわざわざ質問したことも何か計り知れないメリットがあるんだろう多分
好奇心で生きてる人 -> ハッカー気質
>>504 -> サラリーマン
Perlは時代遅れと聞きますがPHPはどうなんでしょうか 申し訳程度にPHPを書けるのですが他にも勉強すべきでしょうか Rubyは構文が特殊ですし,Rails目的と思われるのも癪なのでPython辺りを考えています
やればいいんじゃね?
>>510 ん、後半は質問じゃないのか?
別にPHPも手軽にhtml吐くにはいいツールだと思うよ
時代遅れかと言われたら、まず君が比較対象にしたPerlも時代遅れとは思わんけどな
Perl/CGIで新規に作るってんならまあ、レガシーな感じは受けるが
Rubyの構文ってそんなに特殊に見えるかな? Perl、特に6を見て眩暈がするとかなら分かるけど
暗黙知が必要な言語はだめだよ
最初のうちはなんだって特殊に見えると思う しかし Python のオフサイドルールや内包表記にスライスは特殊に見えないのかね
515 :
デフォルトの名無しさん :2013/10/16(水) 18:19:40.44
Rubyの暗黙知はそういうのとは次元が違うから
他と比較して考えようとするのが駄目なんじゃないかな それだと他の言語がバージョンアップしたら考え直さないといけないからね
Rubyの場合、SmalltalkとPerlを知っている人(今では少数派?)からすれば、
Objective-Perl に見えて抵抗無くすんなり入れる(自分のこと....)
同じ理由でObjective-Cを知っていれば、そのスクリプト言語版として
Rubyを見る事ができるし、その逆もいえる
(Ruby使いにMacユーザが多いのも(特に海外で顕著)、そんな理由かも
実際、MacRubyの作者はAppleの社員だし....)
逆のケースを考えると、Javaみたいなガチガチな言語でプログラミングを
学習した人からすれば、Rubyの構文は特殊で魔術的に見える(
>>508 )のかもしれない
きっとそんな人にはPythonが向いているのだろう
よくできました ◎
Objective-Perlに抵抗があるわ
520 :
デフォルトの名無しさん :2013/10/16(水) 18:56:32.77
Rubyは構文以前にすぐ互換性が無くなる糞
でも実務的な需要ってRuby > Pythonなんだよな
>>521 他力本願するな
お前が布教して教育してプロジェクトを作り出して
日本での需要をお前が作り上げるんだ
需要で言ったらPHPってどうなの? 安売りの傾向があるように感じるけど
安いよ
サーバーサイドは安売りなのに電話代は高すぎ
526 :
デフォルトの名無しさん :2013/10/16(水) 19:38:29.68
地元の市のホームページも、松江と同じRuby製だった やっぱ日本じゃ結構Ruby広がってんだな
固定電話投げ捨ててSkype使えよ
俺の国ではRubyだろうとPHPだろうとPGで貰える給料は35万ぐらいだな まあ俺は日本なんだけど もう少し稼ぎたい
株、FX、不動産投資、ギャンブル、宝くじ、先物取引、 油田開発、ゴールド、プラチナ、起業、競馬、パチンコ、パチスロ
自分を売る
体を売る
ウルトラソウル
アッー!(合いの手)
>>528 そんな安い給料でいいならいつか俺がビッグになったときに雇用してやりたい
とか言っちゃうテスト
>>528 俺はJavaプログラマだから月給18万
稼げる奴がどんどん子供を増やさないと、この国はすたれる運命にある
537 :
デフォルトの名無しさん :2013/10/16(水) 21:23:25.56
Linuxの管理ができると100万円くらいもらえるって聞いたんだけど
>>537 その「できる」と言う人のスキルはピンキリなんだけど。
カーネルカスタマイズしてリコンパイルするの得意?
539 :
デフォルトの名無しさん :2013/10/16(水) 21:40:25.49
カーネルの再構築は前はやってた 今は必要なくなったので全然やってない 100万円欲しいです 100万円ください
奈良四角位当然有指定る夜な?
541 :
デフォルトの名無しさん :2013/10/16(水) 21:51:03.50
前にISAバスにさすブレッドボードもらったんだ それでスピーカーとかLEDつなげてみた 音を鳴らしたり光らせたりするのに必要だからモジュールも何度か書いたよ 100万円欲しい
542 :
デフォルトの名無しさん :2013/10/16(水) 21:52:00.26
刺客持ってないです 100万円もらったら四角取る
543 :
デフォルトの名無しさん :2013/10/16(水) 21:55:02.39
15歳でも資格取れますか?
544 :
デフォルトの名無しさん :2013/10/16(水) 22:14:12.37
Gitの現開発担当者はLinuxのディストリビューションの会社に努めてなかったけ どれぐらい貰ってんだろうな
546 :
デフォルトの名無しさん :2013/10/16(水) 22:35:45.53
ストックオプションで2億ドル儲けたそうです
PHPが出来たら、もう他にスクリプト言語勉強する必要ないよ CかJavaかC#が無難なところだろう
Web以外でのPHPの影の薄さは蜃気楼なみ
むしろWeb以外で使おうものなら無条件で馬鹿の一つ覚えと罵られる
551 :
デフォルトの名無しさん :2013/10/17(木) 07:00:37.21
perlとpythonはdebianですら入ってるけどphpとかrubyは入ってないね
rubyは下位互換性ないからな gemの更新でも動かなくなるという鬼畜っぷり
debianにnode.jsが標準インストールされるのマダー?
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からもいなくなってそう。
これは「大規模」を連呼した奴も悪いと思う 規模という言葉は空間的なものを意味するが、時間のことは想定していない
rbenvとかあんなの本来無用なはずでしょう、まともに互換性のある言語なら rubyはわずかなバージョンの違いで非互換になって依存地獄でどうにもならないから、処理系ごとインストールし直すしかなくなる しかも、rvmで管理してたかと思えば今度はrbenvとか、管理ツールすら互換性がない それでいてrubyは簡潔で効率的とか漫才師になれるじゃん
>>556 >でも1.9.3@3**から1.9.3p4**に乗り換えたらもうdebuggerみたいな重要なgemが動かないからな
debuggerは重要なgemではなく、単なるサードパーティ製の数あるデバッガの一つでしかない
問題があればdebuggerの作者様へ
>そもそもRubyの開発者の中の人間も「ソースこそがコメントだ」とか「インテリセンスなんて要らない」とか
>大規模開発経験が薄そうな人しかいないから、
そもそもデバッガが重要なgemと言い出す初心者レベルで、大規模開発経験うんぬんは笑止でしかない
>>558 >rbenvとかあんなの本来無用なはずでしょう
その通りだ、公式パッケージを利用する範囲であればrbenvなんて使う必要が無い
>rubyはわずかなバージョンの違いで非互換になって依存地獄でどうにもならないから、
>処理系ごとインストールし直すしかなくなる
rbenvは最新リリースを常に追いかけるアーリーアダプタ向けのツール
パッチレベルのリリースは開発版だから細部で(非互換性を含む)不具合があるのは当たり前の話
rbenvの仕掛けが理解できなくて自力で解決できず愚痴をこぼすしかないレベルの初心者は、
背伸びせず各OS向けに配布されている安定板の公式パッケージだけを使うことをお薦めする
>>559 デバッガーってRailsアプリ作ったら自動的にGemfileに書かれてるぐらいのgemだぞ
>>560 >>556 ,558の言う開発版(パッチレベル)リリースはともかくも、
公式リリースの情報不足および開発履歴等の文書化は、昔からRuby開発チームの抱える課題だと思う
>>561 それがどうした?
Railsにバグがあるのならば、Railsの開発チームへ報告を
それすらできない初心者は、みっともないから興味本位で無理に背伸びして、
パッチレベルのバグで泣き言をこぼすな
>>562 みっともないのはお前だ
現実を踏まえろ
RubyがオワコンになったのはPythonガーとかJavaScriptガーとかいう問題じゃないぞ
Rubyに問題があったんだ
それともまさかLinuxしか使ってない偏屈者か?
オワコンもなにもこんなもんだろ
RubyがオワコンならPythonは始まってすらいないな
Rubyの終わりはもう始まっているが Pythonの終わりは始まるどころかどこで始まるかすら分からない
始まってないものは終わりも何もないからな
Pythonが始まってないのは中世ジャップランドぐらいだろ
日本のPython使いはRubyを貶めることばかりに夢中だからじゃね?
Python使いはRubyなんて意識したことはない
本質から外れたところで生産性が高いと吹聴してる 自称意識高い系rubyユーザーは滑稽
ライバルを貶めるのは恨みっこなし だが味方を裏切るのは非常にまずい だから自分のことを誰かの味方だと吹聴するのはリスクが高い
始まったを経験したもの Perl PHP JavaScript 始まったを経験してないもの Python Ruby
このスレ、2007年頃からあるけど、年々、内容が無くなってくるね
人がいなくなってんだよ2chから
>>574 RubyはRailsがあるから一応経験済み
578 :
デフォルトの名無しさん :2013/10/18(金) 09:25:20.38
意識低い系 簡単なことは簡単に 難しいことは可能に 意識高い系 難しいことを簡単にしないと始まらない 始まらないと人類は滅亡する
Railsって始まったってほど始まらなかったろ? 海外でちょっと話題になった程度
>>580 Twitterで使われてたぐらいには始まってただろ
もう終わったけどな
もう終わったけどな
話題がループしているようだが....
>>565 Python使いからすれば、Web開発におけるZopeの失敗が、あまりにも痛すぎた
>>320 >>>だからこそ「もしもZopeが....だったなら」という「たら・れば」感は
>>>Pythonコミュニティの潜在認識になっている
>>569 そういった行為に夢中なのには、あるいは黙認するのには、
>>320 にあるZopeの失墜、そしてRailsへの賞賛に対する嫉妬が背景にある
>>570 ほとんどの日本在住Python使いはそうだろね
ただしウンコ大好きでヘイトスピーチを厭わない
>>568 みたいな一部のPython使いは、
どうやらRubyが気になって気になってしかたないようだ
>>580 ,583,585
必死な君には、以下を送ろう
>>324 >のび太くん、もっと現実をみなくちゃ.... by どらえもん (AA略
誰が見てもあなたが一番必死です
いや今の高機能フレームワークの原点だしRailsの功績は大きいだろ もう終わったけど
Railsは終わってないだろ。 Railが終わってるのであれば始まっててるフレームワークなんてnode.jsとASP.NET MVCぐらいだ。 Railsが一番役に立つ場面は、何年もRailsの経験を積んだ上で個人サイトをちゃっちゃっと作る場合とかなのは事実だがね。
ASP.NET MVCかCakePHP Railsが役立つのはRails製OSSのWebアプリを弄るときぐらい Web特化し過ぎたPHPでは、コミッタたちのモチベーションが続かない 道具に選択肢があるならRuby使う 今のjsは何だかんだいって不自然
Javascriptは面白い言語なんだけどね プロトタイプベースのオブジェクト指向で関数が第一級市民というのは、他の有名なスクリプト言語を 見てもかなり珍しい
rubyを作ってる人とかrailsを作ってる人は楽しいんだろう rubyやrailsを使うのは楽しくない rubyユーザはruby開発者の養分
>>593 そんな玩具一つで時代を語るな
はしゃぎ過ぎだ馬鹿
596 :
デフォルトの名無しさん :2013/10/19(土) 08:51:13.36
Tcl/tkは仲間にはいらないの?
趣味言語と言われる所以である
ホント、使う人の話が好きだな。 マ板いけよ
>>594 pythonを作ってる人とかnumpyを作ってる人は楽しいんだろう
pythonやnumpyを使うのは楽しくない
pythonユーザはpython開発者の養分
javascriptを作ってる人とかnode.jsを作ってる人は楽しいんだろう
javascriptやnode.jsを使うのは楽しくない
javascriptユーザはjavascript開発者の養分
こうですか?よくわかります
>>599 ワンライナーや数行で書けるコードを見下していると
知名度と作者とユーザーの話しかできない病気になるんだよな
大規模病
ワンライナーでどうやって大規模というか 中規模というか小規模アプリ作るの?
Objective-C使ってる人はAppleの養分 C#使ってる人はMicrosoftの養分 JavaScript使ってる人はGoogleやMozzilaの養分 なんて言っても当たり前すぎて何の新鮮味もない
ruby使ってるのって、踊らされてるんだろう ブログが30分で作れますだっけ
>>600 Issac Schlueterが語るNode.js v1.0へのロードマップ
Node.jsは成長した
APIが壊れるなんて過去のこと。我々は大人になった。
今動くコードは来年も動く
Node.jsがたった4年半でここまで成熟するとは皆思わなかったはず。
だからNode.jsコアは小さなサイズをキープしたい
数値の改善
安定性は継続して良くなってる
スピード改善、V8エンジンのアップデート、新しいES機能
Node.jsは本当に安定している。使ってみなさい。大丈夫。
変なことはおきません。
Node.jsはPerl6/Python3にならない
node.jsは実行環境だからね。 言語としてはJavaScript。 このJavaScriptはブラウzで動かすため 互換性が非常に重視される。 Perl6/Python3にならないのもうなずける。
>>604 numpy使ってるのって、踊らされてるんだろう
高度な科学技術計算処理が30分で書けますだっけ
node.js使ってるのって、踊らされてるんだろう
高速なイベント駆動処理が30分で書けますだっけ
こうですね?とてもよく分かります
30分で作ったwebサイトは本当にゴミだけど numpyで30分で作った処理はしばしば凄く役に立つよ
30分で作ったブログのどこがゴミ何ですか? 製品レベルですよ?
>>608 ああ、やっぱり昨日から必死な
>>594 ,604はPython使いだったのですね?
たいへんよく分かりましたw
アランケイのoopがオワコンなのでrubyはオワコン
有卵系ってなに?
oopの親鶏
oop と 卵 って似てないか?
つまりoopが大きくなると有卵系になってまたoopをうむ とすると、oopと有卵系のどちらが先だろうか?
oop = Oh!おっぱい
物がぐちゃぐちゃに散らかってる部屋で、どんな道具にも座ったまま手が届いてめんどくさくなくて便利 とか言ってんのが、rubyの大クラス主義 俺は整理整頓してる言語の方が好きです
>>619 他のクラスに移したらstaticメソッドになるんじゃないの
何があってもstaticを擁護する覚悟はあるのか
インスタンスメソッドはstaticにできねーだろ God objectの話してんだよ
定義ではなくメソッドを利用しているコードだけを見て (動作もさせないし、マニュアルも読まない) それがstaticメソッドかどうかって区別出来ますか? 例えばC++なら Class::method でstaticメソッド instance->method でインスタンスメソッドだとわかります。 ついでにClassとinstanceも区別できます。 staticメソッドならinstanceを変更することがないということが 明らかにわかりやすいんです。
>>623 スコープを区別できればいい
例えばfoo.barのfooがローカルならインスタンス.メソッド
グローバルなら名前空間.関数
>>621 他のクラスに移したらstaticになるって発想はどこからくるんだ?集約ってものを知らないのか?
>>623 だからなんだよw
区別できない言語の方が珍しいわ
>>625 1.add(1) というインスタンスメソッドをHogeクラスに移したら
Hoge.add(1,1)というstaticメソッドになる
>>626 だからさあ、集約って意味分かる?
staticにするのがキモいなら
piyo = Hoge(1)
piyo.add(1)
って普通するだろうが
キモいと思わないやつには集約の意味が分からない キモいものを憎むやつらが集約を思いついた
それ集約っていうのか?
HogeがIntegerを集約してんな 移譲とかDIとかhas-aとかいろんな言葉の選択肢があったろうが集約で伝わらないなら「コンストラクタで渡してメンバに持たせる」ぐらい丁寧に言った方が良かったな
バイナリ演算子を単純にインスタンスメソッド呼び出しに置き換えるのは美しくないよね 対称性を失いやすい
632 :
デフォルトの名無しさん :2013/10/19(土) 16:53:50.05
バカばっか
>>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 の言う「バイナリ演算子を単純にインスタンスメソッド呼び出しに置き換える」
スクリプト言語は、(手続き型というよりも)関数型っぽいということになるし、賛同するよ
>>634 しかもそれ、『最近の関数型言語』でもないし。お前が最近知っただけだろ。
Rubyは大クラス主義とかいうけど、C#、C++、Java、VBなんてクラスはほとんど作らず 手続き型言語風に一つのコントローラー的クラスにどかどかと書くのが主流じゃん Pythonもどっちかって言うとそれに近い ライブラリーレベルではOOPなクラス設計なのに現場で書かれてる言語は至ってプロシージャルなのがこういう言語の現実
全部OOPにするとウンコになるって分かっちゃったからね
主流じゃないな確かに 細かいクラス使って別のクラスを作って それを使った複数のコントローラ的クラスをまたちまちま書く方が主流だな
>>634 そういうことじゃなくてさ、マルチメソッドで無い場合
メソッドは第一引数でディスパッチするから対称性を失いやすいって話かと
>>643 それってプログラマは気にすることかね
ポリモーフィズムの一種だと思っておけばいいんじゃね
>>641 いや?
小規模開発つーかできる人間が作るアプリなら細かく分かれていたりするが
そうでない限り、クラスで細かく分けた実装例なんて見たことない
Railsですら現場で見るコードだとControllerが数千行あるぞ
日本人にOOPはできないと痛感したわ
手続き型を嫌う理由をきっちり説明できた例を見たことがない
Railsを作れるレベルじゃないと Railsをちゃんと使えないってこと。 Railsで生産性が大幅に上がったって 喜んでいる奴は、それまでRails相当のものを 作れなかったということで、 そういうやつにRailsはまともに使えないってことだよ。 冷めた目で、Rails?似たようなことはオレオレでやってるから 生産性についてはどうでもいいけど、 一般的な知識として共有できるのはイイね。 程度に言っている人がRailsをちゃんと使える。 こういう人はフレームワークを使っていても 問題点とどうするべきかを正しく指摘することができる。
>>647 手続き型を嫌うわけじゃない。
ざっくり言うと
手続き型は関数の中のコードに焦点を当てたもの。
オブジェクト指向は関数のあつまりと構造に焦点を当てたもの。
小さいプログラムなら関数の中にだけ注意しておけばいいが、
大きくなるに連れて、構造が重要になってくるから
手続き型+オブジェクト指向でないと破綻する。
クラス設計は使いまわし、使い込みの頻度が 高くないとメリットが少ない。その対極が シェルスクリプト。シェルスクリプトを 書くのにわざわざクラス設計から始める馬鹿はいない。 逆にC++,Javaが主流になっているジャンルで、 わざわざシェルスクリプトと補助的にCだけで組むことも ありえない。まあC単独ならあるかもしれないが。
>>649 オブジェクト指向の一面しか語っていない
CやPascalとの比較であれば正しいと思うけどね
なぜならば、手続き型言語であるModulaやMesaにはモジュール化機構があるので、
大規模なコードをモジュールという単位で構造化した設計ができるから
手続き型言語だってオブジェクト指向はできる
それはオブジェクト指向をやってる。
だからどーした
>>652 プログラミング言語における「XXX型」と「YYY指向」は直交する概念(組合せのことね)
だからC++/Java/Objective-Cのような手続き型オブジェクト指向言語はもちろんのこと、
OCamlのようなオブジェクト指向関数型言語や、
Logtalk/ESPのようなオブジェクト指向論理型言語が存在する
そんな当たり前のことを堂々と…
大規模開発に必要なのは関数を束ねるモジュールという機構 OOはその一形態にすぎない
>>657 結局、静的型と同じパターンだよな
値を束ねるのが型で、関数を束ねるのがモジュール
それに動的言語がどのような態度を取るか
関数も値だろ馬鹿
型も値だな
静的だの動的だのは、何を実行時に評価するか というだけの話なんですけど
集合とかルールとか、物理的に存在しないものを信じるかどうか 実行時は人間が口出しできないから物理しかない
オカルト
>>659 正解
>>660 正解だが、静的型付け言語で型を値として扱えるのは、
Russellなどごく限られた一部でしかない
それに対して動的型付け言語では、Smalltalkを始めとして
型(ここではクラス)を値として扱うことが可能であり、
これが動的型付け言語が持つ柔軟性を生みだす源になっている
List<string>とList< List<string> >を分けたりすると爆発的に型が増える 動的型は爆発しにくい
型じゃなくてクラスなそれ
WebGLとGoogle Glassで織りなす電脳コイルな世界マダー? この分野、いつまでWebサイト作りで停滞するんだ
何百年前もから、絵描きや 音楽作りで停滞してんだろ。 ウェブサイトの停滞を指摘する前に 他に物を指摘しろや。
シェルスクリプトずっと触ってる、これプログラムとか言語とかそういう話じゃないんだって、フッと一瞬プログラムの奥に潜む巨大なものを感じる事がある。 シェルスクリプトって基本的に"何か"を受け渡ししてるだけで、実際動くのはその先のバイナリだったり言語エンジンだったりで、トークン、スクリプトと思ってるものは一つの「言語」なんだよね だから途中からperl書き始めたりpythonのコードを書くコードを書き始めたり、なんだったらコンパイル挟む事もできるし、変数とか関数とかじゃなくて「何か」が一つの単位になってる データなのか関数なのか状態なのか、動いてるのか止まってるのか、もうなんでもありなんだなと。
ごめん長くなりそうで端折りまくったら変な感じなった。キモかったらスルーして
『UNIXという考え方』
シェルスクリプトでプログラムを作ろうと思わない方がいい。 なぜなら、言語として機能不足で、明らかに不便で作りづらいから。 シェルスクリプト頑張れば出来る。 だがそれは無駄ながんばりでしかない。 同じことをもっと簡単にできるのがプログラム言語。 複数のプログラムと組み合わせて何かを処理を実現したい時に シェルスクリプトはその間を接続するための 簡易な通信インターフェースでしかない。
機能不足も何も、スクリプトで済むことをc,javaで書くやつがバカ pythonは中途半端。カーネルとのインターフェースというよりはプログラム言語。 だけど、何かと高級で中途半端。
>>669 アルゴリズムとデータ構造ですね。わかります。
>>651 今日日、Pacalなんぞ行き遅れたF欄大学の教授ぐらいしか使わないだろ
>>673 > 機能不足も何も、スクリプトで済むことをc,javaで書くやつがバカ
そんな話はしてませんよ。
>>648 railsとrails製アプリのコード、RFC眺めるだけで良いんじゃねーの?
実際にframework作るって、コスト掛かり過ぎ
スクリプトで済むことってプログラムじゃなくて アプリ実行指示書みたいなもんだよね。
>>681 プログラムを作りときはプログラム言語だろ。
バッチ処理を作るときはシェルスクリプトだろ。
>>672 には
> シェルスクリプトでプログラムを作ろうと思わない方がいい。
と書いているんだから、何も間違っていない。
684 :
710 :2013/10/20(日) 06:58:09.39
>>672 > なぜなら、言語として機能不足で、明らかに不便で作りづらいから。
具体的にどういうところが不足してるの?
javaってやたらクラスを細かく作って難解になって、その揺り返しでもっとシンプルにしようって言うのがこの10年くらいの流れだろ
>>684 激しく使いにくい計算処理
激しく使いにくい文字列処理
激しく使いにくい比較処理
激しく使いにくいループ
何をするにも使いにくい
687 :
710 :2013/10/20(日) 11:33:39.59
>>686 具体的と言う意味が理解できてないことはわかった。
>>687 わからんの?
使える文字に制限合ったり
書き方に制限があったり
例えば計算に関数適用したい場合どうするよ?
関数の結果で比較したいと起動するよ?
なにをするにも面倒くさい。
文字列処理が難しいという話はよく聞く GUIもオブジェクトも文字列から逃げるために発明されたのかもしれない
文字列処理が難しい、 または簡単という話と 文字列から逃げるは別の話で関係ない。 シェルスクリプトは文字列処理が難しい。 プログラミング言語は簡単。 それ以外でも全部同じ シェルスクリプトは何をするにも難しい。 だから簡単な用途にしか使えない。
691 :
710 :2013/10/20(日) 12:15:32.78
>>688 本当に理解力がない奴っているんだなぁ...
>>691 人の悪口しか言えないんだ。
人間としてだめだね。
693 :
710 :2013/10/20(日) 12:33:41.37
計算、文字列、ループ ここまで具体的に言われてわからないとは こいつプログラミング言語をしらないな。 無知は罪だね。
695 :
710 :2013/10/20(日) 12:48:45.83
君、もういいから。
お前が消えろよw お前の指示には従わん。
Bourne Shellだと、文字列処理はsedを使うかな。 数値計算はexpr、比較はtest どれも言語組み込みではない。 複数のファイルを読み書きするようなら、Perlを使ったほうが楽と聞いたことはある。
やっと少しは話が通じる人がいたか。 複数のファイルを読み書きするのも面倒だよね。 exprにしてもsin使いたいときどうするの? 独自の関数使いたいときどうするの? もうこの程度で難しくなる。
sinはbcで出来るし、関数は定義できるじゃん 全然難しく無いよ 何でもシェルでやるのが馬鹿らしいのは事実だけど、お前は無知すぎ
できるかできないかじゃなく、 それが簡潔にかけるかどうかだよ。 最初に言ったじゃん。 > シェルスクリプト頑張れば出来る。 > だがそれは無駄ながんばりでしかない。
awkでもできるしなあ。 でもできるできないと、難しいのは違うと思う。 特にポータビリティのあるシェルスクリプトを書くときとか。 シェルスクリプト言語の問題というよりも、システムのコマンドの互換性の問題かな。
>>698 > 数値計算はexpr、比較はtest
> どれも言語組み込みではない。
bash は、組み込みだよ。
> 複数のファイルを読み書きするようなら、Perlを使ったほうが楽と聞いたことはある。
複数ファイルもそんなに問題ない。
むしろバイナリの扱いが面倒。
でも vbs にくらべりゃまし。
そもそも、プログラム言語とひとくくりにしてる時点で、バカと言うしかない。
たとえばexprでもbcでも対応していない 独自の関数を使って比較するとかね。 if ( hoge(123) > 1 ) {} 大概の言語はこの程度で簡潔に書ける。 例えば、配列の中から偶数だけを抜き出し、 カンマ区切りで出力するのはこれだけで良い。 簡潔で読みやすい。 my @array = (1,2,3,4,5,6) print join(",", grep { $_ % 2 == 0} @array)
ちょっと具体的に書いたらフルボッコされててワロタ
しかたないよ。プログラム言語の 柔軟性を知らないんだからね。
配列やハッシュを使うならプログラム言語の方がいいだろう。 あとクラスや継承や多態性、mixin オブジェクト指向で用いられる数々 関数型プログラミングで用いられる数々 うーん。きりがないな。 ○○をするだけならシェルスクリプトって 言ったほうが簡単な気がする。
>>672 は間違ってるとすれば文章表現だなあ。
内容的には割と合ってるんだけど、いちいち煽る感じで書いてるのがね。
>>707 > 配列やハッシュを使うならプログラム言語の方がいいだろう。
通常の配列はもとより、連想配列も使えるぞ。
> あとクラスや継承や多態性、mixin
> オブジェクト指向で用いられる数々
> 関数型プログラミングで用いられる数々
できないプログラム言語もありますが?
ていうか、関数型とかどこまで必死なのよ (w
>>708 いや、間違いだらけでしょ。
たぶんシェルの知識も古いままだし、プログラム言語の知識も片寄ってると思う。
exprで思い出したけど pythonは外側のexecと内側のevalに分かれていて インデントを認識するのはexecの方だけだったりする シェルスクリプトも内側に何かを埋め込むと完全な言語になる気がする
>>709 > 通常の配列はもとより、連想配列も使えるぞ。
bashでは使えたと思うけれど、POSIXのshでは使えなかったように思う。
>>711 > シェルスクリプトも内側に何かを埋め込むと完全な言語になる気がする
awk, perl, python, ruby 辺りを呼び出せば?
今の時代、マルチコアをいかに活かすかが重要だよね で、シェルだと並列実行が簡単にできたりする foo() { sleep $1; echo $1; } for n in {1..5} do foo $n & done wait
>>712 なので、プログラム言語とかシェルを明確にしないで語る
>>672 はちょっと抜けてるで FA
実際はシェルを殆ど使った事の無い Windows & Eclipseオンリーのコーダっぽい印象 >> 672
シェルスクリプトのインタープリターを #!/bin/usr/python にしたら これはもうシェルスクリプトではなくなるのだろうか…?
/bin/usr/python なんて変態ディレクトリ構成してる奴に言われたくはない
どうせシェルスクリプトなんてsh前提なんだからshでいいじゃん Debianも不安定な互換性から独自拡張使わなくなってるし 今更bashの新機能で喜んでる方が時代に取り残されてる
720 :
デフォルトの名無しさん :2013/10/20(日) 16:24:48.17
そのうち基本情報処理の問題に Rails とかが出てくるようになるのか胸熱
基本情報っていまだにプログラミングが Java C COBOL 表計算 アセンブラ だろ ここにRubyとC#が加わればなあ
>>718 ディストリ次第だと思うが…
Linux以外も色々あるしな
>>722 どんなディストリよ
下手な言い訳してる時点で初心者としか思ってないけど
/usr/bin じゃなくて /bin/usr なんだよなぁ...
>>724 Σああ、そういうことか!
言われて初めて気が付いた…確かに変態構成だわw
>>709 > 通常の配列はもとより、連想配列も使えるぞ。
使えるのと
快適に使えるのとでは
全然違うから。
Perlの連想配列。
my $hash = {a => 1, b => 2};
対抗していいんだぜ?w
>>714 並列実行ワロタw
単なるバックグランド処理ね。
並列に実行できる数を制限したり
すべてが終わるのを待つにはどうするの?
やっぱりそういうことをしてくれる
プログラムに、”つなぐだけ”?
ま、所詮シェルスクリプトは
プログラムをするのではなく、
プログラム間をつなげるものだからね。
waitで全てが終わるの待ってるやん ホント無知だな
シェルスクリプトが汎用言語じゃないってことと、 672が無知で馬鹿だってことは両立するんだよ
シェルスクリプトが汎用言語じゃないのは本当
最近はLinuxがメジャーだけど、FreeBSDやSolarisなんかも含めてシェルスクリプト書こうと思うとさらに難易度上がる bash依存の機能はダメだし
シェルスクリプトはせいぜい20-30行程度まで書いて、それ以上だったらPerlが一番互換性あっていいだろう
さすがにシェルスクリプトで サーバーとかGUIアプリとかを 書こうとは思わんな。 ネタでやってみたやつはいるかもだけど まあパフォーマンス悪くて、 読みづらくて気が狂いそうになる コードになるだろう。
使ったことはないけれどbashでオブジェクト指向プログラミングするoobashというのはある。
ここ20〜30年の間、根源的なところで何も変化がないのはある意味すごいよねぇ
変化を期待されてない言語だからな。 複雑なことをするなら、まともな プログラム言語を使うし。
738 :
717 :2013/10/20(日) 19:18:05.01
>>722 _, ,_
#! ( ・ω・ ) これなんだと思う?ただのタイプミス
(~)、 / i )
\ ` |_/ /|
`ー_( __ノ |
( `( 、ノ
/bin/usr/python __ノ
OSと言語が変化しなくなったら本気出してアプリケーション作るんだろ よかったじゃないか
>>739 それは負け惜しみなのか?
何がいいたいのかよくわからん。
>>727 > 対抗していいんだぜ?w
bash
hash=(['a']=1 ['b']=2)
なんか難しいか?
あと、
> my $hash = {a => 1, b => 2};
my %hash = (a => 1, b => 2);
じゃね?
なんでコロンじゃ無くて ラムダ式みたいな=>なの? 変じゃね
独自コマンドに加えて、独自ファイルシステムや独自ライブラリの事前呼び出しを盛り込むとシェルスクリプトはさらにアシッドな世界へ
>>726 自分では絶対に打たんパスだから気付かんかった…他人のスクリプトをメンテするよになると気付かんとマズいだろね
OSに依存しない独自コマンドって普通によいよね
bashやgrepやsedもバージョンごとに機能が違うからな bashが標準じゃないosも考慮するとshやcshとも互換させないといけない
>>742 横レスすると、ハッシュは key から value への写像(=関数)だから
なんでここの人達ってみんな喧嘩腰なの?(´・ω・`)
陰湿になるよりも明らかな喧嘩腰の方がわかりやすい
変数aを使う代わりに同じ値を返す+αのaコマンドを作ってもいいんだぜ。そこらのプログラム言語には出来ないだろうなあこんな事!
いや出来るか。すまん
>>741 上は正確にはハッシュリファレンス
Perlの文法的にはどちらも正しい
>>721 おまえ、何にも向いてないだろうから回線切って首吊って氏ね
str.func().func2().func3() func3(func2(func(str))) やっぱ下のようにネストしてる言語は見づらくてよくないな
名前がしっかりしてれば3つくらいなら十分綺麗に見えるよ
どちらがいいというか特定の型に作用するか返り値を返すならメソッドチェーン その他は引数として渡すってのが普通だしいいんじゃない?
758 :
デフォルトの名無しさん :2013/10/21(月) 08:35:51.28
バカスレw
759 :
デフォルトの名無しさん :2013/10/21(月) 11:33:35.10
括弧の無い文法だとメソッドチェーンしずらい気がするのに Ruby は括弧無を許してるところに矛盾を感じる
you.succ
Rubyの引数カッコ省略なんて実務的にはRailsのクラス冒頭でなんかごちゃごちゃやっている部分でしか使われてないじゃん
こういうのとかいろいろやりようはあると思う str.to(func,func2,func3)
763 :
デフォルトの名無しさん :2013/10/21(月) 15:25:03.72
>>761 つまり括弧無し引数は実用に耐えないってことでしょう?
なんでそんなのを仕様に入れたのか疑問
func3 . func2 . func $ str がいいです
>>763 俺もあんま好きじゃないけど、Railsのコントローラクラスの冒頭部に
self.before_filter("foo")
と書くより、
before_filter :foo
と書くほうがメソッドの意味的にもしっくり来るし綺麗に見えるとは思う。
インスタンスメソッドの()を省略するのは基本的に論外だよなぁ。
JavaScriptならProxyで結構自在にできるな 全部グローバルスコープなら func3 . func2 . func$str も可能
>>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
歪み過ぎ 適材適所なだけ
Ruby信者って馬鹿だからprivateやprotectedをdefの前だけのキーワードにするって発想がないんだよな C++と同じく設計ミスだし、そもそもRubyのprotectedはゴミ
Matzもなんで付けたか忘れたって言ってたな
今までprivateとは無縁だったJSerのための参考資料教えてくれ
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キーワードが出来るから それに合わせて必要になっただけ。
それただのクロージャだろ
どこにクロージャがあるんだ?
まあprivateなんかは、他人にクラス公開するならともかく、少人数で開発する限りはただのオナニーだよな
>>776 修正するときにいちいち外部から依存されてないか考えるなんてごめんですぅ
JSがprivateでオナニー… やべっ、俺は高尚なスレに何という書き込みをしてしまったんだ
ちなみに
>>773 はJavaScriptやってるひとなら
誰でも知っているような基本的なことで、
よく使わている方法です。
privateで隠蔽するよりアップキャストで隠蔽したい 動的言語はアップキャストとかないからOOPはあきらめて関数型やりたい
また変なコト言い出した馬鹿がいるけど放置するか
いや、俺は一般的なprivate修飾子について知りたいだけで JSで可能!!とか言われても苦笑するしか無いんだけど
公開してないのにいちいち部外者に苦笑されるなんて変だな
private hoge public setHoge(Type hoge) { this.hoge = hoge } 隠蔽されてなくね?
隠蔽されてない例を持ってきて 隠蔽されてないと言う。 何がしたいのかわからない。
そりゃ皆が皆隠蔽するかっていったら中には偏った性愛に傾倒する人もいるさ。差別はしたくないね
せやな。略してsyn
788 :
デフォルトの名無しさん :2013/10/22(火) 07:31:02.99
ブームが去ったあとの若手お笑い芸人みたいな分野
にならないかなぁ。今は売れてて悔しい。
JSのステマしたいならこんなとこにいないで、 JSスレ盛り上げてこいよ
793 :
_ :2013/10/23(水) 19:22:52.26
z
JSerはステマなんてしない 不躾に堂々とアピールする
すぐステマだの、ツッコミ入れたがるやつは女からもてないよ。
しなくてもモテないです
ワタシがモテないのは、(ry
Pythonのnormalizeが文字列から生えて無いのはなぜ?
Pythonの文字集合はUnicodeと心中するつもりがないからじゃない?(鼻ほじ)
具体的な文字集合に優劣をつけないことが抽象化の目的 仮にUnicodeが優れていたとしても目的に反すれば評価はminusになる
サロゲペアとか合字とかを考慮して 長さや特定位置の文字を取り出すのってたいぎいな
803 :
デフォルトの名無しさん :2013/11/06(水) 13:15:10.36
ゴミw
どの言語も標準であるでしょ 作るまでもない
結局、勝ち残ったのは,Qt, PHP, js, c/c++, Java, luaぐらい? 関数型言語やlisp族って、どこ行ったん?
確かにhaskellとかどこで使われてるのかな 勝手なイメージだと研究職とかデータ分析屋さんとか使ってそうだけど
C言語のマクロを強力にしろとか静的型を強力にしろと言うやつがいなくなったのは LispとHaskellのおかげだと思う
perlは設計思想がアンチパターンそのもの phpはc言語の影響を受けた部分の全てが最低最悪 jsが糞なのは開発者も認めてて既に生で書くのはオワコン rubyはセンスのない糞設計が公式も含めて蔓延ってる
大学の講座でprologやったんだから、erlangにいけばよかった
オールドファッションの作りたてはサクサクしてて実においしい
JSON, parse, interpriter
v8, coding know-how, browser
そもそも、private,protect,publlicのKeywordが、OSSの世界で役に立つのか謎 規約レベルで、外部から変数を触るとか頭が湧いてる
Classにするからstaticはどうかということでprivateが必要になってくるんでしょ 柔軟にオブジェクトが作れる言語ならクロージャでOK
PythonのDjangoがいつのまにか3.x系に公式対応しているね
ぶっちゃけperl, python, rubyって汎用言語(General-purpose Programing language)だから Script言語では無いよね。Script用途にも使えるけど。
node-webkitでコーディングする気持ちよさは別格
そう? 自分はそうは思わなかったけど 具体的にどんなところが気持ち良い
823 :
uy@右翼 :2013/12/18(水) 12:02:51.53
殆どの場所で綺麗でかけてるのに一か所だけ if あ い else う end とかいう記述が残るとイラつくんだけど これ頑張っても if あ い end う だし。 後々の事を考えなければ い if あ う でもいいけど、一行でやるとデバッグしにくいじゃん ぁ、 い if あ && でbuG う これか
A. 誰もが自然だと思えるはず if あ then い else う B. endが面倒だけど、まだ許せるレベル if あ then い else う end C. 慣れれば意味は十分に通じるし、簡潔 あ if い else う D. 単なる変態、これが自然だと思うなら重症 い if あ else う
CとDは逆じゃね?
○ if (I_were_you) { I_could_make_it(); } ○ I_could_make_it() if I_were_you; どちらも正しい。
828 :
デフォルトの名無しさん :2013/12/20(金) 20:38:46.78
嫌われ率 PHP 60% Perl 40% JS 20% Ruby 10% Python 5%
嫌いだけど離れられない率
■マイナーな言語 ・使う理由がない。 ・自分から進んで使おうとしない限り使うことはない。 ・好きじゃないと進んで使おうと思わない。 ・使う人の多くが好きな人ばかり ・仕事ではないから時間に追われることもない。好きなことをやれる。 ■メジャーな言語 ・好きでも嫌いでも使っている。 ・仕事の多くは時間に追われてつまらないものだ。 一般論として仕事で使うようになれば その言語を嫌いな人も増える。
RubyやPythonなんて、現実では物好きしか使わないんだから、好かれてて当然じゃない
834 :
デフォルトの名無しさん :2013/12/20(金) 22:06:36.04
google trendsかよ
どこの母集団から標本採取したんだよ。どーせ、オタクばっかのクラスタからだろ。
Real World Java Real World PHP Real World JavaScript
書いてあるだろ 母集団より同調圧力が排除されてない投票方式が大きいと思うがな
839 :
デフォルトの名無しさん :2013/12/20(金) 22:15:32.02
>>835 使い始めの人はわからんかったら、とりあえずググるでしょ
その影響が色濃くでてるんじゃないかな
リファレンスで情報を引き出すのってある程度経験いると思うし
Pythonは2to3積極的に進めるようになったから、それもあるのかな
ttp://gergelyke.github.io/node2013/ ,, _
/ ` 、
/ (_ノL_) ヽ
/ ´・ ・` l 言語戦争は終わったんだ
(l し l) いくら呼んでも帰っては来ないんだ
. l __ l もうあの時間は終わって、君も人生と向き合う時なんだ
> 、 _ ィ
/  ̄ ヽ
/ | iヽ
|\| |/|
| ||/\/\/\/| |
ジャイアン乙
ジオンの技術者たちが経営者に「クラスシステムなんて飾りだ」って言われているのを目にした気分
まず土管戦争でJavaとC#を倒してもらう 言語戦争はその後だ
844 :
デフォルトの名無しさん :2013/12/21(土) 07:18:04.68
それより真論理表でのAならばBってのが未だに良くわからん あれ、英語にするとif A then Bなんだよな
なんで嫌いなものを無理して使わなくていいのに使ってる人がこんなに多いんだろう
846 :
デフォルトの名無しさん :2013/12/21(土) 09:22:21.17
>>844 マジレスすると真理値表は(一般的には)鰊数のbit演算
ifは論理演算
A⇒B = 〜A∧B
数の子とは鰊の子のことである。 これ豆な。
フロントエンドは一層複雑になって、Desktopアプリの難易度まで要求される。 v8やnode.jsでアホなノウハウ溜め込んでる連中も、dartの普及と共にperlやBASIC PGさ
smartclient も Ext.JS もなっかなか普及しないなω 世間は jQuery マンセー
>>845 結婚してずっと一緒にいると相手の粗にはじめて気づくんだよ
>>844 ifは三項演算子だから本当は if A then B else 1 なんだよな
>>847 ∧ではなく∨
854 :
デフォルトの名無しさん :2013/12/21(土) 16:28:47.84
if A then do B else do C
使えるやつが多い ⇒ 単価が安い 使えるやつが少ない ⇒ 仕事が無い 生産性が低い ⇒ 金がかかる 生産性が高い ⇒ 金がからない (※金を出すのは客です。客がソフトウェア会社に支払います。)
生産性が高い ⇒ すぐ終わる ⇒ すぐ仕事がなくなる
すぐ終わるなら人数を少なくして期間を長くする 少数 ⇒ マイナー
今まで普及しなかった層にも情報技術が広まるよ
生産性が高くかつ次の仕事につながる そうならない理由を140字以内で述べよ
生産性の高い技術は、後発の優れたデザインに置き換わる。 しかし、高生産性の道具は常に新世代の技術に置き換わる可能性がついてくる。 1つの技術に習熟したときには、また、新しい道具が出来上がっているのだ。賽の河原だ。 1つの技術に習熟したところで、次の仕事でノウハウを活かすことなど出来ない。 老い殺しによって生まれた技術では、ノウハウなど蓄積することなどできない。 RFCの仕様やalgorithmといった時代に普遍的なレイヤーでしか ノウハウなど貯めこむことができず、次の仕事に結びつくこともない。
>>860 それ、どこの業界でも一緒だぞ
何もプログラミングに限った話ではない
>>860 新しい道具がいままでの道具と全く違うと言うケースはそんなにないだろ。
> ノウハウなど蓄積することなどできない。
バカの言い訳乙。
IPv6「賽の河原と言ったな、あれは嘘だ」
864 :
デフォルトの名無しさん :2013/12/22(日) 12:01:14.31
PythonってRubyみたいなメタプログラミングってできるの?
むしろメタプログラミングが出来ない言語を 知らないぐらいなんだが、Rubyしか知らない奴なのかな?
普遍的なメタプログラミングはただの文字列処理だよ 普遍的じゃないやつは文字列を否定するけどノウハウが蓄積しないよ
PythonとRubyって出来ることは似たようなもので、単にどっち選ぶのかは好みの問題、みたいにPythonの欠点を隠蔽化しようとする奴っているけど、Rubyみたいなメタプログラミング支援がないってかなり大きな欠点だと思う。
メタプログラミングがしたい人はLisp使うでしょ 何が悲しくてRubyで中途半端なメタプログラミングをしなきゃいけないのか
Rubyだと書けるけど、Pythonじゃ難しいメタプログラミングの例を出してみて
よく考えてみ。 プログラミング言語ってのは、目的を達成するために 必要な機能を備えているべきものだ。 メタプログラミングが必要になる時点で、 その言語の限界がそこにあるってことなんだよ。 メタプログラミングを使わなければ出来ないって状態になってはいけない。 普通はメタプログラミングは使うべきではない。
>>870 X: 普通はメタプログラミングは使うべきではない。
O: 一般的なアプリケーション開発ではメタオブジェクトを設計すべきではない
Lisp/Smalltalk/Rubyのような動的型付け言語のOOPでは、
普通にメタプログラミングが多用される
たとえばRubyでは、あるクラスの属性を宣言したい時、
クラス定義内で attr_accessor :a というコードを書く
この attr_accessor は(言語の構文の一部ではなく、)
組込みライブラリ関数の一部であり、
その中では、属性をアクセスするゲッターメソッドとセッターメソッドを
動的に宣言している
またSmalltalkにはクラス定義に相当する構文は存在せず、
それは共通のシステム辞書へクラスオブジェクトを追加する操作でしかない
つまりこれら言語のプログラミングでは、意識されることは少ないけれど、
日常的なプログラミングでメタプログラミングが大活躍している訳だ
したがって、戒めるべきは「メタプログラミング」そのものではなく、
車輪の再発明的で安易な俺様流の「新メタオブジェクト設計」だと思う
> クラス定義内で attr_accessor :a というコードを書く > この attr_accessor は(言語の構文の一部ではなく、) > 組込みライブラリ関数の一部であり、 > その中では、属性をアクセスするゲッターメソッドとセッターメソッドを > 動的に宣言している 問題は、なぜこれを動的に宣言しなければいけないのか?だよね。 もしその属性が動的にしか決まらないことであれば、動的に決めれば良い。 だけど、殆どの場合は、静的に決まる。 このクラスは、こういう属性を持っているという前提を元に コードを書いているのなら、それは静的に決まっている事実だから。 動的に宣言する方法があってもいいが(それがメタプログラミング) 殆どの場合は静的に決まるのだから、それは静的なやり方を使うべきだ。 その静的なやり方が存在しないから動的にやるしかなくなっている。
Pythonのデコレータは綺麗なメタプログラミング
>>874 コンパイル時にやっていることが
実行時にもできるようになる。
まできることは変わらんね。
そもそも日本でなぜPythonが普及しないかという問題は、 その原因をRubyの普及にあると推測することは十分妥当だろう この2つの言語は世に出た時期も割と近いからな
×) そもそも日本でなぜPythonが普及しないかという問題は、 ○) そもそも日本のドカタ業界でなぜPythonが普及しないかという問題は、
ワロタ
日本でPython使った有名どころの製品やサービスって何があるの?
有名どころの製品やサービスを作っているのは、 全部ドカタに当てはまるので、ないですね。
有名サービスの場合、ドカタは末端でしょーもない部分のコードを書いてるだけで コアの部分は優秀なR&D部隊が開発してる
なんだけっきょくPythonでものになってる仕事なんて日本じゃないってことじゃん。 ダメな言語だなあw
日本で仕事無いからダメな言語 やるじゃん
pythonは目立たない大きさのベンチャーがひっそり使う秘密兵器。 RubyとRoRは目立つために使う道具。Rubyでできた〜、Ruby製の〜と枕詞がつくぐらい、 Rubyで作ることが目的となり、一部の支持者たちから熱狂させる。 愛国心とか日本とか、そういった言葉が好きな政治や経済レイヤーに居る資本主義の犬たちがこぞって使う。 本物のRuby愛好者は国外の方が見つけやすい。
せめてその目立たない大きさのベンチャー企業が使ってる例一つぐらいは挙げられないのか?
優秀な人間が日本のドカタ企業なんぞに就職するかね?
日本の大企業に一般的なPGとして就職するヤツは業界構造を理解してない間抜け
大企業に入る奴はコード書かないだろ Excel方眼紙が友達
パワポ部長、エクセル男子
R&Dやメーカー系、子会社、ゲーム業界は書くよ。
大手SIerとか何の魅力も感じない。 絶望的に頭の悪い人たちが就きたがる企業で今後は潰れていくだけの印象。
じゃあなんで君は無職なの?
君がドカタ業界でしか働けない無能だからといって、 他者もそうだとは限らないでしょ?
職とポストを奪い取るためだよ
サービス業が他の業界を食い潰す。Amazonなんて良い例。 大手SIerで末端の雑事をこなしても、30を越えてから、転職、独立は不可能。 あそこの無能ども、リストラされて何やるんだろな
Amazonもドカタと作業員が ほとんどなんだろうな。 倉庫担当とか
ずっと倉庫番をやり続ける仕事。
無性に倉庫番を自動化したい こんなものは仕事じゃない
嘗て、このスレを賑わせた、ちんこが立派な社会人に成長していて嬉しい
最近思った アウトプットがすべてで手段は評価されないんだって
記事の後半部分をすっぽりと抜かしておいて何言ってるんだか
>>872 Rubyのattr系メソッドのやってることは組み込みライブラリを使わずに構文だけで書けるよ。
ただ、それをそのまま書くより読みやすいコードになるから、そう書くのがRuby流。
…ま、細かい話をすりゃRubyの場合はクラス定義構文もメソッド定義構文もインスタンス変数の定義も動的で
どうせ静的な方法じゃないんだから、ってのは実際あるんだけどさ。
>>902 Rubyという言語では、何故か手段として使うだけで周りから評価される
>>906 手段に頑なにこだわるのがRubist
手段にこだわらず、デザインやユーザーの規模、ライブラリーの充実、完全に実用主義に拘る真のエンジニアがPythonist
日本製とかオブジェクトのなんとかとか
そういうのに拘るバカは何も作れない。
プログラミングする行為を楽しむために作った言語とかバカかよ。
日本人がたくさん使ってる外国製のPythonは良い言語。
外国人があまり好まない日本製のRubyはあまちゃん
あまちゃんは今年大人気だったぞ。じぇじぇじぇ
Pythonのjediみたいなライブラリって他の言語に無いのか? コード補完の精度が低過ぎてマジいらつく
>>907 言わずもがな、DjangoよりはRoRの方がforkされてる
多分、皆、pythonで埋込みコードなんて書きたくないのだ
Webの仕事を片付けるだけならPHPかjsで十分
>>907 >日本人がたくさん使ってる外国製のPythonは良い言語。
>外国人があまり好まない日本製のRubyはあまちゃん
メルツェデスとかジャグァーみたいな言葉が大好きな、舶来品信仰の団塊オヤジかよw
流行ると超えるは別物だからな 未だに誰一人としてC言語を超えてない
>>912 がいってる「超える」というのは
すべての点で超えるという意味だからな。
どんな言語にも良い点と悪い点がある。
それはC言語も含めてであり、
C言語も他の言語をすべての点で超えてはいない。
ようするに、トップの言語は存在しないんだよ。
>>903 ルビーって
使ってる奴らのオナニーだよな。
その言語作った日本人がおなにーように
作ったみたいなもんだし
使ってる奴のオナニーほど強い駆動力は、この世の中にほとんど存在しないと思う
趣味で自己満足要素がないと確かにね 仕事でも自己実現とかできる挑戦要素が常時あれば楽しいのだろうけど、納期読みにくかったりバグの元にもなりやすいから仕様カットされやすくて残念 他の人から見たらそりゃ職場で勝手に好きな言語押し通してオナニーしてんなって話だが
うーん、 ルビー使いの奴らには現実見ろよって思う。 他人のコード読めない、 自分のコード読ませられない 目的が完全にズレてると思う、、 例えるなら コンピューターの世界で文字がフォントは違えど誰でも認識できるのに対して 習字のように自分たちで好き勝手手書きしてるような感じ。 それで俺の字の書き方が最高だ! こいつの書き方が最高だ! などと本来の目的からはズレてると思う。 世界を変えるのは、 タイピングされた優れた内容の本をたくさん読んで タイポで人を感動させる本を書いた作家で、 俺の書き方が独創的! 俺の字かっけ〜とかやってる なんちゃって書道家共じゃない。 書道のように歴史があるならいいのだが プログラミングにそんな要素入れて楽しいの?ルビー使ってる人達
りすぷ
ルビーとかカタカナで書いてる時点で底の浅さが世界まる見えテレビ特捜部
じゃあ、るびぃ☆
>>919 Python > るびー
作者もそこが浅いんだから
るびーでいいやん
作者の方がお前よりかははるかに底は深い件について 人は自分よりレベルの高いものについては語れないものだしな
このようなプログラムを実行すれば、当然のことながら哲学分野全体に社会全体の 大きな注目が集まります。わたしがしまいにどのような回答に到達するか、 だれもがそれぞれに説を唱えるでしょうが、マスコミの注目を利用するうえで、 あなたがた哲学者より有利な立場の人がどこにいます? 互いに激しく意見を衝突させ、一般紙で互いをこきおろし続けることができれば、 そして、目端のきくエージェントを見つけられれば、一生を通じて甘い汁が吸えるでしょう。いかがです? p223-l9
925 :
デフォルトの名無しさん :2013/12/28(土) 13:45:53.26
無料レンタルできるWEBサーバで動作可能な言語はPerlのみという場合が多い よって、お金のない学生はPerlを覚えるしかない Perlは貧者の武器である 少しでも(例えば年に2000〜3000円程度)払えるなら、業界標準であるPHPを利用できるサーバをレンタルできる PHPであれば学生でも数ヶ月の訓練で実用レベルになるだろう 金が金を呼ぶのがPHPである コミュニケーション能力に自信があるならRubyを学ぶのもよい コアなメンバーに電車代だけで会いにいけるのがRubyのメリットだ 人と人を繋げるのがRubyである 英語に堪能で世界を視野に入れているならPythonを学ぶべきだ 世界中の初心者に愛されている言語がPython あなたと世界が繋がった気になるのがPythonである
> 無料レンタルできるWEBサーバで動作可能な言語はPerlのみという場合が多い Perlのみという、無料レンタルできるWEBサーバが、あるのなら ここに書いてみてよ。 その他の言語使えないんだろう? 本当はだいたいがPHP使えるんだけどね。
928 :
デフォルトの名無しさん :2013/12/29(日) 02:50:56.55
などとPHPしか使えない低能が
今Perlを覚える学生はいない、マジで
Larryですら初学者にはjsを奨めてたからな
Perlのみという、無料レンタルできるWEBサーバは とうとう言えませんでしたw
>>930 Larryが考える優れた言語が
どういうものかっていうのは
Perl6に現れてるしな。
>>932 youtubeの動画みろよ
つーかcでOSやCompilerを書く以下、PHPでウェブサイトを作る努力以下で、
最近はやりの機械学習やデータマイニングに必要な知識を一通り習得できるんだ。
今日日、計算機に興味を持つような人種がcでOSやコンパイラを書こうなんて、
随分と傲慢な話だこと。
確かに新しくPerlを勉強しはじめた人滅多に見ないな
ただの書きやすさより書いた後の独自性と美しさを競う不思議な言語だからな 場合によっては、100年後ぐらいに評価されてるかもしれない
>>933 なんでその内容で俺にレスしようと思ったの?
俺の書き込みに対する反論じゃないし、
そもそも全く関係もないし
>>936 Larryですら、薄々にjsでイイヤって考えてるからだよ
CでOSを書く Cでコンパイラを書く PHPでWebサイトを作る jsで機械学習をする これらを並列に並べて簡単だとか難しいとか語ってしまうのは、よっぽど凄い人か、よっぽどバカかどっちかしかいないかと
大方、オタクの聖地にある躓き石だよ このスレに居るような奴の選択肢なんて以下ぐらい c/c++で簡単なゲーム書くかAlgorithmに徹するか PHP,jsでWebを書くか Pythonでデータマイニングするか
>>939 Linuxカーネルやコンパイラ、インタプリタの実装を眺めたけれど
CでOS、Compilerを書くのが不可能だと悟って、
機械学習に進んだけれど就職先が見つからないので、Webの方に進んだ人だろ。
うわぁ…リアルだなぁ(ボソッ
リアルも何もTrue man show だよ
滲み出す混濁の紋章 不遜なる狂気の器 湧きあがり・否定し 痺れ・瞬き 眠りを妨げる 爬行する鉄の王女 絶えず自壊する泥の人形 結合せよ 反発せよ 地に満ち己の無力を知れ
君のその祈りのために…魂をかけられるかい? 戦いのさだめを受け入れてまで、叶えたい望みがあるなら… 僕が力になってあげられるよ♪ 君はどんな祈りでruby gemを輝かせるのかい
>>934 俺は新たに勉強し始めたよ
コマンドプロンプトがキッカケになった
Pythonの力が弱まるとPerlが復活するみたいだから 本当にPythonを倒したいなら対価としてPerlを受け入れる必要がある
ruby gemはもう濁りきっている
rubyは魔女になってしまうの?
正しいプログラミング言語の選び方
http://thebridge.jp/2012/07/developer-programming-languages 金融業界:Scala, Java, C#
代理店、メディア、広告、デザイン:Ruby, PHP, JavaScript, Java, Objective-C
企業向けシステムのアプリとOS:Java, C#
リーン・スタートアップと小規模なソフトウェアビジネス:Ruby, PHP, JavaScript
研究開発、科学、学術:Scala, C++, Erlang, Python
もし女子高生ギークがベンジャミン・フルフォードの「闇の支配者」を読んだら
>>950 > 企業向けシステムのアプリとOS:Java, C#
アプリはいいとしても、OS?
C#とObjective-CはOS限定言語
Unity C#なんてのもあるしそれはない obj-cには異論ないが
もし女子高生のコンピュター部員がIT系の記事を真に受けたら もし女子高生のRubyistがルターの「キリスト者の自由・聖書への序言」を読んだら もし絶望的に才能のないニワカオタクが聖書を読んだら
さやか 「でも私、何も出来ない。だって私、もう死んでるもん。ゾンビだもん。」
Rails for zombies
ttp://railsforzombies.org/ RoRと「まどマギ」から見られる多くのシンクロニシティより、
高度な知性を持った宇宙生命体の存在を信じるものは少なくないと思う
少なくともG,H,Q,3,11は宇宙生命体の自己顕示欲的な象徴だろう
なんなんだ最近のこのスレは
あー、気にしないで。単なる荒らしの新しい手だから。
過去スレも大したこと話してないだろ
まつもと「ボクと契約して、Rubistになってよ! PerlやPythonなんてありえないんだよ」
ケンカはやめて><
>>958 ほむらちゃん、まだ中二病なんだよね?
お願いだから、インキュベーターに騙される前のバカな私を助けてあげて
高畑さんにそそのかされて・・・
私は他に、どうしようもなかったから…。
>>957 魔法少女の高齢化に伴う魔女の増加
終わりのない奇跡があると信じていた
すべてのプログラマの絶望を引き受けて生まれた言語、それがRuby
希望を信じた魔法少女を、私は泣かせたくない。最期まで笑顔でいて欲しい。 それを邪魔するルールなんて、壊して見せる。変えて見せる
計算機科学に期待しすぎておかしくなる人もいれば、悲観的なくせに冷静な人もいる 宗教なら楽観が善で悲観が悪かもしれないが、科学にはそんなルールはない
おまえらって、ほんとバカ
>>969 ああ、そうだね。ペチュニアの鉢植えとかマッコウクジラとか、よく高い所から落ちてくるよね
BerkshelfとかChefとか本当に便利なのか立ち止まって考えよう
2013年12月29日 04:54
http://dqn.sakusakutto.jp/2013/12/berkshelf_chef_gem_ruby.html >berkshelf便利だから使うべき、みたいな記事がいっぱいある。
>ChefとかBefkshelfとか組み合わせて便利便利鼻血ブー、みたいなやつ。
>私はこういう「gemのライブラリを組み合わせて作られたサーバ構築ツール」を手放しで礼賛する風潮に違和感を感じる。
>みんなが便利便利言ってるから自分も便利便利と言ってしまっているだけではないのか。
>王様がステキな服を着てるとみんなが言ってるけど、あなたにはその服が本当に見えているのか。
>本当にこれらのソフトウェアを使って私たちは幸せになれるのだろうか。
>ちょっと冷静に考えてみてほしい。
やっぱRubyってダメだよな。
疑うべきは自分自身の祈りの方だよ
わけがわからないことが頻繁に起きるってことは知識が足りないってことだ。恥を知れ
頭文字Qって何か元ネタあるの?Qt, qiita, QA@IT, quby, qmon, Q資料,,, 共観福音書のQ資料のQをイニシャルにつけたりする慣習でもあるの?
ゾンビ、v8、gem,311,911,GAINAX,三鷹33,quby,G,M,H,Q,oxx,xox,xxo RoRと「まどか☆マギカ」には超常的な同調性が見られる これは、どこかの組織が共通の資料提供をした結果と考えるべきだろうか? その組織自体が何かの高次元宇宙生命体に操られている可能性も否定できまい。 いや、もはや宇宙生命体の存在を認めざるを獲ないな。長門は俺の嫁
闇の組織がこの世界を常識レベルで支配しているのだろうか?
とすれば
>>975 は何者だろう?闇の組織の団員か抵抗勢力、或いはルポライターだろうか
Rubyはしんだんだよね? node.jsにやられたんだっけ? PythonとJavaScript で全て事足りそうだなwww
一度でいいから闇RubyKaigiに出たかった
pytyonやnode.jsは競合であってもRubyを死に追いやるようなイノベーションじゃない これらの動的言語を死においやるのはコンパイラと動的言語の双方の特性を兼ねたgolangやRust
双方の特性を兼ねるのはイノベーションじゃない structとinterfaceの特性を兼ねたのがclassだった それで二つの概念が一つになると思ったら、三つになっただけだった だからGoはclassを廃止したんだ
984 :
デフォルトの名無しさん :2014/01/10(金) 16:51:44.80
すげぇ、twitterでpython開発者ディスってるphperがおる
disってるっていうよりただのおバカ発言じゃんw
disりあう文化は2007年ぐらいが活発で、node.js以降は、皆、沈黙しだした 敢えてパフォーマンスを求めないスタンスを貫いたPHPは先見性があったと思うよ
djangoとかzopeって言葉を聞かなくなったわりにRailsだけは活発な印象 PHPの世界って、symfonyつかわれまくってるのに drupalよりwordpressの方に人気あるから不思議
988 :
デフォルトの名無しさん :2014/01/10(金) 18:07:52.07
NodeがRoRを追いやってるんじゃなくて ただRoRのパラダイムが自然と古くなって廃れてきてるだけ よく言うと枯れきったってことだろう 言語として全部をJSで書けばいいじゃんという流れもあるが、これが一番
989 :
デフォルトの名無しさん :2014/01/10(金) 18:46:14.70
モヒカンがいっぱい釣れてるな
991 :
デフォルトの名無しさん :2014/01/10(金) 18:58:42.24
992 :
デフォルトの名無しさん :2014/01/10(金) 19:07:06.48
こいつ俺を殺人犯にするつもりなんだろな。 TAKANOとかいうやつ。 なんというか最近のニチャネラぽい臭い。 「あなたの知っている〜は〜私の知っている〜は〜」 こんなやり取り目の前でしてたらとりあえず一発ぶん殴ってみるよね。 鉄パイプあったらそれでぶん殴るだろな。 ほんと恐ろしい奴だわ。 逮捕されたくないわー。 怖い怖い。 近づかんとこ。
なんで「Pythonはオランダだボケ」って書けないんだろ
リンクを知ってれば教えて
嫌味ったらしい感じがする 典型的なスクリプターぽい 言われてるほうはただのアホなのでセーフ
ウェブ系は変な人多いよね
>>996 組織に馴染めない自営業者の塊だもの
ここでのモヒカンが何を指すのか分からないけど、
Rubyのミートアップにはタトゥーと鼻ピアスとスキンヘッドと
ラッパーとアニメアイコンみたいなのしか居なかったよ
そろそろ次スレたてなよ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。