[JavaScript] スクリプト言語34 [Perl,Python,PHP]
JavaScript, Perl, PHP, Python, …
スクリプト言語をすべて扱うスレッドです。
最強のスクリプト言語は、どれよ?
さあ、死ぬまで語りやがれ!!!
■ スクリプト言語の用途
簡易Webアプリ、シェルスクリプト 、JavaScript
■ スクリプト言語の特徴
1レスで書ける程度の使い捨ての短いコードなら作成が容易だが
実行速度は劣っており、2人以上の開発、1000行を超えるソースコード、
10ファイル以上からなるソースコード、大規模になればなるほど
修正時の影響範囲の把握が困難で簡単なスペルミスが
発見しづらいバグを生み、IDEなどの静的解析ツールの適用が難しく
何から何まで人手でやらなければならずプログラマの負担が大きい。
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがある。
1レスには収まらないが100行程度の短いコードはここで
ttp://play.island.ac/codepaste/ [JavaScript,PHP] スクリプト言語33 [Perl,Python]
http://toro.2ch.net/test/read.cgi/tech/1367556949/
RubyはHPC Rubyが出てからが本番だから(震え声)
Rubyは遅いからな。
前スレ
>>999 > リスト内包は集合論とかの数式を見慣れた人には分かりやすいよね
短い場合はそうだと思うけど、
長くなった場合は見にくいよ。
多分その理由は思考の流れと逆に書くからだと思うな。
ディレクトリのように、前から絞り込んでいくやりかたと
後ろから絞り込んでいくやり方がある。
長い場合は、前から絞り込むほうが理にかなっている。
例えばドメインは、後ろから絞り込んでいくやり方だけど
パスの部分は前から絞り込んでいくやり方になってる。
住所を真似して後ろから絞り込んだのはいいが、
途中(パスの部分)で破綻したのではないかな。
GUIのメニューやCSSのセレクタも前から絞り込んでるね。
英語の文化のせいで後ろから絞り込むやり方が存在するけど、
論理的に考えたら前から絞り込むほうがいいのだろう。
日本語は基本的に前から絞り込む文化。
HTMLに組み込める言語が標準入出力がないことが要件なら Luaやmrubyなんかは駄目なんですか?
Luaやmrubyは標準入出力あるだろ
前スレ
>>998 無理→気軽にできない→getが冗長→ださいよ
本当に下がりましたねぇ
もはや最後完全に好みの問題じゃないですか
10 :
デフォルトの名無しさん :2013/05/06(月) 04:37:37.57
結局のところ、言語仕様なんて 開発効率に大きな差は産まないんだよ。 大きな差を生むのはライブラリ。 そしてライブラリは人が多くなれば 自然と多くなる。 JavaScriptはその頂点にいる。 人をたくさん集める魅力がある。 言語仕様だけが魅力の源ではない。
だから、名前はgetじゃなくてnewCounterの方だっつーの
newCounterはJavaScriptの方の名前じゃねーか 名前つけてるじゃねーかー いるんじゃねーか
だから、その例でつけてるだけで、実際にコードを書く際には つけねーよ
ちなみにpythonの有名なデスクトップアプリって何? ググっても出てこなかった
死ねゴミ共がw 死ねゴミ共がw 死ねゴミ共がw 死ねゴミ共がw 死ねゴミ共がw 死ねゴミ共がw 死ねゴミ共がw 死ねゴミ共がw
>>13 名前付けないなら1回しかつかえねーだろ。
インスタンス一個しか作れねーだろ。
>>16 お前、いちいちイベントハンドラに渡すクロージャに名前つけるの?
>>17 つけねーよ?
匿名クラスつかうよ?
だからなに?
底辺の言語が争ってるw
ほーらまた底辺が来た
底辺の言語を愛する底辺Webドカタが戯れるスレ
ほらな、結局あの冗長なめんどくさい匿名クラスになるだろ しかもfinalしか参照できないやつな さらにさらに結局インターフェースに名前が必要だしな そりゃクロージャ欲しがるわけだわw
今度は冗長→ださいよ?の流れか? ぶっちゃけあんなのタイピング速度争いでもしてない限り 問題にならないだろ。 お前の言う冗長な部分は、補完機能で勝手に生成されるし。
finalしか参照できないことの何が問題なんだろうか? final変数に入れればいいだけじゃないか。
final変数を配列で定義して 書き換え可能にするテクがあるから(震え声
その割にはクロージャ入れるぞーって必死になって、かなりの大事になって 何年も侃々諤々と議論しまくってるなw
なんだそのテク? 普通にオブジェクトなら書き換え可能だし、 戻り値使えよ。
>>26 何年も立ってるのは入れる理由があまりないから
優先順位低いんだろ。
最近になってマルチコアを効率よく
使うためという名目が出来たけどな。
俺は非同期スタイルやイベントベースで、流石に匿名クラスはちょっと嫌だわ functionですらちょっと長くて嫌だしw
>>28 何年もかかってるのは、クロージャがあまりに言語の根幹を揺るがす
重要すぎる機能だからだよ
重要ならすぐに入れようとするだろJK
それが無理なんだわ 大手術なんで
Java vs Javascript スレ
>>33 SAM type の構文糖だけど?
何が大手術?
スクリプト言語Javaについて語るのはここですか?
Javaにクロージャはあまり必要無いように思うんだけどなあ。 匿名クラスでマルチスレッドやイベント作る場合以外は使わなくない? それよか、いまだに型推論、プロパティ、インデクサ、関数ポインタがないのが痛すぎる。 しかもこの4つは全てVM弄る必要はなくて、ただの糖衣構文だから、全てコンパイルのパーサを変更すればいいだけだし。 なんでこの4つを実装せずにラムダ式に時間かけているのかよく分からんわ。
糖衣構文って重要なの? どうでもいいものなの?
結局例外透過もなくなっちゃったな チェック例外が大失敗なのは今さらだが、Javaワールドに視野を限れば 未だに優れた仕組みだと信じて有り難がってる人が多いのに 自ら使い物にならなくするとはなw
JAVAは中間コードに直す時コンテキストが失われ過ぎて 普遍コードをループ外に出す等の最適化が満足にできない欠陥言語だから期待するほどダメ
Javascriptは酷いところも多いが、良いところも多く 好きな奴は好きだろう Javaは現在では良いところが少な過ぎてキツい
正露丸の糖衣版程度の需要
IDEでも埋めきれないレベルでJavaは冗長 当然スクリプト言語では無いし、もうこのスレで話題にすべきじゃないね Java厨やC#厨の所為でスレタイ変わった経緯もあるくらいだし
ところでRubyerとPHPerは絶滅しちゃったの?
RubyやPHPさえあればなんでもできるぜと豪語する人を見たことがない 皆仕方なくやってる感じで本物のRubyerやPHPerは多分いないんだろうなあと感じる
githubにはRubyerたくさんいるだろとマジレス
日本では見ない githubなんかどこの氏族の溜まり場かわかんないし
51 :
デフォルトの名無しさん :2013/05/06(月) 15:00:22.56
githubは一番有名なホスティングサービスだろ
rubyerで吹いた
rubyみたいな呼称はrubyerと表記するのが一般的
俺は名前や見た目で性質が分からないものは大嫌いなんだよね githubとか意味分かんない 同じくJAVAやRubyとかも何なのかわからない その点JavaScriptはJavaって名前のスクリプトだと犬でもわかるから好きだ
でも俺、別にジャワ島を操作したいとか思ってないしなあ…
それ、お前がgitという超有名バージョン管理システムと hubっていう超有名英単語知らんだけじゃん
引数の数をチェックしない糞言語ってJSの他に何がある?
チェックをするのが良いという発想がまず間違い
例えば、あるブラウザAのバージョン1がmethodA(arg1, arg2)をサポートしているとする バージョン2で新たに機能を増やしてmethodA(arg1, arg2, arg3)になったとする さらにブラウザBやCではmethodA(arg1, arg2)のままだとする すると、ブラウザAバージョン2に対応したJavascriptで、methodA(2, true, true)などとして呼び出すわけだが、 これがバージョン1でもBでもCでも動くようにするためには チェックしない仕様になっていると都合がいい こんな感じの事情だと推測できる
引数の型をチェックしない糞言語?
>>59 methodA(arg1, arg2, arg3=None)で解決だが?
検索結果 Rubier 80,000件 Rubyer 8,000件
Rubyist 347,000件
Rubyistって日本でだけ通じる言葉?
>>61 それはブラウザAバージョン2がそう定義するという話か?
それだと、59と何も変わってないぞ
たとえば、引数が3つの関数があった。 methodA(1,2,3)という呼び出しをしていた。 でも別のブラウザでは引数は2つだった。 methodA(1,2,3)というコードがエラーでてはいけない。
>>63 やべーな、これが良いとか言えるのはJS厨くらいだろ…
引数は特殊変数@_に格納される。
# 丁寧に書いた例
sub mul {
my ($left, $right) = @_;
return $left * $right;
}
sub mul { $_[0] * $_[1] }; # こうも書ける
>>67 ,68
デフォルト引数で実現できるから引数の数をチェックしない理由にはならないとわかるか?
まあJSのデフォルト引数は
>>61 みたいにスマートには書けないようだが
どうせ中身で挙動を変えるんだからデフォで可変長引数なんてなんのメリットもない
むしろ過不足があっても止まらない糞仕様
過不足があるってことは完全にコードが間違ってる場合だ
その場合、一つ目の引数と二つ目の引数は必須の役割で、 三つ目の引数は付加的な役割であるってことが多いんだろうな ブラウザ独自の拡張機能とか そうなると、引数の数をあえてチェックしていない意味が出てくる
>>69 いや、デフォルト引数を新しいバージョンに付け加えただけでは、
古いバージョンでエラーが出ることに代わりはないだろ
59デフォルト引数前提だろ
ちなみにJavascriptのデフォルト引数の書き方は
arg1=arg1||0;
みたいなのが一般的だ。
オプショナルな引数以外は全て指定されてる必要はあるわけだから チェックしない意味は出てこないな
>arg1=arg1||0; 完全にバッドノウハウな見た目じゃないですか やだー
>>73 はぁ?
Perlだって
my $a = shift || 1;
ってやるんですが!?
>>72 結局それは、自分でオプショナルなものと必須のものを指定する必要があるだろ
それに、
>>59 は引数が足りない場合ではなく、引数が増えてしまってる場合の話で、
別の場合だし
スクリプト言語はこういうユルユルさがメリットなわけで そんなにガチガチにしたいなら静的型付け言語使っていればいい。
いや確かにバッドノウハウっぽい見た目だよw まあ慣用句だからみんなわかってて大丈夫ってだけw
>>71 どゆこと?古いバージョンに対して余分な引数を与えてしまったら
その余分な分が効くはずの意図した動きはしないだろ?
あと、そのデフォルト引数はそれは罠付きだろw
しかも可変長だから関数内に書けないこともクソ
引数やデフォルト値を調べるのにソースコードの中身を見る必要がある
pythonではドキュメンテーション文字列を用意しなくても
例えば help(f) とすれば f(a, b=1) と引数までは表示される
>>78 > どゆこと?古いバージョンに対して余分な引数を与えてしまったら
> その余分な分が効くはずの意図した動きはしないだろ?
しなくていいんじゃないですか?
だってデフォルト引数ってそういうものでしょう?
>>78 だから、その余分な分は付加的な機能であることが多いんじゃないかな
たとえば、ボタンの角を丸くするとか、ちょっと速度を微調整するとか
だから、古いバージョンがそれを無視してしまっても構わない
そういう場合が多いんだと思う
そういう時に、うまく行ってしまうわけ
>>61 > methodA(arg1, arg2, arg3=None)で解決だが?
これって何も解決してないよな。
だって、古いブラウザは
methodA(arg1, arg2)
こうでしょ?
>>79 違う
>>80 ブラウザのためだけにそんな糞仕様にしてしまったのなら
他のブラウザ関係ない言語と比べたら欠陥でしかない
>>81 それは既に指摘済み
多分、そこは相手も納得した
>>82 何が違うの?
デフォルト引数はあってもなくてもいいもの。
なければ以前と同じ動作をするだけ。
>>82 > ブラウザのためだけにそんな糞仕様にしてしまったのなら
> 他のブラウザ関係ない言語と比べたら欠陥でしかない
だからJS以外はブラウザで動かないんだよ。
間違えた。
>>78 は「デフォルト値を関数内にしか書けない」ことがクソってこと
>>85 じゃあブラウザの外では糞言語でしかないってことだよね
>>86 そんなに関数と同じ行に書きたいのなら
セミコロンでつないで一行にすればいいじゃないですかw
確かに、人間が間違える危険性を無視してブラウザの都合を 通している感は否めない ただ考えさせられるのは、本当はどっちが便利だったんだろうってこと 一見めちゃくちゃに見えるが、意外とそれでjsはうまく行っちゃったように見える コンセンサスが得られた理論や、理想論と現実の違いというかw
>>87 世の中HTMLとJavaScriptの時代に
ブラウザ外ってなにがあるんだ?
いや、引数の数、つまり使い方が違うなら新しい関数を定義して 新しい関数を知ってる人だけが使えるようにすればよくね? methodAにたいしてmethodA2を作ればいいだけ 可変長引数とか馬鹿すぎる解決法だよ
>>91 一理あるが、一概にそう言えるのか?
名前が増えたら混乱するという面もあるぞ
>>91 えーと、つまりファイルのopen()関数に
新しいロックオプションを追加するとき
別の関数を作れと?
>>88 勘違いしてるようだが一行を表示するんじゃなくて
何行で書こうが関数名をhelpで参照すれば引数とデフォルト値が表示される
>>93 古い環境を捨て切れないせいでデタラメな言語になったんだな
しかも今の言い分だと二度と改善されないようだ
定期的に糞仕様を切り捨てる他のスクリプトが圧倒的に優れてるわけだわ
案外デタラメがうまくはまっちゃうこともあるんよ
>>91 Win32APIは末尾にEXをつけて対応してるね
ExExとか
ただブラウザの仕組みもだいぶ成熟してきてるから、 ここらでチェックを厳格にするのもありかもな strictが出てきてるように 次のバージョンっていつになるだろう DartやCoffeeあたり使うのもありだね
>>97 Win32 APIはC言語からでも使える仕様だからな。
どうしても互換性が取れないときはそうしてるけど
ほとんどは、関数の第一引数にバージョン番号を入れる。
・・・というのはちょっと違っていて、
バージョン番号というのは分かりやすく言っただけで
本当はsizeof(引数の構造体)を入れるんだが。
仕様拡張=引数の構造体が変わる
ぶっちゃけJSの糞仕様はメリットよりデメリットの方が大きい
そうでもないかな。
そう思いたければそうなんだろう
js厨詳しいなあ Win32 APIも知ってるのか
お前ん中ではなってやつか。くだらないレスだった。
>>98 よく考えられずに作られたJS自体はもう手遅れだけどこれを反面教師として
もっとマシな言語が出てくるだろうね
そりゃ新しい言語は出続けるだろうけど (C++しかり、C#しかり、Goしかり) 普及はしないだろうな。
それは歴史を知らない発言だな いろんな分野において、プログラミング言語、ライブラリ、 フレームワークなどは常に入れ替わってきた たとえば、かつてPerlのCGIが一斉を風靡した時代もあったし、 WindowsのGUIアプリを作るのにVBが一斉を風靡した時代もあった 教育用言語として、Pascalが一番使われていた時代もあった いずれはJavaScriptは他の言語と入れ替わるよ
CoffeeとかTypeとかHaxeとかいまいち普及しないんだが
>>107 「その分野の言語」という位置が確立してしまったものは
なかなか変わらないよ
COBOL、金融関係
C言語、Linuxカーネル、ドライバ、
VB、GUIアプリ
PHP、ウェブアプリ
Java、大規模ウェブアプリ
ブラウザ、JavaScript
言語が変わるときは、分野そのものが消える時ぐらい。
>>109 GUIアプリはもう変わってるんじゃない?
C#かC++でしょ
PHPのところも、node.jsに変わりそう
COBOLはトランスレータが量産されてJSと状況が似てるね COBOLが消えたらJSも消えるかも
標準化されて、なおかつ実装が複数あるものは なかなか消えないよね。 一つがやめても他が続けるし。 JavaScriptは最も消えにくい言語じゃないのかな。 他の言語はバイナリさえ作れれば、 いつだって他の言語に置き換えられるけど JavaScriptはソース=実行ファイルだから 使われてる限り、サポートし続けなきゃいけない言語になってる。 サポートされてるなら、使うでしょう?
表舞台から消える。という意味で使われなくなる可能性 JSはアセンブラみたいなもんで、ほとんどの人間はそれを直接記述する必要はない 覚える必要もない。それが理想の世界
>>111 COBOLとJSのトランスレーターは真逆じゃん。
COBOLの場合は別の言語へのトランスレータ
JavaScriptは別の言語からJavaScriptのトランスレータ
>>109 JavaAppletばかにしてんのかコノヤロウ!
普通に中間言語としてのJavascriptも消えるでしょ Dartとか直接実行できるし
>>113 直接記述する必要がない。では無理だろう。
直接記述する必要がなくても、直接記述することが簡単であれば直接記述する
もし直接記述することが困難。であれば
アセンブラのように殆ど使われなくなるかもしれないが。
JavaScriptは直接記述することは簡単なんだよ。
>>116 直接実行できるってのは必要条件であって
十分条件ではないよ
VBScirptだって直接実行できた。
>>117 たとえばJSとPythonを比べてJSを使う理由はないんだよ
>>119 それが本当だとしても、
JSを使わない理由になってないので意味は無い。
言語を置き換えるのに必要なのは、必要なのはPythonを使う理由ではなくて
JSを使わない理由。JS単体を見て使わない理由がない限り使い続ける。
だってJS以外と比較しないからね。
JSを使わない理由は意味不明な糞仕様、設計ミスがてんこ盛りで気持ち悪い挙動が多くストレスフルだから
あーそれはお前が使わない理由でしかないわ
C単体を見て使わない理由は自前のポインタ操作、メモリ管理が煩わしいから JSも言語側が何も面倒を見てくれないので自分への負担が大きい
>>119 開発メンバー間でスペースとタブの統一しないとまともに動かない脆弱言語のpythonがどうしたって?
>>123 どの程度負担が大きい?
具体的な文字数で語ってくれ。行数ではなく。
>>121 お前一度やって挫折したんだろ
ちゃんと理解できれば表現力の幅にはまるよ
俺は2スペ派 4スペはちょっと多すぎる
>>125 だから統一しないとコードが破綻する糞言語ってこった
インデントだけで破綻とか終わってる
書きかけのソースを全選択してShift+Tabされる嫌がらせされろ
>>126 関数の使い方を間違えたり、文字列と何かを加算しようとした時に止まってくれるようにする負担
でも実際に他の言語でこういうエラーはプログラマが気づかなかった時に起こるものだから
JSでそれを止めるすべはない。ミスは許されないという負担
>>128 pythonは4スペ。それだけ
>>131 え?pythonって4スペしか許されてないのか?
>>133 標準コーディング規約で強く推奨されてる > 4スペ
でも、別に4スペじゃなくても動くよ
揃ってないと読むのがウザいだけだが、他の言語でもインデントがずれたらウザイだろ
pythonは4スペが流儀で、python向けのエディタとかはデフォでそうなってるはず 別に嫌なら従わなくてもいいけど、従わない理由がよくわからない
それはうっとうしいなあ 4スペは空白が多すぎてみにくい Pythonって嫌な文化だね
そうだね アホには厳しい文化だしね
ホワイトスペースが嫌なら初めから誰もpythonを使わないよ 改行や4スペがある方が文字を詰め込むより読みやすいという哲学で作られてるんだから
>>132 そうだな、まったく破綻しないな
if x:
a = a + 1
a = a + 1
破綻しないよ
インデント幅は空白2文字だな。 言語的な制約が無い限りハードタブも使わない。 インデントにハードタブとか空白4文字以上とか、横にだらだら長くなるから好きじゃない。
おお、破綻した!w
破綻しないが?
またJS厨の妄想か。本当に毎日毎日息をするようにウソをつくな JSがどうしようもない糞言語だと確定したからpythonに言いがかりを吹っ掛けるいつものパターン
>>143 PGがひとつずつコードを確認しないで自動で復旧出来るならやってみろ
>>145 良く分からんが、アホに変な改変されたって話なら
VCSで復旧できるだろ
>>145 他人の嫌がらせが発生するのがどういう環境か分かってないでしょw
>>146 最近のVCSはインデントが完全に削除されたソースコードを(1)(2)どちらが正しいかロジックの意味を解析して復旧するんだな
もうプログラマいらないな
(1)
if x:
a = a + 1
a = a + 1
(2)
if x:
a = a + 1
a = a + 1
JSへのdisもいいかげん同じネタを引っ張り過ぎで食傷気味だが、 Pythonへのdisはレベル低過ぎるわ 嫌がらせでコード壊してやるー、どうだ直せないだろー、ってマジで書いてるのか?
>>146 もちろんバージョン管理されてるソースじゃないからな
その上で復旧する手段があると
>>148 アホのコミットを全削除するだけだろ
お前VCS使った事無いんかよ
>>151 アホはお前だ
どこの世界にバックアップされたソースを改変して喜ぶ悪人がいるんだよ
バックアップのないファイルじゃなければダメージないんだから当然だろ
どういう状況?JSってプログラミングしたことないの?
バックアップの無いファイルなら rm したらダメージ最大だよ
>>154 確かに!でもJSなら復旧できるんだろうなw
これはJS厨ついに伝説を作ったな
>>155 何の言いがかりか知らないがjsならインデント消されても復旧できるが
どういう時にインデントが消えるのか 全くわからない。 (1) if x: a = a + 1 a = a + 1 (2) if x: a = a + 1 a = a + 1
>>157 バックアップのない嫌がらせに対応する術はJSにもない
なんでそんな簡単なことが理解できないんだ
本当に馬鹿なのか?
>>158 2ちゃんの宿題スレにソースコピペしたら消えたな
>>159 えー、おまえバックアップなくて
消えたインデント復旧できるって言ったじゃん。
あ
163 :
デフォルトの名無しさん :2013/05/06(月) 21:54:11.32
>>159 "インデントを削除"した場合という話の大本無視とか本物の馬鹿だろ
しゅ、しゅごいバトルでしゅ・・・
インデント消したのも ファイル削除したのも 一緒に決まってるだろ これだから馬鹿JS厨は
後出し情けない。 まあいいよ。インデントってことにしてあげる。 それでどうやってインデントもとに戻すって? 元に戻すっていうのは、完璧一字一句正しく戻さないとダメだからな。
今度は一字一句正しく戻すってことに持ってきたいんだ
JS厨だがさすがにインデントのいちゃもんはよく分からんよ coffeeでpythonパクってサーセンでしたと謝っとけな
>>167 他の言語ならインデントに依存しないから一字一句元に戻す必要もない
それに比べてpythonは一字一句元に戻さないと動作が変わってしまうリスクがある
一字一句戻さないとだめだと思うことこそpython脳
>>163 バックアップがない環境で誰かがいたずらでインデントを削除できるなら
普通にファイル削除できるってわかるよね?
いたずらで困るのは同じだよね?
インデントに対するいたずらだけは対応できますって?どんな悪戯だよ
おれがいたずらするならファイルを削除するわw
JSもPythonもインデントが消えた時 完璧に元に戻らない。 よって両方共一緒。FA
JS厨が馬鹿すぎるのは、バックアップがないファイルがいじられたらJSでもただじゃすまないってことを無視して なぜかPythonはやばいって結論を求めているところ
あー、バックアップのない環境でなぜか他人がやってきて ほかのことは何もしないけど、インデントだけ全削除する奴があらわれたらやべーわ 他のことはなにもしないけど
えとさ、コードを移動したりしないの? 普通移動後、インデントずれるでしょ?
>>177 え?そりゃ移動先の正しい深さにするだけでは?え?
わからない、移動したらインデントが消失する環境もあるのかも…
4スペインデントをタブに全ファイル一括置換しようとして失敗したとかか
バックアップとれよ
今度からgithubにあげとく
あとで削除するデバッグprintのようなものまで インデントしないといけないから面倒くさい。 目立たさせるためにわざとインデントしたくないのに。
空行に#でも入れとけば?
それは超わかる あー、わかる それ前から思ってた
インデント全削除いたずらに対応できない時点でPythonは糞
>>178-179 JSとかCなら、移動先の正しい深さに直すのがほぼ自動というか、
コピーしただけで正しい深さにしてくれるエディタもあるけど、
Pythonとかはその辺どうなの?自動では処理できない場合があると思うけど
185は183へのレスね
原理的にはできそうだが、そんなエディタがあるんだろうか
>>187 深く考えなくても貼り付け先のインデントレベルのインデント文字を頭につけるだけでね
Pythonでインデント削除よりも、JSで sed 's/var[ ]*//g' でvarを全削除してやった方がコード復旧は大変だと思う
>>190 ifブロックの直後にコピペするときにブロック内に含めべきか外にするかが怪しいな
コードブロックを挿入した後に 挿入したブロックのインデントを上下できるので、好きに調整すれば良い
vimの機能
特定のエディタの機能か
JS厨は何を持ってクロージャさえあれば大丈夫と言ってたのかわからないし JSの機能についてもまるで把握してないようだけど フローの途中でその都度、値を返すジェネレータを ある特定の関数の返り値を返すクロージャで実現しようとすると 処理によってはめちゃくちゃ煩雑になるはず 特にJSは非同期処理(JS厨が神のように崇めてたもの)で可読性を落としたり 無駄なスレッドを食いつぶさないように同期処理を書くためにジェネレータを使うらしいけど これってJS厨がいままで散々言ってたことと全く違うわけだがどうなってんだ?
38 名前:デフォルトの名無しさん [sage]: 2013/05/03(金) 15:09:58.06
>>34 その効率の良さも無視できるレベルって話
ジェネレータも呼び出しを遅延させてるだけで
実際はそんな便利な場面は少ない
90 名前:デフォルトの名無しさん [sage]: 2013/05/06(月) 21:40:43.92
そもそもgeneratorが無くて困る場合なんて無いから
どうしても困るなら、クロージャでgenarator風に書けばいいだけ
なんで戦ってんの
JS厨はJSの未来について壮大な妄想を毎日語ることはできたが、現在のJSについては全く知らなかっただけだろ。許してやれよ
最新数レスしか読んでないけどPython厨は常に優位に立ちたがりだという印象をうけました
>>199 みたいなJS厨のレスはJSの優位性を保つために言ってるように見えるけど?
まあ、例によって完全に間違い、いつもの妄言だったわけだが
TypeScriptにジェネリックが付いたな コードの見た目だけで言えばC系シンタックスの中じゃ一番綺麗な言語だと思う
>>198 そのめちゃくちゃ煩雑になる例とやらをちょっと書いて見てくれ
ジェネレータ、イテレータはES6の範囲でしょ? もう一部環境では採用されてるし何言ってんだか
詳しい方が起きてきたか
>>206 それを言ったら上の方で争ってたデフォルト引数も使えるわけで
ブラウザアプリがメイン戦場のJSにおきましては 一部環境で使える = 実際は使えない
jsのコールバック地獄とか見たことないんだろうな 何年後かわからんがes6のyield使えるようになればだいぶ楽になるはず
CoffeeScriptからJavaScriptに変換するように、 ES6から今のJavaScriptに変換すればいいだけですよ。 そう、一部環境で使える=もう使える。
皮肉なもんですな。 他の言語に乗り換えるための技術が JavaScriptを発展させるための技術になるなんて。
>>209 仕様こそがすべてだろ
もうすぐ勧告される仕様にあることを嘆いてもしかたがないと思うが
>>210 あのコールバックとインデントの芸術館が楽しいのに何いってんだか
とは言えまともに設計してれば5,6を超えることはねーよ
>>213 ある程度の規模なら余裕で超えますよ
特にサーバサイドやったら、極論DBにアクセスするたびにコールバックで待たないといけないし
そもそもそのコールバックの芸術とやらを解消するために、いろんな人がasync.jsやらJquery.Defferdやらライブラリ書いて頑張ってますけど
215 :
デフォルトの名無しさん :2013/05/07(火) 10:06:40.73
JSってビジーウェイトすらできないんでしょ? while (true) { sleep(1); } みたいな感じなの ビジーウェイトできないんだったら、非同期ですげー難しい処理組むことになるな
イベントドリブンプログラミングを知らない20年前からタイムスリップしてきた人ですか?
いまだにイベントドリブンモデルなんて使ってるんですか? 仮にイベントドリブンするとしても、ソケット通信でチャットみたいなの作るとき 新しくメッセージが流れたらメッセージ受信というイベント作るじゃないですか でもその新しくメッセージが流れたら・・・というのを監視するのはどうやるんですかね? 普通はビジーウェイト使うじゃないですか
その汚いビジーウェイトを書かなくて済む
&IOの簡単な非同期化ができるのが魅力だろ
>>214 意味不
非同期か同期か選べる関数がほとんどだろ
どうしても同期がいいんならワーカーつくれや
それに設計さえまともならある程度は外に関数出せばいいだろ
それをわかりやすくしたのがasync.jsやらであって
なくても十分好きに書けるんだけど?
好きに書けることがJSの最大級の長所なのに何いってんだか
そりゃ好きに書けるのがC++やLispの魅力かもね ただ仕様も習慣もあまり洗練されてないだけって感じ
というより、あえて洗練しないのが流儀、JSの哲学なのかもしれない
APIが洗練されてないのは困るが構文はできることが多いほうがいいと思うが
コールバック云々言ってる奴は 関数が第一級オブジェクトというJSの最大の強味を知らないだけだろ
アホJS厨は妄想を垂れ流すばかりでJSならではの強みを全く具体的に説明してくれなかったからなあ
ビジーウェイトとか話してるの何十年ぶりに聞いたわ
>>223 関数を外に出せとこれ以上なく具体的に言ってるだろ
結局ワーカーってブラウザ様頼りなんですよねえ ブラウザ用の言語だからね仕方ないね
>>218 C#とか非同期化の方法は腐るほどあるけど、ビジーウェイト使わないといけない部分もあるぞ
非同期I/Oに限定することで関数が途中でsleepした状態で他の関数が 実行されることを想定する必要が無くなるのが、nodeとかのJSの利点かね?
コールバックの弱点は例外処理が面倒なところ まあ、処理を遅延する仕組みは大体同じような弱点を持つけど
例外予知ユニットの開発が急がれる
文字列とundefinedを連結しても、引数の数を間違えても 例外も上がらずにそのまま計算が進むのは、例外処理が面倒だからなの?
などととわめく輩を尻目に、世間はJavaScriptで盛り上がるのでした
そもそもJS厨にとってのプログラミングってのは 計算が間違ってても、ブラウザにそれっぽい画面が表示されればOKって世界
>>234 ×JavaScript
○ブラウザスクリプト
改称して区別するべき
JSにわざわざ厨を付けるあたりにJSへの羨望のまなざしを感じる
現実にJS厨が馬鹿を晒し続けてるから馬鹿にされてるだけだと思う
JSの結構素晴らしいコード var a = function() { var inner = function() { }; inner(); return {inner:inner}; }; a().inner(); 関数のネストも外部からの呼び出しも自由自在 クラスとか全くないのに、まるでクラス
SuGeeeeeeeee
クラスがあれば済む話
今までクラスとメソッドを使いわけてきた言語がバカに見えるな それ、賢くやれば同じ概念で統一できますから
他の言語にもクロージャはあるが、 クロージャの変数ってクラスのメンバ変数とは違うんじゃね? あと、存在しないメンバにアクセスしても例によってエラーが起こらない意味不明挙動はなんなの? 馬鹿すぎるでしょ
クロージャに捕捉される変数とクラスのメンバ変数はどのへんが違うのかね? あと、存在しないメンバに対するアクセスでエラーが起こるようにしたいなら Object.seal()と"use strict"を使えばいいよ
typescriptやcoffeescriptのクラスをコンパイルすると クロージャになるよ 存在しないメソッドにアクセスしてundefined になるのは、ブラウザがそのメソッドをサポートしているか どうかテストするのに頻繁に使われてる
>>231 ,232
非同期例外処理はdomainのようなアプローチで可能
domainはES5.1サポートブラウザなら実装できる
>>244 視野狭すぎじゃね?クロージャしか頭にないの?一度で良いからまともなクラスというものを勉強してくれ
あとデフォでゴミカス仕様である正当な理由あんの?
テストするのはエラーをキャッチすれは良いだけだろw
>>244 に視野狭すぎじゃねとかレスつく意味がわからない
アンチJSは視野が狭い以前に日本語が理解できないか目が見えないんじゃない?
>>249 ごめんJS知らないせいで意味がわからない
正しくはどうやるの?
x = 0
class C:
def __init__(self):
self.x = 1
print C().x # 1
print x # 0
var x = 0
var C = function(){
.. this.x = 1
.. return this
.. }
C().x => 1
x => 1
>>250 なにこのキモいコード?
まともな言語使ってくれないかな
Object.sealも使って
>>250 のPythonのコードと同じようなCを定義するなら
クロージャを使うまでもなくこんな感じ?
C = function(){
return Object.seal({x:1});
};
まずクラスのメンバ変数とクロージャのローカル変数が違うってこと
>>253 その場合のJSのクロージャってどう書くの?
class C:
def __init__(self):
self.x = 1
def f(self):
self.x += 1
c = C()
print c.x # 1
c.f()
print c.x # 2
var C = function() { return Object.seal({ x:1, f:function(){this.x += 1;} }); }; クロージャ使うならこんな感じか xを直接参照するためのgetterが必要だな var C = function() { var x=1; return Object.seal({ get x() {return x;}, f:function(){x += 1;} }); };
>>255 var x = C()
console.log(x.x) // 1
x.f()
console.log(x.x) // 2
var f = x.f
f()
console.log(x.x) // 2 え、2?
>>256 その挙動はクロジャー使わないほうだね
JSの標準はそのクロージャ使わないほうの挙動なので、そのためにbindというのが用意されてる
var f = x.fをvar f = x.f.bind(x)にすればいい
クロージャ使ったほうはvar f = x.fのままでいいね
つまり・・・クロージャ最高って言いたいわけなの?
ほほう 面白いな なんで2なの と思ったら、クロージャじゃない方を見てなかったw あれ、クロージャとクラスが違うという話じゃなかったのか つうか、クロージャじゃないもの持ち出すなよw
というか、よく見たらthisの挙動のせいか これは確かに大失敗なんだよな selfにthisを入れるとかそういうバッドノウハウがある
あれはめんどくさいね bindも古いブラウザ使えないし
bindは無ければ作っちゃえばいいんだよ そんな難しいコードじゃないし
JSのES5の新しい構文の多く、多分9割はES3で実装可能 実装コードもMDN等に乗ってる さらにES5やES6のObject拡張によって 将来の下位互換性は非常に高い
ウンコな言語仕様は後方互換性で残るから プログラマはウンコ仕様を避けるための バッドノウハウを覚える必要がある。 でも、ES6は色んな言語から良い機能を取り込んでるのは事実。 実装されれば大抵の言語は楽にJSに変換可能になるから JSの中間言語化が加速する。
クロージャでクラスって
>>242 の言うような素晴らしいものか?
素直にクラスを定義した方がわかりやすいし何のデメリットもないと思うのだが
別にそもそもそんなに違う概念じゃない クラスでクロージャっぽいことするのもその逆も出来る つまり好きなようにやってくれって話 最近の言語は両方持ってるし
ふつう使い分けるが? helpの挙動が違うし、継承だってクラスを継承するわけだか クラスと関数を一緒くたにされても困る 再帰と繰り返し文は使い分けるだろ。縛りプレイじゃないんだから
使い分けるなって書いたか? 自分でここはクラスがいいとかクロージャがいいって思ったら好きなように使ってくれって言いたいだけなんだが JS厨みたいにクロージャ大好きなら全部クロージャで頑張ればいいんじゃないの
使い分ける選択肢があればね…
JSは選択肢がありすぎなことが問題なんだが…
好きに書けばいいじゃない
不要な選択肢はたくさんあるのに有益な選択肢は選べないってどういうことなんですかねえ
好きに書けるのがJSの利点だけど、 好きに書けるせいでクラスライブラリ的なものが作りにくいんだよね
作りにくいっていうか、オレオレクラスとかオレオレ名前空間の実装が多い気がする その辺が大規模開発向けじゃないよな
return this とかヤバ過ぎる対処療法が当たり前のように溢れてるからな… つーかクラスという機能は個別に合ったほうが便利というそれだけの話 それがないので普通の人は大変な思いをする羽目になってる 設計も全然安全じゃないからいつ意味不明な挙動を見せてもおかしくない
>>274 return thisって何に対する対処のことを言ってるの?
さあ?実際そういうコードを少なからず見たから 他の言語では絶対にやらない、というか出来ない馬鹿なコードだよな なんで自由に書けるって危険という意味では合ってるけど それに対するメリットが全然ない。危険を犯さずにもできるんだから
さあ?って… こいつはほんとに何も知らないんじゃないか? return this ってだけならC#やJavaでもよく使われるんだが 自分が理解してないことをネタにするなよ…
それはC#やJavaのthisと同じなのか?そんな糞仕様は聞いたことないけど?
C#やJavaでも
>>250 みたいな挙動すんのか?
C#やJAVAを挙げている時点でスレt
>>278 同じなのか?って言われても、
おまえが言ってるreturn thisがどういう目的で使われるものなのか説明してくれないと判断できない
>>250 ってJSの方のコード?これJSとして意味不明ですから
C#やJavaではチェーンするメソッドを書くときにreturn thisにするなあ
そもそもチェーンメソッドをC#やJavaでやるって時点でJSに影響されたライブラリ作ろうとしてるやつらだからなあ
>>280 replitからコピペしてただけ。=>は出力ってこと
意味不明なのはお前がものすごーーーーく馬鹿だから
理解できてないのはお前だけ
>>282 いい加減そういう妄想語るのやめたほうが良いよ
JS厨には馬鹿しかいないって言ってるようなものだから
というか他の言語知らなくてもJSのthisがウンコなのはわかると思うが
たぶん
>>274 は、本来newを使って呼び出すコンストラクターの戻り値のことを言ってるのだろうな
return thisは別に対症療法ではなくて、new演算子を使って呼び出すコンストラクターのデフォルトの挙動
省略しちゃってもいい
return this を省略しても問題は何も解決しない件について
まあフォローするなら、jsのreturn thisというかコンストラクタ回りがちょっと危ないのは分かるけどね function Person(name) { this.name = name; return this; // 省略可能 } var p = new Person("myname"); 普通にクラスっぽいのjsでやるならこうだけど、 var p = Person("myname"); ってやってもエラーにならなくて、グローバルスコープ汚染しちゃったりする
>>291 うへえ、じゃあ必ずnewを付けなきゃヤバいってことだな…
アンチJS厨が馬鹿すぎて何の問題について議論してるのがよくわからない この流れだとnewを使わないクロージャを利用したコンストラクターが大勝利なのだが
確認してないないけど new をつけた場合がデフォの挙動で何の問題が?
JSのデフォって誰得な意味不明仕様ばかりだね
「strict 付ければ問題ない」とか100回くらい聞いた気がするけど
それなら最初からそれが仕様で何の問題もないだろと
どうしても危険を犯したければ、それを明示しろよと
>>293 普通のクラスよりマシな点って何?縛りプレイしてるせいで可読性悪すぎ
>>294 new をつけた場合がデフォの挙動?
意味がわからん
もうちょっとわかりやすくレスできないのかね?
>>295 newを付けなかったらインスタンス化でグローバルスコープを汚染するとか馬鹿過ぎる挙動は何の役に立つんですか?
じゃあ最初からnewをつけた場合の挙動だけ用意すれば、newは付けずに済むよね
varと同じで無意味で無駄な宣言だよね
>>296 少しわかりやすくなったな
最初からそういうレスで頼む
newをつけない場合にグローバルスコープを汚染するような動作をするのは、
コンストラクタという特別なものを言語仕様に組み込むのを嫌ったからだね
利点は言語仕様をコンパクトにできることかな
newの後に記述するものはコンストラクタとは呼ばれているが実際は通常の関数で、
したがってnewをつけなければ通常の関数として動作する
"use strict"がデフォルトにならないのは過去との互換のためだよ
だからさ、JSってJSを使う人間のことは一個も考えられてないんだよね C以前の時代ならまだしも、今の時代になってそんなことやってるから 他のまともな言語を使った人間からみたら糞言語に見えても仕方ない そりゃあJSの実装はさぞかし楽だったろうさ。そのツケをユーザーが払うんだからな!
>だからさ、JSってJSを使う人間のことは一個も考えられてないんだよね "use strict"が用意された時点で、これは事実誤認のデタラメ
関数を定義するときは"use strict"を毎回宣言しましょうってか?噴飯物だわ それこそ仕様が最初から間違ってて、そのツケをユーザーが払っている事実に違いない これから先も意味不明なルールがどんどん増えるかもしれないな
JSのゆるふわの型も、グローバルスコープを汚染する挙動がデフォルトなのも ユーザの事を良く考えた結果だよ ただ、想定ユーザがプログラマじゃないってだけで
>>300 >関数を定義するときは"use strict"を毎回宣言しましょうってか?
愚かな勘違い
"use strict"は関数定義毎に指定する必要は無い
>>302 あそう。シバンよろしく一番最初に書くのかい?
とんだ「おまじない」もあったもんだ
>意味不明なルール インデントがブロックと強結合してるとことかな
>>303 >シバンよろしく一番最初に書くのかい?
恥の上塗り
#!より遥かに自由度のある書き方ができる
>>291 だが一応書いておくと、そこそこちゃんとしたクラスをやるためには
var Person = (function() {
function Person(name) {
this.initialize.apply(this, arguments);
}
Person.prototype.initialize = function(name) {
this.name = name;
}
return Person;
})();
こんな感じかなぁ、これだとnew忘れてグローバル汚染とかは流石にしない
ただこうやってオレオレクラスとか出てきちゃうとこがjsのアレなとこだとは思う
そういう意味でCoffeeScriptとかが流行るのはわかる
継承とかさせようとするとさらにオレオレになるしね
>>304 心配しなくてもお前以外はちゃんと理解で来てるから
>>307 アホかハゲ知能低すぎなんだよお前
インデントでブロックを表すこと自体がナンセンスだっつってんだよ
end end end end
>>308 そうだね。バックアップのないファイルにインデント削除いたずらされたらヤバいもんね(笑)
JS厨の馬鹿な書き込みをリピートしただけでしょ まったくJS厨は馬鹿だよな
でもまあ、JS厨がJSの柔軟さとクロージャの強力さを 誇るのも分かる気がするよ prototype.js や jQuery のような静的言語では実現不可能な ライブラリがJSに現れたのは、柔軟さを許容する文化と 関数型言語由来のクロージャを使いこなすハッカーのおかげだから
スクリプト言語に誇っても意味ない。ただのショボい言語でしかない
>>313 クロージャが関数言語由来っていうのはちょっと違うと思うわ
関数ポインタ由来と見るならcとかになるが、 真のクロージャを最初に備えた言語由来と見るなら 関数型のlisp由来
やっぱさ、「動的言語って凄すぎる!」って認めざるを得ないライブラリが それまで玩具と思われてたJSから出て来てしまったのが、嫉妬を招いていると思うよ
「真のクロージャ」とか言ってるの馬鹿だけだと思う 間違いなく「真のクラス」を備えてない言語の信者だと思う
クロージャが最初に実装されたのはALGOLだし、Lispは関数型言語ではないぞ このスレで議論になってるクラスもどきをクロージャで実装するやりかたとかは Lisp由来なんだけど、関数型言語からしたらこのクロージャの使い方はありえない
>>321 Meteorは動的言語で大規模開発も可能だと完全に証明してしまったね
Railsと比べてどんな感じなの?
JSで動的言語が凄すぎるっていうなら、JSより はるかに優れた動的言語であるPythonやRubyはどうなっちゃうの……
柔軟さより厳格さを選んだ負け組に
rubyじゃ、クロージャでクラスみたいにやるやつ全然できないらしいな pythonは似たようなことできるけど
まあ、Rubyはクロージャでクラスつくる意味とかまったく無いからなあ 標準のクラスやMix-in使うつもりが無いならRubyを使うべきじゃないと思う
"use strct"は基本的に開発時のためのもので より厳しくして不用意なバグを減らすためのもので 開発が終わったらあっても無くても同じ どちらかと言うとコンパイルオプションとかIDEの設定みたいなもので あるから言語の設計がどうとか、悪いとこってことはないと思うんだが
重箱の隅を探すのに苦労してるんだよ
いやコンパイラオプションとかIDEに怒られるような欠陥を言語に組み込むメリットって何? IDEの設定とかで分からなければいけないのなら明らかに言語が悪いよなあ さらにはプログラマが見落とすかも知れないからIDEがサポートするわけで プログラミング上、無視出来ない問題がそこにあるわけだよ 必死に擁護しようとしてる奴の思考回路が全く理解できない
gccにいくつコンパイルオプションがあると思ってんだカス javaのアノテーションなめんなゴミ
Cはgccで-Wを必ず付けろとかlintは必ず通せとか書いてる本あるよ まあ、引数の数を間違えたら普通のコンパイルすら通らないけど
gccが-W無しで動作するのとかlintが標準のコンパイルフェーズに含まれないのは欠陥なのか
LLしかやったことないと
>>330 みたいになるのかな
JSしかやったことないとJSの仕様は問題ないとか言えちゃうのかな?
欠陥ではないでしょ varがいらないことは、まあそりゃあ考え方は人それぞれに決まってるけど、 一般的に流石に欠陥とまで言うのは、言葉が過ぎると思う まともなtypeof演算子を用意しろとかいうのなら分かる そこは今でも、多分将来も改善されるまで永遠と議論が続くとこだから欠陥と言えると思う
>>332 gcc(4.4.5)は以下のコードが普通にコンパイルとおって実行できます
main() {
foo(1);
foo(1,2,3);
}
foo(int a, int b) {
printf ("%d %d\n", a,b);
}
use strictは必要な人に必要な機能を提供するいい方法だと思うけどな typeofは解決したいのに解決しにくいのが問題か typeof2とか作ればいいのに まあ最近はブラウザからコードの統計が収集できるから 案外typeof2の識別子を使っても差し障りないと判断されれば採用されるかも
>>338 必要な人しかいないだろ。糞仕様なんだから。
↑何にでも噛み付きたいお年頃
>>339 標準の呼び出し規約でエラーが出ないうちのOSのgccは欠陥品なんですね!
そもそもuse strictはそんなにstrictじゃない 本当はuse normalだけど、そうするとJSがアブノーマル言語ってことになるからstrictにしてるだけ ただの変態言語としか言い様がない
>>342 実際その糞コードでエラーにならない環境は欠陥だろ
有名なCやgccなら欠陥じゃないとか考えてる?
変態じゃない言語なんてつまらんと思うが ただJSがいろんなスクリプト言語を超える用途に使われるようになってきて 求められるようになったことは多いな でもだからと言って欠陥とは思わんがな 自分自身use strictでミスが防げた経験は1度もない ただ速度向上とコードに美しさを期待して使ってる
>>346 お前の脳みそが欠陥品であることを伝えておくよ
>>345 そうだよ。静的言語やPythonみたいな美しい言語と比べると
JSの仕様は臭うだけでメリットがない
ちなみにブラウザ言語の用途は超えてない
変態だから良い!ってことなら最初からそう言えばいいけど
まあ、いずれにしてもゴミだね
>>ブラウザ言語の用途は超えてない お、おれサクラエディタのマクロでも使いまくってるで・・・jscriptだけど
>>347 びっくりしました!
>>332 とお知り合いなのですね!脳内彼女とかそういう類でしょうか!!
何言ってんだこいつ
354 :
デフォルトの名無しさん :2013/05/09(木) 09:36:14.20
JSのuse strictって、Perlのuse strictみたいなものかと思ったら全然違うのな。 こんなものなら別になくていいと思った。
TIOBE更新
356 :
デフォルトの名無しさん :2013/05/09(木) 10:02:56.35
>>319 俺もそう思う。
まともなOOP機構がないからトリッキーな方法でそれを実現してるに過ぎない。
しかも、各自バラバラに実装して標準と呼べるものがない。
>>354 constの扱いとか最適化にダイレクトに影響するから無くていいことはない
perl等とは違ってJSは速度に煩い場面でも要求される言語だからね
まあまだ完全にはstrictmode向けに最適化は行われていないみたいだが
伸びしろがあるという意味で楽しみ
テスt
クロージャはクラスと比べると、もっと汎用的 言い換えれば、もっと万能 クラスという概念を分けた言語では、用語が増えたり 意味がぐちゃぐちゃになったり、機能が足りなかったりする たとえば幾つかの有名な言語には、インスタンスに メソッドを追加する方法がないし、メソッドをフックするのにアスペクト 指向を持ち出したり、staticの意味が複数あってよくわからなかったり、 スコープ指定の種類が複雑だったり とにかく後から後から穴をふさぐように場当たり的に使用を決めて行き、 結果、雑然としたり機能が足りなかったりということが起こる
>>357 "use strict"指定によるconstの挙動の変化って、無視が例外上がるようになるだけだよね?
これ最適化に影響する?
おれが書き込みはじめるタイミングでなんで奴も同じように書き込みはじめるんだ・・・
>>359 似てるけど微妙に(特にスコープに対する)振舞いが異なる複数の記述があって
非常に煩雑なのがJS
>>359 動的型付け言語でインスタンスにメソッド追加できない有名言語って何?
結局クロージャでクラスの真似事するなら最初からクラスベースのほうが分かりやすいや クラスベースとは一線を画すパラダイムを一貫して実現するなら良いけど 後から後から穴をふさぐように場当たり的にクラスベースオブジェクト思考を実現されてもね
つかクラスの存在する言語だとクロージャって外のクラスに内のクラスからアクセスする仕様にしか過ぎんが
jsが独走してる今となっちゃjsのアンチ発言は失笑ものなんだけどな
正論にぐうの音も出なくなったら結局それ。毎回それ 糞仕様であることを何も否定できてない
ねぇねぇ、そのクソ仕様に見下される気持ちのってどんな気持ち?
js : 女子小学生
>>365 内のクラスから外のクラスにアクセスするってどういうことを言ってるの?
>>360 harmony版constはletと同じブロックスコープ
その絡みで必要
>>372 なら君も現実見ろよ
君が言ってるのはjsではなくてwebブラウザのことだ
いつもよりJS厨さんおとなしくなったなと思ったら自治スレがなんかハッスルしていた
>>373 JavaやRubyやPythonに少しだけ追いついたね
node.js使いにくすぎ もっと具体的な利用パターンを想定した簡単なAPIがあっていい
なんでuse strictの話がES6の話に… とりあえず現状のuse strictで最適化に響くのはwith禁止が大きいですね あれ使うとstrictでないjsでも遅くなるので それなりにスピードが出る書き方に補正はしてくれますけど、そもそも実行速度を上げるためにuse strictするんじゃないんで…
node.jsは内部でスリープするAPIを提供しない縛りがあるからな
pythonの方がよっぽど古いが
VBScriptは1998年ぐらいから更新されてないだろ Pythonは1998年以降にバージョンを2つもあげている
>>385 JS開発用のツール類にも利用されてるだろ
jsのクロージャは一見便利そうだけど、 ライフサイクルの違うハンドラ登録などに 使った場合に後始末(循環参照の参照解除や ハンドラ登録からの解除)の実装方法が煩雑 になり易い
意味が分かりませんので、 コードを書いてください
コード
ガベコレがない別の言語の話でもしてるんだろ
javascript メモリリークでググれ サーバーサイドで出力して終わりの人には関係ないが 画面遷移させないwebアプリをまともに作る場合 考慮する必要がある
だから、ソース書いてから語れよ クロージャだとこうなってリークするけど、 クラスならこう書くからリークしないって ソースを二つ示して書かないと理解してもらえないよ まあ無理だろうけどw
>>392 クロージャだとリークするとは言っていない
リークしないように実装する方法が煩雑に
なり易いと書いてるんだが
分かった分かった じゃあ、クロージャだとこうなって煩雑になるけど クラスならこう書くから煩雑にならないって 書いてみそ?
クラスはクラスのオブジェクトって分かった方がいいと思うんだけど、クラスをクラスとして書くデメリットって何? クロージャで書けたら嬉しいか?それができる他の言語で誰もやってない気がするけど
多重継承で仕様がごちゃごちゃになるから、多重継承禁止したりするなんてのは まさに、クラスの弊害 あとから、mixinとか追加して自慢してるけど、 こういうのは場当たり的な対処で余計な仕様が増えてる悪い例
汎用的って良い意味じゃないだろ 意味がグチャグチャになってるのはどっちだよw クラスの意味がグチャグチャになってるか?クラスはクラスだろ クロージャは?なんでも。普通にクラスとしてできることを関数で無理やりやってるだけじゃん というかなんで不細工な方法でクラスベースプログラミングやってるんですか?(笑) プロトタイプベースとはなんだったのか
>>397 えぇ?クロージャでは多重継承をスマートに書けるんですかあ?
>>399 もの凄くスマートにかけるよ
var d = a.extend(b).extend(c);
とか
どちらの変数・メソッドがどう上書きされるのかも普通に分かりやすい
>>400 いや全くわからない。それ多重継承じゃないだろ
>>398 え?mixinなんて概念を新たに追加してる時点でごちゃごちゃだと思わないんだ?w
これは継承できるが、これは継承できませんとか
普通にややこしい規則を追加してるじゃんw
クロージャでクラスの方がよっぽど新たな概念を追加しまくってるだろ
>>401 これ、多重継承なんだなあ
そうか、普通の言語だったら継承できる親が限られてるから
こう書いても多重継承に見えないのか
>>403 意味が分からない
クロージャという一つの仕様しかないわけだが
>>404 継承できる親が限られてるって何の話だ?
>>405 クラスにもクラスという一つの仕様しかないんだなあ
誰も仕様の話はしてねーよ。機能の限定による可読性の話
>>406 例えばね、同等のコードを書こうとして、C extends B と書くばあい、Bは
Aを継承していないと同等のコードにならないよね?
しかし、a.extend(b).extend(c)の場合、aをcが直接継承しているから
そういう制限はないわけね
つまり、多重継承なわけ
>>407 え?mixinっていう新たな仕様があるじゃんw
>>409 新たなってなんだ?最初からゴチャゴチャならいいのか?
分かりやすいほうがいいに決まってるが
>>400 いや、分からない。動くコードを貼ってくれ。
結局ルールをこねくり回してつじつま合わせるのに必死じゃんw それがクラスの難点 制限加えてみたり、あとから、やっぱり制限を解除する特例を設けたりw これはstaticだーfinalだーvirtualだーprotectedだー デフォルトではこういう挙動だー この場合のstaticとはこういう意味だー、 いやいやアノテーションだーアスペクト指向だー なんかもう、必死でしょ?w
チョンバカw
>>412 あのさあ、replitでextendがないって言われるのはなんなの?
JS厨が言ってること全然再現できないのだが
>>415 ちょっと意味が分からない
replitってなんだ?
再現できないコードをjqueryの公式ページが載せるかね?
>>413 それってJSプログラマにミスが許されないだけじゃん
>>416 extendはJSの標準機能じゃないのか?
後付けはしない、全てクロージャ。そうじゃなかったか?
ぶっちゃけ、JSほど環境依存の後付け満載デタラメ理解不能言語はないよ このコードはfirefoxでしか動かないとか、意味不明な説明をされる JSとはなんなのか。グチャグチャすぎて分からない
>>418 そりゃまあ後付けはあるよ
ルールが少なく済んでるってだけ
>>420 いや多重継承すら後付けしといてそれはねえだろ…
お前が言ってること根底からひっくり返ってるぞ
まあクラスを作った言語の中でもpythonなんかは頑張ってるけどね 最小のルールでやろうとしている この辺はJavascriptと精神は同じ
>>421 いや、多重継承は後付けじゃないだろ
extendという便利メソッドが後付けなだけで
>>422 いやJSも必死にクラスを作ってるじゃんw
しかもクラスだけどクラスじゃない糞仕様
なんで不細工な方法でクラスを作ろうとすんの?
>>424 いや、別に作ってないけど?
確かに新しいバージョンなんかは入れようとしたりしてるけど
それは俺的には退化だし、そんなもんいれなくても
同等の事実現してるしw
>>408 それで多重継承言ってるものが両方instanceof でis-a関係になるの?
>>426 意味的にはそうなるはずだよ
javascriptにそういう型の概念はないから
単なるダックタイピングなので、メソッドを持ってれば
そうなる
まあ、instanceofという演算子はFunctionオブジェクトにしか使えないが
python3は新しいMROで自然な順序で継承されるからなあ まあ多重継承は使わないが というかFunctionオブジェクトだけにしか〜とか言うなら Classオブジェクトあった方が絶対いいだろw
まあFunctionオブジェクト=Classオブジェクト=クロージャなんだけどさw
だからゴチャゴチャなんだね
いや逆 だから奇麗で柔軟性抜群なんだよ
Pythonの思想の基本的にはそういう思想なんだよ 基本的に最小の仕様にとどめようという思想 それが奇麗で柔軟だからだよね これを否定するってことは、Pythonを否定するという事 ま、クラスを作ってる時点で失敗しちゃったけどw
JSの主張ってCでなんでもできると言ってるのと同じで 現代の洗練された言語から見たら無理してるようにしか見えないんだよね
逆逆 無理してクラスなんて概念作ってる言語より JSの方が洗練されてる
pythonは綺麗だかJSは滅茶苦茶じゃねーか PEP8みたいな流儀もなくみんな思い思いのデタラメコードを量産 なんで勝てないと悟って仲間にしようとしてんだ?全く違うから そもそも自由度とか柔軟性とかで可読性を損なうのは論外で そんな馬鹿な真似しなくても言語に提供されてる統一的な機能で、 コードと機能が一対一で対応することが理想だ なんでもポインタで実現とか、なんでもマクロで実現みたいな 時代錯誤な化石言語は今日び流行らない
とりあえずinstanceofはFunctionオブジェクト以外にも使えますよ 実際組み込みのArrayとかにも使っていいですし ただ対象オブジェクトのprototypeにコンストラクタ関数が必要ですけど 単にそれがあるかを見に行ってるので まぁプロトタイプ繋ぎ変えたりすると結果が変わるので、よく考えて使ったほうがいいですね 変な人はおいといて、クラスは実際欲しい人多いでしょうね だからCoffeeやらTypeScriptやらが出てくるんでしょうが
JSで阿呆みたいにクラスベースプログラミングやってる時点でそれは自明だし 関数で代用とか馬鹿なことするメリットなし あと、馬鹿な方のJS厨がJSの機能を把握せずにデタラメ並べてるのも何とかしてほしい
>>437 彼はほっとくしかないです
たぶんいつもの方なので
自分はJS好きですが、この言語は変わる必要あるとは思います
少なくとも大規模開発をサポートする言語機能はもっと必要
js以外でクロスブラウザでクラスベースで書けるなら良いんだけど
結局そんな言語現状ないですしね あとV8速すぎ そのGoogleもDart作ったりしてますが Dartは期待してますが、Google様でも普及させるのは大変そうですね
他人の行動を変えさせることはできないから自分で対応するしかない。 NGワードを工夫するとか、削除ガイドラインにあたるレスは削除依頼 するとか。
十中八九JSよりはDartの方がマシな言語だけどな
>>436 ええと、ArrayというのはFunctionオブジェクトでもあるんだよね
Array instanceof Function
=> true
ここにもJSのミニマリズムの息吹が感じられるな
>>437 今はクラスベースのプログラミングなんてほとんど誰もしてないけどな
便利メソッドであるjqueryやBacboneなどのextendは普通にみんな使ってるけど
結局、クラスベースなんかなくても良いんだよ
DartやTypeScriptで導入されるのは結構だが
別になくてもいい
>>442 そうなってくれないとおかしいよな
当たり前なんだよ
なんせJavascriptの欠点を直すために生まれてきた言語なんだから
ただ、実際はいろんな意見の人がいて、劣化Javascriptだなんて
結構批判されてるみたいではあるがw
天才たちが、15年後に欠点を直すために一生懸命考えても、まだ劣化していると言われることもある
まあいかにJavascriptが優れてるかの証左でもあるねw
JSが優れてるとか言ってる奴はどこにもいないが
だってJSがウンコなのは何でもクロージャでやるからじゃなく ゆるゆるの型とかスコープがウンコとか、そういうところだから
たぶんデタラメスコープをトリッキーに使ってドヤ顔してる馬鹿が Dartは劣化JSとか馬鹿なこと言ってるんだろうなあw
まあDart批判(JSが優れてると言っている)もあるんだよ
Why Google Dart Will Miss Its Target
http://www.sitepoint.com/google-dart-fail/ 日本語
http://d.hatena.ne.jp/technohippy/20111018 >だがそれは少し待って欲しい。JavaScriptは柔軟な言語だし、いろいろなやり方でコードを書ける。
>プロトタイプによる継承のコンセプトを一度理解すれば、JavaScriptが素晴らしいものだと思えるはずだ。
>もちろんそれは完璧ではないかもしれないが、すぐにクラスベースの言語がダサく感じるようになるだろう。
>一晩でそうなると期待してはいけない。開発者たちがJavaScriptの美しさを再発見するまで10年以上かかった。
>今は幸いなことに素晴らしいリソースがウェブ上にたくさんあり、JavaScriptは一級の言語だとみなされている。
そりゃキチガイはどこにでもいるだろ。このスレにもいるからな たぶんJSのことすら全く理解せずにそういうことを言ってると断言できる
だってJSがウンコなのは柔軟な言語でいろいろなやり方でコードを書けるからではなく ゆるゆるの型とかスコープがウンコとか、そういうところだから
軟便な言語なのは糞である最大の理由だよ
とりあえずクロージャを弄り回せばできるだろ。クロージャ最強だからな。クロージャマンセー→クソコードの墓場の完成 いまどきクロージャなんて珍しくもなんともなく、ただ使い分けてるだけなんだよ 馬鹿JS厨と違ってな
DartはJSを中間コードとしてしか見てないのがクソ emscriptenのように既存の言語が動くというならそれもわかるが、今更わざわざJava風の独自言語とか意味がわからない JSの問題をある程度受け入れてもJSのLintに徹して綺麗なJSを吐くというTypeScriptの考え方の方がよほど健全
JS関係者が保身に走ってるだけじゃねーか。泣いて馬謖を斬れよ
ただ保身に走るようなバカならビッグネームにはなれない それに、こういう人たちは説得力が求められるから うかつに馬鹿な事は言えないよ
JS最高と嘯いてたから後に引けないだけ ここのキチガイJS厨と全く同じ行動原理 そもそもクソJSなんかにご執心な時点でセンスゼロ もはや白を黒と言う宗教と同じだよ
まあ実際には Microsoft's JavaScript teamはTypeScriptを作ったし Appleの人は別にどっちの立場でも良い人だし、 最後の人なんかは「俺が新しく言語を作るならこうはしない」と言ってるだけで、 JS最高なんて論調ではないんだけどな
Dartは確かにJavaに似ている Googleの連中のJava好きは病気のレベルだから
まーたJS厨のデタラメ印象操作か 嘘しか言わないから、嘘だということだけは確認せずとも分かるが 実際どうなのかいちいち調べないといけないから面倒すぎる
googleってプログラミング言語設計のセンスはさっぱりだよな
>>449 いや、少なくとも
>>448 の人や454の人たちは
普通にJSを使いこなしている開発者なんだが・・・
>>461 全然有名ではないが、Noopという言語が凄いと思った
あのセンスは素晴らしいわ
もうそのままJava使っとけと言いたくなるくらい NoopもJavaに似ている
DartはJSより速い。なぜならJSはデタラメ仕様のせいで最適化が制限されるからw
結局Chromeでしかまともに使えないなら Javaアプレットみたいなプラグイン式と一緒w
>>464 完全にDependency injectionにシフトした仕様とか
Javaとは結構違うけどな
ブラウザ言語の汎用性のなさは異常
JSは言語仕様で決められたルールが少ない割に、似たような意味のコードを色んなやり方で書ける つまり個々のルールの直交性が低く、洗練されていない しかも、似ているけどスコープの挙動が微妙に違ったりする
>>469 その辺はデファクトが整備されれば問題ないレベル
制限して無理矢理直行性を出すよりよっぽどマシ
この辺が開発者がJSの美しさを発見するのに時間がかかった理由だな
>>468 その状況がかわりつつあるけどな
なんでもブラウザになってきてるから
IEがある程度のシェアを握ってるうちは無理だからなあ。割とお先真っ暗
>>470 まずその仮定に無理があることと
制限に何も無理や問題は生じない、というか洗練された選択肢というのはメリットしかない
誰も余計な選択肢なんて望んでない
JSみたいな○○で何でもできるとか言ってたゴミ言語は全部廃れた
JSを見てると、ブルースクリーンになる操作を(殆ど無意識に)絶妙に避けて Windows Meを使ってた知り合いを思い出す あいつWindows Meを素晴らしいOSで安定してるって言ってたな...
JS厨さん自治スレに飽きて帰ってきちゃったかー
>>472 IE10はかなりいろいろ出来るけどな
>>473 むしろ、廃れてないけどな
Pythonとか、最小の仕様で何でもやってしまおうという
まさにその思想だし
CもLispも使われ続けてるし
似たような意味のコードを色んなやり方で書ける というのは、Pythonの目指すところとは180度異なる
>>476 Pythonの最小というのはfor文やif文でリスト内包表記や参考演算子を使えるみたいなことで
JSと違ってめちゃくちゃ多機能、高機能だよ。それを直感的に使えるってだけ
限られたルールをこねくり回して各自好き勝手にやる言語とは対極にあると言っていい
あと何時の時代から来たのか知らんがCやLispの汎用言語としての役目はとっくの昔に終わってるよ
>>477 確かにそこはその通りだね
Pythonと似た思想も持っているし、結果的に違う部分もある
JSは柔軟すぎるが故に結果的にそうなってしまったというだけ
ただ、「〇〇でなんでもできる」という点に関してはPythonも似ている
>>478 「全部廃れた」→「汎用言語としての役目は終わった」
随分後退したねえw
>>478 例えば?
ソースコード書いてみてよ
ちょっと簡潔にかける程度の便利機能でしかなさそうだけどw
Pythonは、この処理にはこの機能、ってはっきの決まっててそれがユーザーにもしっかり認知されてる印象 C#あたりもそうだな
>>479 まず欠陥を柔軟すぎるとかポジティブシンキングでごまかすのやめような
なんでそんな欠陥だらけになってしまったのか考えるだけで
Pythonとはどんだけ違うか理解できるだろう
>>480 毎回そのパターンだなあ。馬鹿と話すと本当に疲れる
廃れるに他の意味があるのか?
お前に読解力というものが一ミリも存在しないから解説してやったら
「随分後退したねえw」毎回それ。馬鹿か
>>483 え?お前の言う廃れるってその程度の意味だったの?w
そりゃ、古い言語はそうなるわな
しょうがないわ
どれだけ天下を取った言語でもなw
汎用的かどうかは議論があるけど、Cなんてまだかなり広範囲に使われてるけどな
アンチJS厨の大好きなTIBOEで一位だっけw
>>481 じゃあ多重継承の動くコードを貼ってくれよ。放置されたのだが
>>482 PythonとC#は作者のバランス感覚がすごい
>>485 とっくの昔に貼られてるじゃん
jqueryのサイトが
>>484 ああ、JSがクソ言語すぎるのは古いからなのかあ
まあ互換性とかで抜本的な更新を全くできてないもんな
糞の上塗りみたいなことしかできない古い言語だから糞言語なのは仕方ないよなあ
JSは廃れるどころか美しさが再発見されてまた流行り出してるからなw 普通は古い言語は廃れるはずなのにJSだけは例外だわ これは凄すぎる
>>489 何が不満なの?
ただコピペするだけとか無駄な事はしない
70億人いて、一人が美しさが再発見とか素っ頓狂なこと言っただけで大喜び 馬鹿すぎて泣けてくる
>>491 いや分からないから聞いてるんだろ
replitで動く形で貼ってくれ
簡単なんだろ
>>491 サブクラスのメソッドの中でスーパークラスのメソッドを呼んだコードを頼む
継承だって言ってるんだから出来るよね?
継承がライブラリなの?よく分からん
PythonやC#って目的が先行してるんだよな とりあえず柔軟にしとけば用途はあとから付いてくるみたいなJSやRubyとはかなり違う
用途に対して機能を提供すれば混乱は生じない
>>497 Ruby一緒にしないでください
言語機能自体はPythonなんかと比較してもキモいくらい豊富なのがRubyだと思います
結局シンプルさを取り違えてるんだよね今JS推してる方は
JSのシンプルさがいい場面もあるのに、わざわざ勝負にならないとこで勝負してる
>>494 ん?ああ、多分jQueryを使ってるところが不満なのか
replitの意味が分からないが、多分一般的にreplと言われてるやつか
node.jsかなにかを使ってるのかな
なんか、分かりにくい奴だなw
しょうがないからエスパー能力使ってやったよw
確かにextendのような便利メソッドを提供するライブラリがないと
自分で同等の基本機能を書く必要があって厳しい(といっても
簡潔な実装なら数行程度で出来るようだが)
ただ、普通にライブラリがあるから問題はないけどw
>>501 何から逃げてるの?
まあライブラリを使わないコードからは逃げてるかもしれんが、
別にライブラリを使うから逃げても構わんしw
>>502 そうだよね、JQueryで普通にextend書いただけじゃ不可能だよね
そもそもsuperなんて、単にobject2にsuper:object1とか書けば良いだけだし、 別に大して困らんけどもw
すぐ幼児退行する癖をなんとかしてほしい
js厨さんの面白いとこは、ここまでライブラリ依存とかで責められてんのにObject.create()が出てこないとこな気がする あとES5対応してない時用のnewとプロトタイプ使った継承も知らねえんだろうなぁ まぁこうやってオレオレになっちゃうので、せめてES5以上は使いたいね
結論:JSの糞仕様にメリットなし。
言葉尻を捉えて必死だな デファクトが決まれば問題ないものばかりだな 結局、時代が解決するのだよ デメリットは時間がかかることw
それっていつよ。また不確定な未来にすがって、今が糞であることを認めない
今も一応のデファクトはある jQueryっていうな まあこれは変わるかもしれん JavaScript自体が進化するし、世界が激変してる最中だからな
>>510 今見てきたがそれObject.createっていうその方のオレオレ実装やで…
その方はJS界では有名人だし、ES5の元になったパターンではあるが、ライブラリうんぬんやオレオレクラス実装って言われてる時にそれ挙げてどうしたいんや…
最初からライブラリもオレオレもなしで今は継承出来るって書いてくれJSの誤解招くし
>>515 ああそういう意味ね
まあ普通に元になったパターンだから挙げただけ
思慮が足りなかったわ
「ES5なら標準で出来る!」って言って欲しかったのねw
アホな方のJS厨が復活してるw お前がいるとスレが活気づくから頑張れww
>>518 いや、だって、ES5のObject.createってまんまそのオレオレ実装をパクったやつだよ
その人超有名人だしw
515は分かってるだろうけどw
まあ喧嘩すんなよ。 ES6が来れば、簡単にPythonをJSにコンバートできるようになるから。 ブラウザ側もサーバ側もPythonで書ければ文句ないだろ? JS界隈の進化スピードなら直ぐだよ。
俺一人で開発していれば問題ないが、 企業とかではなんだかんだでJS使いそう
現在のJS環境は混乱を極めてるってことだけは分かる みんなバラバラの言語を指してJSと言ってる最悪の状況
アンチJSの「superが呼べないだろ」との攻撃に、
>>507 が見事に反撃して論破
新しい標準もあるし、デファクトのライブラリもある
やろうと思えばクラスのエミュレートも簡単に実装できることも判明
まさに「クラスベースの言語がダサく感じる」状態
このスレでもJSが勝利したか
クラスのエミュレートとかやってる時点でダサいってことには一生気づかないのだろうな
クラスのエミュレートは「やろうと思えば出来る」というだけで いまだデファクトではないようだw
馬鹿の方のJS厨だと会話すら成立しないからやばい
エミュレートするオレオレ実装が出まくった挙げ句 将来的には標準化されるってことは、クラスは必要ってことか
必要ないから未だに標準化されていない 標準化されたのはObject.create
JSは糞すぎて、ここのアホJS厨とは違って まともなJS関係者はJSが糞仕様なせいでバグを量産してしまうことを分かってて 今更、本当に今更、プログラミングスタイル作ろうぜって言ってる 周回遅れもいい所だし、ここのアホJS厨みたいに好き勝手かけるから良いとか 言ってる馬鹿のせいでそういうスタイルは普及しないだろう 全てはそもそもが糞仕様のせいだ
そのわりには世間はJSで盛り上がりまくってるね どうしてだろうね
>>528 いまだクラスが標準化されてないのはJSが遅れたウンコ言語だからだよ
ES6にはクラス入る予定だし
そもそもが糞だったのに他のスクリプト言語みたいに互換性を捨てることもしないからずっと糞のまま
捨てなくても進化できるからね
クラス:分かりやすい 内包表記:分かりやすい 関数でクラスを実装:馬鹿
JS厨はまずは完璧なジェネレータを数行で実現してから言えよ できるできると数レス前から妄想ばかりでできた試しがない
js> load('fraction-0.2.js'); // creates the global Fraction object js> (new Fraction(7,3)).multiply(new Fraction(1,2)) 1 1/6 js> (new Fraction(7,3)).divide(new Fraction(1,2)) 4 2/3 js> (new Fraction(3,10)).add(new Fraction(5,9)) 77/90 js> (new Fraction(0.25)).add(new Fraction(1,6)) 5/12 js> (new Fraction(0.35)).subtract(new Fraction(1,4)) 1/10 ・いちいち new ・演算子のオーバーロードができず、いちいちメソッド呼び出し ・外部ライブラリ (´・ω・`) >>> from fractions import Fraction >>> Fraction(7,3) * Fraction(1,2) Fraction(7, 6)
>>535 ジェネレータのyieldは継続が無いと無理だろ
数レス前の妄想ってどれ?
何レス前からだろうな
脳汁垂らしながらテキトー並べてJSは神言語とかボケたこと言うJS厨が現れたのは
>>536 演算子のオーバーロードがないと他の数値型との計算や比較演算も自然にできない
スカラーだけじゃなくベクトル・行列演算でもそう
この点は単にCの関数を呼び出すだけじゃなく
インターフェースとしてPythonの方が優れてるから有益
レスとスレの区別がつかないアホがいるのか
え、数千レス前から妄想を垂れ流してるってこと?
今更何言ってんの?
newあってもなくてもインスタンスを返すようにしてみた。 var Foo = function(name) { if (this === Function('return this')()) { var f = Function('return function() {}')(); f.prototype = Foo.prototype; var foo = new f(); Foo.apply(foo, arguments); return foo; } this.name = name; } Foo.prototype.describe = function() { console.log('name: ' + this.name); } Foo('Foo').describe(); (new Foo('new Foo')).describe();
これでnewとれる var fraction = function(a, b) {return new Fraction(a, b);};
その調子で演算子オーバーロードも頼むわ
演算子のオーバーロードは必要ない むしろ、デメリットの方が大きい
比較的最近の言語であるC#やScalaやHaskellにも演算子オーバーロードはあるけど
演算子オーバーロードは低能に使わせると 濫用して馬鹿なことをやらかしかねない(文字列と数を足したり)というデメリットがあるが、 JSは演算子オーバーロードが無いのに、標準の演算子の定義がウンコという まさに誰も得しない状態
== じゃなくて === を使おう!(笑) newもそうだが、とにかくバグに繋がる無駄が多い
標準の演算子がゆるゆる型の意味不明な挙動のくせに オーバーロードは危険とか滑稽すぎる
暗黙の型変換な
柔軟な言語なのに暗黙の型変換を再定義できないんですかあ?
そういうライブラリもあったけど廃れたな まあ、その代わり言語自体を再定義するのが流行ってるみたいだがw
ブラウザのscriptタグ内で色んな言語が使えるのまでJSの手柄にし出したぞw
>>552 それってbeyond.jsとかいうやつ?
こんな感じで演算子オーバーロード(と呼ぶのもおこがましいが...)を書くやつだよね
"+".using(new Fraction(3,10), new Fraction(5,9))
ちょっとワロタ そのシニカルなギャクセンスは見習いたい
JSがゴミすぎて擁護レスも止まったな
結局へんなの一人だからなぁ JSスレ乱立とかしてんのもそうだろうし
"hate javascript" 約 9,130 件 (0.20 秒)
"prefer javascript" About 23,400 results (0.23 seconds)
"prefer javascript" 約 5,600 件 (0.10 秒)
"love javascript" 約 40,700 件 (0.24 秒)
"love python" 約 48,400 件 (0.23 秒)
その手の人気が知りたいならTIOBEで良いやん
いやpythonは検索にヒットしやすいとかイチャモン付けてたでしょ なのに大蛇やモンティパイソンを嫌いな人が束になってかかっても JSが嫌いな人の数にかなわないのはなぜなんですかねえ
嫌でも使わなきゃいけない言語が嫌われるのは当然だろ JavaにしろVBにしろJSにしろ
CとかVimとかな
印象操作に必死すぎて泣けてくる
JS至上主義者はなんであっちのJSが禁止されてるスレにあえて書き込む? 答え:ただのキチガイ荒らしだから。
JS厨が立てたこのスレをJS厨が使わない理由はなんだろう
結局ブラウザの話しかできないからJSスレでやれよみたいな流れになるんだけど JSスレは過疎ってる。Lispスレより過疎ってる。なぜだろう?
572 :
デフォルトの名無しさん :2013/06/03(月) 19:29:17.28
だからちゃんとJSの話をすればいいんだよ 俺はJSの (|) が特に好きだ (・)(・) も好きだ (・)(・) . (|)
\\||||// | | |(・)(・) | ⊂| |⊃ | . | | | | (|) | `------’
>>530 オライリーの書籍販売戦略の一貫だろ
本来ならaptanaが出た時に流行るべきなのに、
わざわざPerl、Ruby、scalaだと宣伝してからJavascriptだぜ?気付けよヌケサク共
オライリーはついにそこまで世界を牛耳ったのか
576 :
デフォルトの名無しさん :2013/06/18(火) 19:21:52.46
perl → 終了 PHP → ゴミ Python → まずこの単語が初見で読めない以上100年経っても日本じゃ流行らないのが分かる js → ステマだけが先行してだれも使ってない Ruby → 神
577 :
デフォルトの名無しさん :2013/06/18(火) 20:02:26.00
Rubyはなるちょは神だが他はゴミだな
578 :
デフォルトの名無しさん :2013/06/18(火) 21:47:53.83
.
◆じゃあのさん来た!◆
15:名無しさん@13周年[]
2013/06/18(火) 20:44:34.07 ID:xHiEGVRK0
おうwww俺だwww
なんか色々起きてるみてえだなあwww
最近しばき隊大活躍だもんなあwww在特の奴らも巻き込まれてかわいそうになあ
これな、俺から言わせれば警視庁本部警備課と新宿署の不手際だわwww
完全に本部カラ派遣された本部警備課員と新宿署がドジ踏んだ案件だわ
--- 以下スレ情報 ---
【東京】嫌韓デモで衝突 在特会会長やしばき隊のメンバーなど8人を逮捕★12
http://uni.2ch.net/test/read.cgi/newsplus/1371555637/
php初めて1ヶ月 phpやるんなら、Rubyから初めてみては? と言われたが、そんなにRuby>phpなんでしょうか?
phpって言語としての面白味が全くない
582 :
デフォルトの名無しさん :2013/06/19(水) 00:34:48.33
>>576 RENAULTはともかく、PEUGEOTはそこそこ流行ってるぞ?
外車スレになりました
JS バブルの弾けっぷりがヤクい 国外(HN や Reddit あたり)だともう1年くらい前から JS は糞だの JS がガンだのが挨拶代わりになっていて否定するやつが誰もいないし 国内も最近はそんな感じ 勉強会とか顔出しても少し前までは まだ「別に JavaScript をdisるつもりはありませんが」などと保険かけてたが、遠慮がなくなってきてるw もしブラウザに言語の選択の自由があったら JS はあっという間に消滅するか 原型を留めないくらい改造されているだろう。 後者については ECMAScript 4 のときにその機会はあったはずなんだけどな。
585 :
デフォルトの名無しさん :2013/07/06(土) 00:07:56.49
ES4には演算子オーバーロードがあったのに台無しにした奴ら絶対にゆるさん 文系プログラマは一生数学や物理とは無縁なコード書いてろ
jsの替りは何になるんだ?
ts
>>584 JSバブルって()
もともとJSは言語が優れてるから流行った訳じゃなくて、ブラウザが対応していたから流行っただけ
で言語に問題があるから、数々の変換言語やライブラリ、フレームワークが作られたわけで、
サーバーサイドやスマフォアプリ作成のシェアは年々加速度的に上がっているし
バブルが弾けた()なんてどこの脳内世界だよ
>>585 演算子のオーバーロードは極力使わない方がいいんだぜ?
c++では常識。
理由は、高コストなのに低コストの処理に見えてしまうから。とかいろいろある
動的言語だと演算子の対称性をクラスを作る側で保証できないからなあ
スクリプトだから重い割にそこそこ何でもできちゃうもんだから いろんなことやろうとしてクソ重いウェブ作るアホ企業多数。
>>586 DartがChromeに搭載されると予想
X: DartがChromeに搭載されると予想 O: DartがChromeに搭載されるといいなあ....
予想・・と書いてからググったけど
もう既にchromeに搭載してるブランチが出てるのなw
>>595 m9(^Д^)
hissi になって調べたんだね お疲れ様です
元々Chromeに組み込むための言語として作られたものだからGoogleがChromeに入れようとするのは当たり前だけど、 中間言語としてはasm.jsに負け、ベターJSとしてはCoffeeやTypeに敗れ、もうGoogleも諦めてるでしょ そもそもLLじゃないよねアレ 今更何が嬉しくてJavaもどきの新言語使わなきゃいけないのか
Coffee、TypeScriptとか結局JSの文法に縛られるわけで 中途半端すぎる
Luaは無理なの?
Dartみたいにバカでかい暗号吐き出すのに比べれば coffeeやtsのやり方は現実的な落としどころ
JSは言語が優れてるから流行ったんだよw クロージャがあったからね
>>584 ちなみにIEでは言語選択の自由があったよ
VBScriptがあった
結果は消滅したのはVBScriptの方だったw
JSはもはや医療や車業界でも採用が進んでるからね。技術力の高い違いがわかる業界が採用しておまえら見たいなJSのthisすら理解できない連中が流行ったら困るからクソ糞言ってるだけの印象だなϵ( 'Θ' )϶
猛烈に滑っててワロタ
ϵ( 'Θ' )϶
607 :
デフォルトの名無しさん :2013/07/15(月) 19:06:05.06
JSって女子小学生の略ですか?そうですか?
女子スクリプト
say("こら男子ちゃんと歌いなさいよ");
動的言語で書かれた車載装置やレントゲン機器なんて使いたい?本当に? Adaからjsへのトランスレーターでも出来たの?
それを言うならJavaで書かれてる方が使いたく無いわ ドカタが書いた可能性が高すぎるから
くだらね
ぬるぽ
JSとJavaは甲乙つけがたいレベルでうんこ
JavaScript教えて欲しいって言うから 基本的な変数やらループから教えてるのに これでなにが出来るの?とか聞いてくるんだが いや、お前こそJavaScriptでなにがしたかったのかと問いただしいていいよね?
最初は皆そんなもん 分かり易くDOM操作してグラフィカルにみせれば すごーいってなるよ
Webアプリのフロントサイド任せられてJavaScriptを初めてガリガリ書いてるつーか 既にライブラリ含まないで5000行ぐらいある.jsを触ってんだけど jsが読みにくいのは文化なの? 他.jsファイルに定義されているメソッドを平気で他の.jsファイルからそのまま呼んでいるから、 とにかく「あれ、これどこの?」と混乱して仕方ない。 var a = new OtherFile(); a.method(); と書けばいいのに、脈略なく method(); とか出てくるもんなあ。 まあ上の方法だとインスタンス作るからパフォーマンス面の問題もあるかもしれんが。
>>618 そのコードは多分10年前位のスタイルで書かれてるんじゃないかな。
本気でJavaScriptをやりたいなら、モダンなやり方が載ってる本買って読むのがいいと思う。
>>618 たいていのスクリプト言語に言えるけど、グローバル名前空間を汚染するのは初心者がやりがち。
どんなスクリプト言語でも大抵そんな感じの下手なコードを書こうと思えば書けちゃう。
まあ、そういうことだね。
各ファイルがグローバルを汚染しまくってるってことだよね それはオススメできない Javascriptパターンとか読んでみるのがいいだろう
>>618 どんな言語も読みにくいのは
書いた人の問題。
もしお前が「俺はバリバリに読みやすいコードかけるぜ」と
自信を持っているのなら、お前がjsを書けばいい。
jsを使っただけで、お前は読みにくいコードを書いてしまう
程度の人間なのか、判断できるぞ。
>>622 >>618 を読むと、他人が書いた5000行くらいのJSコードのメンテを
>>618 が引き継ぎ、
そのコードについて疑問を発しているように見えるが....
で、それに対する答えは、
>>620 ,621あたりが妥当だろうな
釣られんなよw
釣られんなよ(単芝)
釣られんなよ(東芝)
釣られんなよ(虫歯)
(function{}())() これ美しいと思ったのは何年前か
((fn arg statement) arg)だよな
・なぜ匿名関数呼び出しの際function(){}を括弧でくるまなければいけないのか ・なぜreturnがいるのか
Functionはfunctionあるがfuncutionにあらずだから
JSは、本来は今頃互換性維持したまま2.0で快適になっていたのに、 VBScriptやSilverlightを普及させたかったMSが、IE9までHTML5すらろくに対応せず粘ったから ここまで需要があるのに仕様が遅れたんだよなあ MSが戦犯
JSがカオスになったのは先行実装競争の歴史のせいなんだけどな MSはその反省から、完全に固まった規格しか実装しないようになった
>>633 何いってんの? HTML5の仕様が完全に固まるのは
2014年なんだけど?
いたぞーW3C原理主義者だ!
バグが混入する潜在的な危険性を l * 2 ^ n で単純にモデル化すると、 scheme, tcl, xml の方が遥かに優れたツールだ
>>618 関数ごとき、find-grepで、すぐに出てくるだろ
最初から仕様で固めたって、後でおかしな点に気付いてfixしたくなるなら、 仕様なんて作らずにコミュニティ単位でワイワイやった方が最終的には優れたツールができる。 現状、コミュニティ単位で実際にうまく修正されていく言語はPHPしかない。
おかしな言語をおかしな規格のまま何十年と使っていくのが規格で固められた言語 使う道具が何十年と保守するようなら企画で固めた方が良いだろうけど、 2、3年も持てば良いような道具におかしな規格を当てはめて何十年も使い続けるなんて、ドMじゃねーの
プッ
PHPスゲー
だったらPHPの三項演算子の優先順位をまともに(C言語やPerlと同じように)してみせろよw
>>643 $a = expr ? $val1 : $val2;
より複雑なことを三項演算子でしようとする方がアホ。
実際にうまくいく言語はPHPしかない。
それより複雑なことを三項演算子で書けないマがアホ。 PHPでは書けないが、 a = cond1 ? val1 : cond2 ? val2 : cond3 ? val3 : cond4 ? val4 : val5 ; こう書いてあって、その意味が明確じゃない、とか言う奴は目医者に行くか、 PHPが無くなったらマをやめる覚悟で生きるべき。
そもそもOSSだから処理系自体は無くなりません
> 2、3年も持てば良いような道具 とか言ってるわりには強気だなw アップデートされなくなった処理系を、使い続けられると思ってるとかw
みんなWindows XPを使い続けてるのに何いってるの
650 :
57 :2013/08/02(金) 21:09:23.14
w2k使っていますが何か
何で初心者って普通じゃ無い方法で書きたがるんだろう if(cond1) a=val1 else if(cond2) a=val2 else if(cond3) a=val3 else if(cond4) a=val4 else a =val5 こういう誰もが良く知ってるいるおなじみの方法で書かない 合理的な理由なんて無いのにね 他人がネストした三項演算子を理解出来ないようなバカで 自分がそんな高度なことを理解している選ばれた人間だとでも 言いたいんだろうか? JavaのStringの+コンカチネーションは駄目とか、Git使えるかどうかみたいな 糞みたいな知識自慢がこんなに増えたのはWeb屋隆盛のせいなのか? 他人の能力を値踏みする前にご自分の能力を疑った方が良いのでは?って 思うような奴ばっかだな
> 何で初心者って普通じゃ無い方法で書きたがるんだろう 簡単な話。 初心者が普通じゃない書き方をするのではなくて、 お前が、普通じゃない書き方をしている奴を初心者と呼んでいるだけ。
三項演算子がお馴染みの方法じゃないなんて言ってる段階で...
こんなものルールを教えれば小学生にでも理解できるだろ。
誰が見ても
>>651 より
>>646 のほうが分かりやすいし美しい。
まぁ、確かにPHPに関してはネストするような三項演算子は使わん方がいいと思うが。
>>653 言語によっては使わない方が良い場合がある記述方法は、初心者にはお勧めではないよね。
a = if cond1 v1 elsif cond2 v2 elsif cond3 v3 elsif cond4 v4 else v5 end a = if cond if cond1 v11 else v12 end else if cond2 v21 else v22 end end
>>654 JSのfor-inが駄目だったら、rubyやpythonのfor-inも使わないんですか?
>>655 a = if cond1
cond1a ? v11 : v12
elsif cond2
cond2a ? v21 : v22
elsif cond3
cond3a ? v31 : v32
elsif cond4
cond4a ? v41 : v42
else
cond5a ? v51 : v52
end
>>654 アホか。
PHPの仕様がバグってるだけだ。
ごまんと言語があるなかで、唯一のバグってるおかしな言語にそんなもん
強制されたくないわ。この仕様については。
>>654 どういう場合を想定しているのか知らんが、
三項演算子の使用に関しては初心者にも積極的に勧めるよ。
PHP以外なら。
PHPの三項演算子が駄目だから、他の言語の三項演算子も使わない っていうのとなにが違うんですか?記述方法?
馬鹿ほど三項演算子を使いたがる
三項演算子を使うと、テストでカバレッジ取りにくいじゃん
>>661 あなたは薦める。私は薦めない。
ただそれだけのことですね。
小学生でも分かるロジックは小学生でも分かる様に書きましょう 小学生が分かるものを大人が分からない様に書いてはいけません それでは大人が理解するのが難しいロジックを書く事は出来なくなるからです プログラムが難しく見える様に書く努力をするのはやめて、 難しい問題を解決出来るプログラムを書ける様になりましょう
>>665 おまえ、いくら2chだからって、そのレスはないだろう。
俺様が三項演算子を使わないのは行数を稼げないからだ。
>>664 カバレッジに関して、ifとどう違うんだ?
>>660 ・PHPの構文規則
v ? w : x ? y : z は (v ? w : x) ? y : z の意味になる。
・? : がある、PHP以外全ての言語の構文規則
v ? w : x ? y : z は v ? w : (x ? y : z) の意味になる。
これがバグでなくてなんなんだ。
> 他人の能力を値踏みする前にご自分の能力を疑った方が良い
これ
>>651 自身のことだね。
三項演算子を使えることだけが自慢のjavascriptヘボグラマーw
>>646 なら別にいいけど
これ以上複雑な分岐条件を三項演算子で書いてあったら
壁ぶん殴った後にif文に修正するかな
なるほど、PHPとJavaScriptしか知らないWebグラマかw
>>670 > カバレッジに関して、ifとどう違うんだ?
ifならどの条件をカバーしたのかでカバレッジが変わる。
if-elsif-elseなら三つの条件をテストしなければその部分カバレッジ100%にはならない。
三項演算子の場合は、どの条件をテストしてもその部分のカバレッジが100%になるので、
テストが足りているのかどうかすぐにはわからない。
なのでうちでは、a = cond1 ? b : c;も禁止。
単に式の中の副作用を無視して「カバレッジ」と称してる、ってだけか
>>676 ちょっと意味がわかりません。
三項演算子をやめてifで書き直せば、条件網羅が命令網羅に変換できて、よくある普通の
カバレッジツールでカバー率がわかるようになる。
>>675 それは
>>675 が使っているカバレージツールがヘボいだけなんじゃねえの?
文単位にしかカバレージ測定できないツールの機能的欠陥(バグ)だと思う。
>>678 じゃ、三項演算子内部のカバー率がわかるカバレッジツールを、
JavaScript, Ruby, Python, Perl, PHP(スクリプトスレなのでスクリプト言語に限定)で挙げてみてよ。
それを、三項演算子じゃなくif文を書く、という「運用でカバー」するのが、 美しい日本のIT企業の姿なんだろうw
>>679 ツールの欠陥に脚を引っ張られて言語の表現力を活かせないのは本末転倒
言い換えると、形式原理主義のお役所仕事をプログラミングの世界に持ち込むな、ってこと
ルールとして「三項演算子は1行に収まる単純明解な分岐にのみ使用する」を定めればいい
そのルール違反の検出は、必要であれば(ツールではなく)コードレビューの場で指摘する
ただそれだけのことだよ
三項演算子でスレが伸びてるwwwwwwwwwww
また明後日の意見が出てきたなw
カバレッジの登場で三項演算子派が不利な状況に!!
カバディカバディ
カバレッジがどうのこうの言ってる人は && や || も使わないの?
>>686 何言ってるの、カバレッジ測定できない条件分岐なんだから、禁止が当たり前だろ
ツールに使われる典型だな。 行数が伸びて万歳とかいうのが本音?
つまり、カバレッジ絶対主義派は && や || も禁止していると.....
俺Web屋の土方奴隷だけどカバレッジなんて言葉初めて聞いたわww だけど三項演算子は使いまくってるぜ!! ワイルドだr
>>689 同じ条件分岐なのに、? : を禁止する一方で && や || を許可するのはナゼ?
まあ、三項演算子とか使わずに普通に書けってことやね
&&と||が三項演算子と同様ということすら理解できないのがPHPグラマ
悪かった。 カバレッジって言ってみたかっただけなんだ。
カバレッジとかwww
スクリプトでカバレッジw
許さん! カバレッジを上げるために三項演算子を書き換えるなど、断じて許さん!
RoR使ってる奴とかいないのか?
そうはおっしゃられますが 内容はともかく網羅率が上がると 上司とリーダーが喜ぶんですよ ひいては手前どもも終電に間に合うというわけでして そこのところの匙加減はおひとつ
三項演算子の方が簡単に網羅率が上がるよ
カバディカバディ
そうだね。網羅率より網羅量が欲しいんだ。
sprintf('... %s ....', cond ? 'on', 'off') 的なことは良くやるけど。
う、間違えた。 sprintf('... %s ....', cond ? 'on' : 'off')
コーディング規約で三項演算子禁止なんて一般的なことなんですか? 初めて聞いてちょっとびっくり
一般的じゃない(世界的なプロジェクトのルールとかで禁止してることは少ない)けど、 「えらい人が理解できないものは禁止」という原則に従ってるローカルルールではよくある。
なんで言語仕様で許されてるネストした三項演算子とかgoto文、 マクロ関数(これはC言語だが)を禁止にしてる現場が多いかというとだな、 ユーザーエクスペリエンスの反応を0.10002秒から0.10001秒にする為に 最適化して下さるようなスーパーエンジニア様とか、 何時の時代にもいる俺だけは大丈夫、全部分かってるから とかノタマワル三項演算子馬鹿みたいな奴のせいで 顧客環境で何度もドッカーンとやらかしてるからなんだよ 馬鹿って言うのは自分の見える物が全てだと思い込んでるからな
>>705 こういうしょうもない間違いの元なので禁止
>>709 ですよね。
>>710 gotoやマクロは分かりますが、さすがにそんなスーパーエンジニアは。
俺って恵まれた環境にいたんだな。
三項演算子の是非なんかどうでもよくて、その挙動が異なるPHPをdisりたいだけでしょ
>>710 Windows8はそういう0.00001秒単位の高速化を積み重ねたらしい
そしてタイル型もどきUIにユーザがたびたび数秒単位で拘束されるという
windows8すごくいいよ。 スタート画面は好みが分かれるけど間違いなくvistaや7より進化してる。 PHPや三項演算子と同じようにwindows8も誤解されてるだけなんだよ。
>>715 スクリプト言語でも構文解析時に発見されるエラーだよ
gotoも用途を限ればむしろ分かりやすいコードが書けるんだがな (多重ループの脱出とかね) 大昔のスパゲティ書いてたのが未だに尾を引いてる
ラベル付きbreakやcontinue(Javaの場合)、あと最後の手段として例外で、 だいたいのgotoはなんとかなる。 PHPだってbreak 2とかすればネストを2段抜けられるしな。
よろしい。gotoの使用は許可しよう。 しかし三項演算子だけは何があっても許さん。
うわっ馬鹿だ
ifを式として使いたいと思わないって、どんな世界だ? my_if = function (cond,then,els) {if (cond()) { return then() } else if (els){ return els() } else {return false }} my_if(function(){ return 3 < 10}, function(){ return "TRUE"}, function(){ return "FALSE"}) こうすりゃ許されるのか?w
>>723 素晴らしいではないか。
複雑怪奇で醜悪な腐臭漂う三項演算子を使うくらいなら、
関数かメソッドにしてしまえというその発想、君にはPHPerの適性があるな。
javascriptなんざ放って早くこっちに来なさい。
今後もその調子で精進するように。
>>723 まったくだ
祖先がLispである点は一緒なのに、ナゼ JavaScript は if を(式ではなく)文として
定義してしまったのか?(
>>655 ,657)
728 :
723 :2013/08/06(火) 22:11:01.25
>>725 というか三項演算子はこの構文糖でしょ?w
Web系エンジニアって、その昔に居たスクリプトキディとか言われる人たちと同じレベルの技術と精神構造してそう
>>728 三項演算子とは糖衣を纏った毒薬じゃ!!!
>>729 は死後神の裁きにあい、ゲヘナの業火に焼かれる。
構文糖を馬鹿にするヤツは ウンコJava使いの素質がある
733 :
723 :2013/08/06(火) 23:52:38.18
>>732 構文糖は馬鹿にしない。三項演算子を馬鹿にするのだ。
Java使いは魔女裁判にかけられるであろう。
>>733 世界がPHPから孤立している!!
PHPを笑う者はPHPに泣く
キチガイワロタ
稀にpythonが必要なだけでJavaとPHP以外イラナイ bashかcmd.exe, 組み込みのDSLで十分。覚えるだけ時間の無駄。 別の事に力注いだ方がマシ
覚えるだけ時間の無駄→俺の脳みそは小さい 動くコードに手をくわえるな→テストコードなんか書いてない 続く
TDDとgitは必要でも、わざわざ使う必要もなく何処にでもない複雑な道具を使う奴がマヌケ
本物キター
>>738 まともなテストコード書けない奴らが、カバレッジとか言ってんだろうな
テストコードがまともかどうかを見るためにカバレージを計測するんだが...
ハァ?
ハァ? って書けば気がすむんだろうな...
そのとおり。 ハァ?って書いたら、反応してくれたんで気がすんだ。
もっと、遊んでくれよーー
phpかJavascriptか両方つかってWeb上の入力に従って、MP4の動画を作るWeb上で動くプログラムを作りたいんだけど入力した文字を動画に変えるってとこで詰まった 何を使えばいいかな *php 1,[こんにちは] 2,[どうも] 3,[ありがとう] (生成)←ボタンをクリック ↓ *phpなんらかの形で動画にしたい 1秒こんにちは 5秒空ける 1秒どうも 5秒空ける 1ありがとう ↑は動画.mp4とかphp上で再生される物ではなく動画ファイル 形式はMp4でもなんでもYoutubeにうpして再生できる物ならなんでもおk
よく分からないが、if文も三項演算子もやってることは全く変わらないで、 見た目が変わってるだけなのだから、プログラムの質には関係がないはずじゃないか? これでテストがしやすくなるとか、プログラムの質が異なると判定されるとか そういう奇妙なことが起こるのなら、そのカバレッジという判断基準自体が 間違いの可能性がある
code golf
code golfは構造も変えるが、見た目だけを変える箇所もある。結果は変えない。 さて、code golfのコードはテストがしにくくなったり、プログラムの質が異なったりするのだろうか。 したとしたら、それは奇妙なことなのだろうか。
code golfは可読性を悪くするものだからね。 単純にタイプ文字数が少ないほうが勝ちの世界。 例えば一文字変数を多用する。 これだけでも、一般のプログラムに 求められるものとは全く違うことがわかるだろう。
もっとマシな例があるだろ 条件式の中で代入するとかさ スコープが十分に小さい(2~3行)ならプロダクトコードでも一文字変数は存在していい
変数の名前にこだわる奴に限ってクソ長い関数やスコープの無駄に長い変数を作るんだよな
例えば一定時間ごとに一定の機能を行うプログラムがあるとするじゃん(機能終了後はスレッドスリープをするとして) んでそれをレンタルサーバーで動かしてたら サーバーに勝手にKILLされるのかな_?
>>758 レンタルサーバー CGI タイムアウト
でググれ。
cron で動かせばいいんでないの?
タイムアウトするまでに自分自身をリクエストして仕事を継続させる。 大昔にやったら怒られたが。
最近のサーバ屋なら共用サーバじゃなくてVPS用意してるじゃん?
764 :
デフォルトの名無しさん :2013/09/24(火) 01:22:01.47
あれ、つうかこれ未消化スレじゃん
765 :
デフォルトの名無しさん :2013/09/25(水) 00:00:59.06
未消化スレage
766 :
デフォルトの名無しさん :2013/10/04(金) 23:42:56.82
あげパン
767 :
デフォルトの名無しさん :2013/10/05(土) 13:46:27.35
htmlspecialchars()ってAAずれる?
769 :
デフォルトの名無しさん :2013/10/13(日) 12:22:04.68
>>767 なぜPythonに移行しなかったのだろう?
Pythonも同じグループの言語であり その言語にしても大した差はないと判断されたんじゃね?
772 :
デフォルトの名無しさん :2013/10/17(木) 16:18:05.43
唐揚げ
774 :
デフォルトの名無しさん :2013/10/21(月) 04:06:48.69
あげ
775 :
デフォルトの名無しさん :2013/10/22(火) 18:51:04.91
>Unicodeになってしまいます UTF8ですBlobコンストラクタで指定しろ
皆サロゲートペアについてどう対処してるの? やっぱりどの言語でも明示的に処理しなきゃ無理? UTF32がデフォにならないものかねえ
LinuxがUTF32に対応していないので (というか大変すぎて対応できない) UTF32がデフォになることはない。 なぜLinuxが大変すぎて対応できないのかというと LinuxはC言語で作られており、C言語は文字列の終わりは1バイトのNULL文字 UTF32(4バイト)には1文字の中に1バイトのNULL文字が含まれる。 すなわちLinuxの全てを修正する必要がある。
それはサーバーとかのAPIでOSの機能使ってたりする場合であって 言語のレイヤーではLinuxとか全く関係ない
780 :
デフォルトの名無しさん :2013/10/25(金) 02:30:37.59
JavaScriptだとサロゲートペアを考慮した文字列数はこうやって得られる str = "\uD83D\uDE80" str.length //2 [...str].length //1 簡単でいいな
え、ちょっとキモいそれ
>>778 > LinuxはC言語で作られており、C言語は文字列の終わりは1バイトのNULL文字
Cで作られていないOSならいいわけか。
「逆は必ずしも真ではない」と中学校で習うだろ
こんなんアジア圏のために、なんでも4バイトも使うUTF32がデフォになるわけないだろ ていうか、日本人のおれだってサロゲートペアのためにUTF32なんてお断りだわ
>>777 合字、正規化、両方向性テキスト(bidi)あたりに比べたらサロゲートペアなんて
はるかにマシだろ
UTF-32にすれば幸せになると思ってるんなら世界中の文字が16bitに
収まると思っていたUCS-2時代並のお花畑だな
問題が解決するなら1文字が4オクテットになっても5オクテットになっても甘んじて受け入れますってか
エンディアン調べるのめんどくさくね? 正規化を考慮するとシーケンシャルな処理が入るから固定長の恩恵なくね? 記憶領域喰いすぎね? サロゲートペア無視できて遺産コードも使えてCPUとメモリ消費のバランスが取れてるUTF-8で良くね?
>>788 という結論に至るんだよな、常識的には
どのみち固定長の恩恵ないのに無駄が多すぎるUTF-32にして嬉しいことなど
1ミリもないわ
一方、WindowsとMacはUTF-16だった
792 :
デフォルトの名無しさん :2013/10/25(金) 15:36:57.29
一緒にwebアプリを作ってくれる人いないだろうか 教育関連なんだが
>>791 あ?お前どこ中よ?
さてはUTF-9中だろてめぇ
別に内部的にはutf-16でも表面をサロゲートペアとか合成文字とかを 1字として扱うのがメインなようにすればいい つうか既存の言語でもメソッド全部上書きすればええがな
>>792 面白そうならただでいくらでも協力するよ
但しモダンブラウザ限定ね
某ブラック企業っぽいなぁwwww 「教育」は免罪符じゃない ビジネスにはビジネスでだな
就職決まって上の許可を得てからになるから期待は出来ないけども、 もしwp上位目指したCMS/ECのソース公開したら、みんな協力してくれるかな クレジット作成して、これも許可得てからになるが企業名は載せるつもりだけど、無料公開にしたいと思ってるんだよね 「知識なぞいらぬ、より良い物へ!」 ちなみにエンジニア志望のコーダーだ
できてるから言ってるんだよね?
当然、できる予定ですよ 就職も近いうちに決まる予定ですので、安心してください 良い物を作りたいので、皆さんの協力が必要なんです
続けるとなると、後は環境設定とアップロード機能、 後は各種ブラウザ対応化くらいかな コーディングもやり直したいという事も含めると、構想とシステムの大枠しか出来てないと言えるよ 特にUI周りとか相談しながら進められたらって思ってるよ
おっと、肝心な事忘れてた LOCKと特定IP/URL以外での書き込みを禁止する処理で詰まってるんだった 合わせて協力願えたら
なんか言ってる割に詰まってるとこが低レベルなんだけど、大丈夫なのか? というか就職先決まってないのかよ。
どうだろうwwwwwww
流石に反応良くないね、言語はJSメインとPHPだって事書き忘れてた UI周りも外部ファイルで設定出来るようにしてみる、けど、どこまで簡略化したものか いっそPerl化してみた方がいいのかな、色んなところで動くし
808 :
デフォルトの名無しさん :2013/10/27(日) 05:30:27.01
JSだけでやれ
Ajaxかな
810 :
デフォルトの名無しさん :2013/10/27(日) 06:58:00.05
バカスレw 死ねゴミ共がw
わかりやすくて小気味良いなぁ 正当な報酬要求してみては? 今は労働基準法も読み易くなってていいよw
むー、WiXさっき見た。先越されたな これの広告を取り除いた完全フリー版、では最早弱いな EC特化にするって手もあるけど、どうしたものかな 1.お蔵入り 2.スリム化(CMS/EC分離&EC化&Perl化) 3.このまま進める(JS&PHP、現在CMSのみ) 4.その他 1選びたいな
813 :
デフォルトの名無しさん :2013/10/30(水) 07:33:11.75
バカスレw 死ねゴミ共がw
814 :
uy :2013/11/13(水) 17:53:12.00
ゴミwwwwwwwwww コラゴミwwwwwwwwwwwww 死ねコラゴミwwwwwwwwwwwwwwwwwwwwwww ゴミwwwwwwww ゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
815 :
uy :2013/11/13(水) 17:55:36.23
死ねバカwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww 死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww 死ねコラゴミwwwwwwwwwwwwwwwwww
hb
817 :
デフォルトの名無しさん :2013/11/14(木) 17:54:55.58
死ねバカwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww 死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww 死ねコラゴミwwwwwwwwwwwwwwwwww
819 :
デフォルトの名無しさん :2013/11/16(土) 16:52:40.96
823 :
デフォルトの名無しさん :2013/11/16(土) 22:05:23.16
こういうの受ける奴って おもしろそう → 作った事がない って事なんだよ だから9割成功しない
と言うかWebアプリは面白そうだけでやれるほど簡単ではない
簡単だと面白くないじゃん
826 :
uy :2013/11/17(日) 16:08:50.74
ゴミwwwwwwwwww コラゴミwwwwwwwwwwwww 死ねコラゴミwwwwwwwwwwwwwwwwwwwwwww ゴミwwwwwwww ゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
827 :
デフォルトの名無しさん :2013/11/20(水) 02:53:54.55
死ねバカwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww 死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww 死ねコラゴミwwwwwwwwwwwwwwwwww
828 :
uy :2013/11/20(水) 23:30:45.20
何故プログラミングがゴミか教えてやるよ バカや適性のない奴がプログラミングを触ると 周りと明らかに対応能力も成長速度も違ってそいつは常にストレスをため込むようになる で、そういうところから、いきなり子供っぽい事言い出したり、バレバレのハッタリをかまして来る そういうの聞いてるほうも疲れるんだよ 技術・知識が足りず、余裕もない若い奴ほどそういう傾向が強く 成長すると期待しても、成長しなかったり、ゴミが意味不明な細かい知識だけつけて揚げ足取りだけしてくるゴミカスに進化したりする で、ある時気づくわけ、「なんで俺はこんなゴミみたいな奴らと同じ場所にいるんだ?」 そういうのに30だか40になってようやく気付いて2chとかブログで「プログラマはやめたほうがいい。」みたいな事を書き始める おせえんだよwwwww いいか?いくら自分は周りの低スキルゴミとは違う。周りはゴミでも俺だけは違う。なんて誇っても 自分の周囲にゴミを置いてる時点で第三者から見たらそっくりそのゴミと同じ存在なんだよ 自分だけは違うなんて思ってブログやHPで、いくら高レベルの技術資料を晒しても同じゴミ箱のゴミなんだよ だから俺は思う、たとえ難しくとも自分に適正が無くてもゴミじゃない奴らの集まる場所へ行こう。 それが普通に賢い生き方であると思うし、いくらプログラミングの才能あろうと周りがゴミしかいないなら、そこで輝いたところでただゴミの中からリサイクルされるだけのゴミでしかない そういう事に30だか40になってようやく気付いてプログラマをやめる おせえんだよwwwwwwwwwww
829 :
デフォルトの名無しさん :2013/11/20(水) 23:31:36.78
死ねバカwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww 死ねwwwwwwwwwwwwwwwwwwwwwwww ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww 死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww 死ねコラゴミwwwwwwwwwwwwwwwwww
20年前には見かけなかった文章だ 実に残念である
二回繰り返すほど大事なことか?
PHPでWEB制作をしている者です。 これからの事を考えてPythonを覚えたいと数年前から考えていました。 ところが、『遅い』という話を聞いて候補から外していたRubyが2.0になってから高速化したと知りました。 今のPython3系とRuby2.0では速度の差はほとんど無いのでしょうか? 詳しい方、どうかご教授下さい。
>>828 それって、フォローしない職場や、当人のコミュニケーションスキルの問題じゃねーの?
>>935 PHP > node.js > ASP.NET >> Rails > django
>>835 これからのことを考えるなら、宅地建物取引主任やFP技能士、簿記、介護。
JSPの方が早いよね?
Webサイト作るなんて、どれも似たり寄ったりで、 大学・院の研究室やR&Dでアルゴリズムを記述して何ぼの言語じゃねーの?>PythonやRuby
>>828 そういうのは長いこと居るだけ無駄な企業と企業文化で、フリーでやったほうがマシ
高く積み上がった糞の中で何かするより、自分でクライアント探した方が楽
node.jsはともかく いまさらだけどGoogleAppsAPI面白いね もうjavascriptでGoogleOS/ChromeOSいじるのが楽しくなってきた
なんでPython流行らんのかね?
PythonからJavascriptにするコンパイラとかはあるらしいよ 実用になるかどうかは知らん
>>844 blogとかでpythonやってる日本人が検索に引っかかってくるケースは増えてる
福岡Python、山口PHP、広島Ruby
皆さん様々な助言ありがとうございます。
今はフレームワークを使わずに
Nginx+PHPアクセラレータ+PHP-FPM+Memcache+MySQL
でサイトを動かしていますが、
PythonやRubyのフレームワークを使うより今の環境の方が速いという事ですね。
>>850 の方のレスを見るとRuby2.0でSinatraを使うとどうなるのかが気になるところです…。
PHPer からのクレームに あっさり折れてて笑える
perlより読みやすくて、PHPより柔軟。尚且つ、堅牢で速い。
互換性をぶち壊したばかりの言語は信用出来ないので使いたくない よってperlしかない
JavaScriptって互換性が一番高い言語だよな。
とゆーか、PHPに関してはPHPの内輪でやっててくれって感じ 無理して出て来ても、面倒くさいしな スクリプト言語はWebのモノじゃないってトコから懇切丁寧に説明すんのとかね
堅牢の意味が分からん
859 :
デフォルトの名無しさん :2013/11/22(金) 02:41:56.78
git-guiでtcl使ってんだね
>>845 ない
emscriptenでC++動かしたりその上でさらに別の言語処理系動かしたりすることは可能だが、
ただでさえWebGL重いのにそんなもん積み重ねるのはさすがにあまり感心しないな
地に足がついたものを使うならUnityWebPlayerでC#という選択肢も
どのように私は Dart で WebGL 使えるですか?
機械翻訳かよ
863 :
デフォルトの名無しさん :2013/11/22(金) 20:53:39.16
webGL使いたいなら素直にunityつこうてろ お前らの技術力では直打ちは無理
UnityWebPlayerはプラグインだよ WebGLなんてゴミは使わない
python,node.jsとgoogleが絡むおかげか社会的な追放状態に好んで使われる言語>Perl,Ruby
>>861 先週出た Dart SDK にあるみたい
>>865 「Googleが選ばなかったから反社会的」とか謎すぎる
googleから見捨てられたイラナイ子たちだよ 社会に見捨てられた人たちが好んで使う傾向にある
と、見捨てられた人間が主張するのであったw
Google社員の公用語は英語だから日本語も反社会的だし困ったな、日本語やめないと生き残れないわ
楽天ですら英語が社内公用語のはず というか、IT業界で英語はなせないって致命的じゃない? 35歳を越えてから何するのさ
IT業界にいること自体が致命的だけどな
おまえら風情が読み書きどころかネイティブで話すことまで当然のように求めるのか 「TOEIC800点…ゴミが(キリッ」とか一度言ってみたいタチか?ww
875 :
デフォルトの名無しさん :2013/11/24(日) 21:04:09.95
英語をそんな高いレベルで使いこなせないと生き残れないようなレールに入ってる時点でヤバい 原点に返って考えれば人類の殆どは英語なんてまともに喋れなくても生きてるのにw 英語覚えなきゃ死ぬような状況に追い込まれてる今までの自分の選択肢の失敗を見直すほうが先っしょ
ちなみに英語ができると 35歳超えたら何が出来るんですか?
>>874 TOEIC800点とか、社内公用語でスラスラと英語を使いこなす水準にはほど遠いぞ?
どちらにしろ英語とかいらない業界にいるから関係ないが
>>871 楽天は公用語は英語だが、それはネイティブ英語が常に飛び交っているような世界ではない
他の企業よりは英語使用の機会が多いのは確かだが、英語だけで仕事はしていない
880 :
デフォルトの名無しさん :2013/11/25(月) 01:06:57.72
楽天は勘違いしていると思うが、そもそも公用語ってのは (主にコスト面から) 役所なり行政が「その言語で書かれて いれば書類を何とか受け付けさせていただきます」という 類のものであって、使用を強制させる類のものではない。
>>880 楽天が勘違いって言うより三木谷が馬鹿(ってか基地外)なだけ
ITというグローバルな分野ではどこかで誰かが翻訳をしなければいけない 過去においては技術やサービスを提供する会社や個人のボランティアベースでされてきたが、 技術やサービスが細分化されてきた現在ではそれらすべてに翻訳を求めるには圧倒的に リソースが足らなくなってきた こういう状況では末端のIT技術者に英語力が求められるのはやむを得ないことだろう 楽天の英語公用語化もそういう流れの中で出てきたわけで、早すぎるきらいはあるかもしれんが 基地外と言い切るのもやはり早過ぎる
>>882 あのさ、そもそも社内公用語()とかが英語って言うなら翻訳自体が無用だけどw
コンシューマ向けは別としても、そんなのは専門家がやる分野
ソースのコメントやファイル名に日本語や全角文字を使うなってことは まだまだ強制した方が良い時代に我々は残念ながら居る
日本語もおぼつかない奴が残念ながら居る
>>884
ああ 書いてて不自然だと思いつつ 面倒なのでそのまま投稿した 今は反省していない
人間が自然に習得できる言語は一つだけ それも期間限定 あとはどんなに頑張ってもバインディングみたいなもんだから本家より絶対に効率は落ちるよ
>>882 ほんとこれ
今までは翻訳されるのまってりゃよかったんだろうけど英語の情報多すぎるから
自分で覚えないとおいつけないんだよね
翻訳されるのって原理的に最大公約数的な、多くの人の需要であろう基礎の情報しかでないからね
英語の文献漁って読むだけだったら戦前からみんながやってたこと 三木谷の求めてるのはそういう能力じゃないんだろ
いや、彼は、そもそも何を求めてるのか何をしてるのかわかってないと思う。
(ビジネスレベルの)英会話能力と翻訳()とかを同列に扱ってる奴って はっきり言って外国語の習得に関して完全に無知だろ? 多分、職業高卒レベル。 受験生(国公立とかを目指してる)とかだったら、専門用語は別として 英文の技術書程度ならなんの苦労もなく読めるわw
>>892 これを20秒(300wpm)で読めるなら、「苦労なく読める」と言ってもいいな。
When a team is brought together for the first time, everyone brings with them their
own ideas about how code should be written. After all, each team member comes from
a different background. Some may come from one-man shops where they could do
whatever they wanted; others may have been on different teams that had particular
ways of doing things that they liked (or hated). Everyone has an opinion about how
code should be written, and it usually falls in line with how that individual would
personally write it. Establishing style guidelines should always come as early in the
process as possible.
大意をつかむぐらいなら余裕じゃないか というかスレタイと関係なさ杉だろう
>>894 それ、中学生レベルだし
ドヤ顔でそんなん出されてもw
>>894 読めない奴の言い訳
↓
大意ならつかめる
>>896 なんでもいいけどまあスレチなのは確かだ
とてもプログラマー板とは思えない書き込みだらけのこの板、このスレッド。 何も得るものなどない。煽り、叩き、馴れ合いしか能のない住人達。 これが今の日本のIT産業の現状なのですね。 せめてこの板の住人が、リアル厨房だらけであったことに望みを託して、私は この板を本日限り去ることを決心いたしました。皆さん、がんばって勉強して 立派な大人になってください。さようなら。
いや、ここはマ板じゃなくてム板だよ ム板なのに、マ板のネタが出たことが誤りなだけで
文体から察するにコピペじゃねーの?
church of slackやlazyを美徳にしてた連中が今後もメンテするだろうか
>>892 受験生なら分かるとかいってる時点で英語の教本読んだことないの丸出しだな
日本の英語教育じゃ誰も使わないような哲学用語ばかり暗記させて例えば円錐や連立方程式と言ったような小学校の算数の授業で習う単語すら英語でなんていうかわからない奴が多く、結果
大学入試用の英語学習過程でいくら満点とっても英語教本が苦もなくスラスラ読めることなんてあり得ないね
どうせお前は一年に1冊読む程度だろ?その程度なら誰でも出来るんだよ
1ヶ月に数冊以上英語論文教本読むのしいられるプロの世界じゃ基本的な単語も記憶してないようじゃ速読できないしついていけないから
英語読めなくてもいいからスレタイ読んでほしい
907 :
デフォルトの名無しさん :2013/11/26(火) 15:54:06.68
英語の教本て何指してるのさ 英語教育で使うものではなさそうだが
経本
日常会話と技術英語で全く違う 論文なんかは文法自体は簡素で、その分野の単語が出る 日常会話はスラングや簡単な英語の変化球 コミュニケーション自体は中学英語で十分
学生はYouTubeでTEDやGoogleTechTalkでも見とけ RFCの原文も読んで、知らない英単語だけ集めて単語帳つくっとけ
海外の講義ビデオの方が出身大学の専門講義よりも遥かに充実しているw 本当に大学へ金出して行くだけ無駄な気がしてくるな
自分とこの大学の講義より、FREEの公開講義資料の方が充実していると思ったら、 自身の直感と情熱に従った方が良いのれす
学士を得るための試練じゃ スライム狩るようなもの
スライム狩りでも、大手やAdobeに就職したヤツなら知ってる。 奴らの書いたコードも知っている。スライムも狩れないレベル。 ともすれば、教授連中はスライムに襲われる村の住人ぐらい。 村を出たら、すぐ近くにボスの寝城があるのが、この世界。
スライム狩りでLv99まで行くような奴だけが成功するんだ
お前はスライム以外の敵と戦ったから失格
ボスの根城で何も知らないスライムがこき使われてるのさ 他の業界だってそうだよ
スキマ産業を探すの楽しいよね
scalaのサイトデザインが格好良くなってる
http://readwrite.jp/archives/2534 ,.へ
___ ム i
「 ヒ_i〉 ゝ 〈
ト ノ iニ(()
i { ____ | ヽ
i i /__, , ‐-\ i }
| i /(●) ( ● )\ {、 λ
ト−┤. / (__人__) \ ,ノ  ̄ ,!
i ゝ、_ | ´ ̄` | ,. ‘´ハ ,!
. ヽ、 `` 、,__\ /” \ ヽ/
\ノ ノ ハ ̄r/:::r―–―/::7 ノ /
ヽ. ヽ::〈; . ‘::. :’ |::/ / ,. ”
`ー 、 \ヽ::. ;:::|/ r’”
/ ̄二二二二二二二二二二二二二二二二ヽ
| 答 | Python大勝利!! │|
\_二二二二二二二二二二二二二二二二ノ
>>920 誤訳があるね:
X: 例えばRubyではblockの代わりにcomprehension(内包表記)を使うだとか、
O: 例えばPythonではblockの代わりにcomprehension(内包表記)を使うだとか、
O: 例えばRubyではcomprehension(内包表記)の代わりにblockを使うだとか、
さらに、Rubyのブロック(block)は高階関数であって、単純に内包表記と比較できない
もし内包表記と比較したいなら、'.'(ドット)によるメソッドチェーンが比較対象になる
まとめると、原文の著者にしてもその訳者にしても、知識レベルが低すぎるw
>>920 その論法だと JavaScript 大勝利になっちゃうんだよなあ
Rで問題を解いてJavascriptで汎用ツール書いた方がツブシ効くでしょ scipyの何が便利なのか今ひとつ今ひとつ理解できない
そして、PrologとHaskellでビジネスロジックを記述。
どんな場面でc++が使われるんだろう どんな場面でfunctaとかlambdaとか使われるのか謎 c++は素敵な遊園地だった
>>925 Cや抽象度の高い言語でなくC++使うのは
抽象度と低レベル操作をそこそこ両立したい場合なんよね
リアルタイム性と、規模が両方必要な代表例はゲームあたりかね
Rubyの方がいいな
どの言語の周辺ツールが充実してるんだろ デバッガとかテストオートメーションとか
>>931 データ・サイエンスや周辺ツールの充実がRubyでどうかという話が
どうして週末プログラミングにリンクするんだ?
昔、このスレで暴れていたチンコとかakiraとかいうコテをgithubで見つけてノスタルジックな気分になったよー
京大生だっけ?
そー、そいつ。当時が分かる仲間がいて安心した。
みかか、みかか言ってたのに、少しも幸せそうじゃないなw 今の就活生って、ドワンゴとかDeNAあたり狙うのかしら
940 :
デフォルトの名無しさん :2013/12/05(木) 00:58:18.54
コモンインタプリタみたいなプロジェクトある? Iron系J〜系みたいに特定の実装へ擦り寄ってるようなんで無く lisp〜pythonあたりのバイトコードをまとめて実行できるヤツ
942 :
デフォルトの名無しさん :2013/12/06(金) 22:17:03.39
parrot というのがあるが使えるものかは知らない
943 :
デフォルトの名無しさん :2013/12/06(金) 23:32:29.29
spidermonkyではarrow functionは使えないのか?
AnglarJSいいね
algorithmやAPIまで擬人化がはじまったら、本格的に世界が崩壊したんだと思う。
metasploitの中に、らき☆すたの名は見たが
>>942 残念ながらソレVMじゃん?
初っ端からエィプリルフール言ってるし
c++ : Delphi = php : Ruby
がクックパッドの当て馬みたいなサービス提供しようとしてるね
そんなの頑張ってどーすんの?
ご褒美に(^ω^)ペロペロできるらしいぞ
3日前から perl 勉強してるけど、おもしろいねこれ。
書き捨てるには素晴らしい言語だよな 決して再利用しようと考えてはいけない
cpanのライブラリはかなり充実してるから ある程度理解できたら使いまくるんだ また違った境地が開けてくる
958 :
955 :2013/12/11(水) 21:49:38.59
@ ひとつでファイルを一気に配列に入れられるんだ。すごいね超便利! テキスト処理用と言われる理由がよくわかる。
ベターシェルスクリプト/バッチファイルとしては最強 可読性もそれらに比べりゃ遥かにマシだし
スクリプト全般に言えるけど、 大規模だと破綻するってだけだね。
鯖屋は今でもPerl使うんかな
perlはインストールされていない環境の方がまれだし、shの中やワンライナーで使う分にはまだまだいける。 最近、よくpythonがインストールされているけどあれってワンライナーで使えるの?
963 :
デフォルトの名無しさん :2013/12/12(木) 00:54:29.75
今から学ぶならPerlじゃなくてpythonだよ
両方使うわ ある程度まとまったコード量があって再利用の利きそうな処理はPythonで書いて それを書き捨てのPerlから呼んだりしてる
何やるかによるでしょ。鯖屋なら、まだまだPerlじゃねーの? パッと見でApacheやnginxとの蜜月の関係は、tclとtkの間ぐらい切れそうにないし そもそも、毎日の作業でワンライナー書くような仕事ならPHPやPythonは冗長杉
毎日の仕事でワンライナー書く人って アプリは作ってない人だよね。
JavascriptとPHPを両刀で使う方がメリット高い
昔はc++で開発する人たちもPerlで簡単なツール書いただろ
969 :
デフォルトの名無しさん :2013/12/12(木) 11:17:10.18
簡単なツール作りたいならawk sedがあるじゃまいか
なぜ perl は書き捨て用途? 再利用はしないの? しずらいの?
sedは、tcl/Perlなどとうまく使い分けできると思う。 でも、awkの使いどころは・・・?
オブジェクト指向とかモジュール化とかやりだすとPythonやRubyより面倒になるからなPerl
>>970 同じことする書き方がいっぱいあるから、書くのは楽だけど読み辛い
gnome gamesのklotski,lightoffがvalaで書きなおされていた...
>>970 perlが書き捨て用途前提というより、ちょっとした操作ならperlが一番楽で他の言語での選択肢が無いと行った感じの方が現実的。
がっつり書くとか、メンテナンスや再利用が重要になるケースだと、他の言語の方が優秀なケースは多い
例えば、複数のファイルに対して置換や整形するようなケースを考えて見ればいい。
自分の環境でならnodeしか使わない Unix系ならsh/awk/sed使う。
>>973 >>975 んーそうなんだ。
使える人向けの個人用便利ツールってとこかな。万人向けや多人数開発向けではない、と。
>>977 どこに何があるか分かる人には、使いやすいキッチンシンク。
>>975 お前が Perl しか知らんだけだろ (w
Flashは死んだ
982 :
デフォルトの名無しさん :2013/12/15(日) 01:42:31.76
Juliaって流行ってるの?
ロミオとジュリエット
>>982 「ジュリアにハートブレイク」は、1984年〜85年にかけて流行ったよ♪
Rコアの中の人がc++テンプレートで書くな(゚Д゚)ゴルァ!!ってゴネて、Juliaに移ったけれど 実際にR,octave,scipyから移行人いるのかしら
手段と目的を履き違えてるとしか 数値計算なんて保守的な分野だよ
それ、ベンチの結果を見て言ってる?
そういう問題じゃない 既存の言語より少しでも簡潔に書けて同等の性能が出れば普及するという単純な話だったら 言語なんか毎月変わってるわ
ベンチ見てから反応しろよゴミクズ 再帰が速くて、Rより性能が良いし、行列の書き方はmatlab風
科学技術計算って、作る人はたいてい情報科学の専門家じゃないから新しいもの覚えたがらないし 自然法則など普遍的なものを扱う場合が多いから古いものの使い回しがけっこう利いてしまうんだよな 頻繁に変わる部分はスクリプトがよく利用されるけど、だいたいデータの受け渡しばっかりで遅くても問題なかったりするケースが多い
科学技術計算の類は各分野で極度に専門的なノウハウがあるから ゼロから入るのが難しいってのも保守的になりやすい理由なんだろう
次スレはよ
ume
ume
ume
fortran
super vector
スパコンの科学技術計算ってまだフォートランなの?
1000 :
デフォルトの名無しさん :2013/12/15(日) 16:11:25.10
最近はnumpyやpandasが増えてる
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。