JavaScriptは消滅すべきだったよな
あの盛り下がってた時期に。
Ajaxとかいう技術のせいで再評価されちゃって、
結局使いにくいままjQueryとかcoffee scriptなるものを生み出してしまう。 >>610
今までに無いタイプの言語には、試しに使ってみた人が大勢出てくるから
では。 scriptあると滅茶苦茶遅くなったり誤作動や固まる率がものすごく上がる
その一方でメリットはあるとは思えない、あっても虚飾程度 >>615
15年前から来た人にTwitterとかGMailとか通じないよw >>609
Javascript+WebGLで作られたサンプルの方がそれより凄いんだけど
http://oos.moxiecode.com/js_webgl/water_noise/
http://jeremybouny.fr/ocean/demo/
Javascriptでシェーダーが使えるようになったから結構リアルなCGも描写できるようになったんだよな
EmscriptenっていうC言語からJavascriptに変換するプログラムもあるし低級化していってるなと思う >>610
分野によるでしょ。
数行スクリプトが頻発する分野では生き残るためには必須と言える。
>>609
コアなライブラリだけネイティブであればよくて、
後はJITのあるスクリプトで十分ってことがまだ分かってない人がいるとは。
https://www.youtube.com/watch?v=Sfx4OA4eF-A trelloやasanaみたいなもの作れたら、それでいい
ゲームプログラマって... JavaScriptって今までJavaみたいなオブジェクト至高言語しかやったことないやつが
関数が配列に入ったりするのに感動して過大評価してるだけなんだよね
そんなの関数型言語じゃ当たり前だったし、オブジェクト指向ではあえて入れなかった機能なんだが
それがJavaScript特有の高機能性だと思ってる C#とかC++果てはDまでもdelegateとか言って特別扱いじゃん
最初は排除してたくせに、新機能アピールのために後付してるのが見え見え。 個人的には第一級関数よりプロトタイプが書いてて面白いと感じたな
あとNodeが用途によってはPHP、Railsあたりと比較して圧倒的にパフォーマンスに優れてる面とかかなぁ >>620
違うよ。Perl,Ruby,Python使って奴らが、JavaScriptでイイヤって悟ったんだ PHP,RailsがNode.jsより優れてる点って? webアプリに必要なヘルパーがてんこもりなところ
あとNode.jsはエラーハンドリング面倒くさすぎだわ
ただそれらを差し引いても魅力的なパフォーマンス そりゃエラー処理もガベコレも端折ればパフォーマンス上がる罠 nodeはエラーハンドリングが貧弱なくせに
エラー起こすと全機能停止するからな
そこだけが不満 @ebi
なるほど。この発想はすごいなぁ。
ソースコードに隠された謎を説きながら冒険を進めろ!ゲームでプログラミングを学べる
hackforplay/shi3z:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ
http://ch.nicovideo.jp/akiba-cyberspacecowboys/blomaga/ar599071 javascriptでオンラインゲーム開発したいんだけど、何すりゃいいんだ? >>631
君はそもそも、言語の勉強からまず始めるべきだな。 >>634
なら、君は使わなければ良いよ。
全てオフにして生きていけば良い。殆どのページで使い物に
ならなくなるがな。 >>631
ちなみにゲームはプログラミングでは難易度上級ですよ Servlet, JSPに統合されればよかったのか Snap.svg 使ったら
ゲーム作るのアホみたい簡単になった
うけるω JavaScriptの統合開発環境みたいなの拾ってきたw
DX Studio
http://www.dxstudio.com/
Freeバージョンはそのまま使えて、開発ライセンスは登録が必要。
マルチプラットフォーム、EXEファイル生成可(ライセンス版のみ)w
DirectX9ベースで、インストールされていない場合は自動インストール。
JavaScriptの実験用に使えるw
# ただし、全部英語で、ある程度の英語スキルが要求されるw >>48
JSON-LDはある意味再発明だな。こっちはgoogleさんがうまくやりそうだ。 >>610
ニーズのほとんどは、duck typingで説明できるんじゃねーかな。
なんとなく動いてほしいわけだ。
Pascalとかでコンパイル成功するとほぼ動作するってのを知ってると、気持ちわるいわけだが。 [EXEファイル可] JavaScript統合開発環境 DX Studio [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1423340731/l50 NodeのせいでPHP等のサーバ処理言語は廃れていく? OOPLなのに+で文字列結合とか無いわー。
集合型と互換性なくなるじゃん。
"集合型と文字列型が互換性を持っているSmalltalkの例"
| value |
"加算"
value := #( 1 2 ) + 1. "-> #( 2 3 )"
value := 'AB' + ( $a - $A ). "-> ab"
"結合"
value := #( 1 2 ) , #( 3 ). "-> #( 1
2 3 )"
value := 'example', 10 printString. "-> example10"
"備考:書式付き文字列結合"
value := 'example%1' % { 10 }. "-> example10" >>290
スモールマウス。ちがったトーク。うざいよ?
ここにも書き込んでたか。もう明らかに荒らしが目的ってはっきりしたな。 プロトタイプベースとか言う謎ワードに踊らされてクラスを意識させたのが間違いだった
構造体とfunc.callを中心に考えたらまだ有り 間違いの10や20くらいどの言語にもある。
JSはまだその柔軟性により間違いを緩和しやすい方だ。
ただJSの何もかもが間違いに見える人にとっては
間違いを間違いで塗りつぶしているように見えるのかもな。 嘘もつき続ければ真になるってか
最後に声の大きい方が勝つ その柔軟さが問題ありすぎて、厳密モードとかで必死に間違いを直してるだろ
影響が広い破壊的な変更を加えないといけないのは間違いが多すぎる証
他のスレでもいったけど、undefinedが予約語でなくて書き換え可能とか、変数の巻き上げとか、他にそんな間違いしてる言語ある? 柔軟なものを厳密に変えるのは簡単だ
エディターやlint、シンタックスチェッカーの助けを借りればいいし、
後付けで仕様を足すこともできる
逆は難しい
それがjavascriptが他より人気のある理由 柔軟すぎてランタイムごとに動作が不揃いな言語を作るのは簡単だ >>656
少なくとも柔軟さが原因で動作が異なるというのはほぼ無いな
新仕様の未対応とかはあるけども 変数の巻き上げは有名なところだとpythonもだな
これもlinterでvarが最初にあることをチェックしとけば防げるし、
Es6にはletという新しい構文ができた
このように、柔軟さは防げる そうじゃなくて、巻き上げた変数に宣言前にアクセスをすると例外も出さないでundefinedにするなといいたい
存在する意味のない謎仕様をlintでごまかすとか意味不明
>後付けで仕様を足すこともできる
破壊的な変更をしないといけないのは足すとは言えない
処理系で足並みを揃えるのが難しいから、altJSに逃げざるを得ない
柔軟性で言っても、中間言語のほうが圧倒的に上。javascriptは制限が強い。
いっそ、APIと共通言語仕様だけ決めて、言語は自由に選択可能というのが利点ありそう >>660
お前の言いたいことは分かるが、それはもう世界中で何十億回と言われ腐ったことだろ。
2015年の今それを言ってどうする。
世間はaltJSやらES6で前向きにその問題を乗り越えてるし、
この問題は数ある中でも実際にこまる度合いは極めて低い部類だ。
これはもはや相互理解ができないのかもしれないが、
strictモードやaltJS、Lint等の存在があるからJSerはJSがダメとは思わないし、
むしろそういう存在があることを光栄に思っている。
実際ES6ではCoffeeScriptから取り入れたものもあるし、TypeScriptはES7を参考にしてる。
JSerはこれらを敵対勢力ではなく、運命共同体の仲間だと認識している。
そして最近GoogleがTC39Meetingでも発表したSane/SoundScript構想。
>>660のような人にとってはJSがダメなことの照明だと思うのだろう。
だがJSerはこれはJSの進化だと捉える。
JSは柔軟であり、堅牢であり、全ての要求に答えられる言語に進化していくと願っている。 >>661
結局、javascriptである必要性がない
柔軟性、堅牢性、すべての要求に応えるなら中間言語を使うほうが楽じゃん
構文解析によるロスも、文法の制限もなく、あらゆる言語からコンパイル可能。互換性や速度の足かせもない。
この話は全く腐ってないし、LLVMとかRoslynが成果を上げ始めてきている2015年だからこそある選択肢
PNaClに期待したい
javascriptはひとつの選択肢として残せばよい
わざわざ柔軟性の低いjavascriptにコンパイルする理由は互換性を除けばない LLVMは確かに互換性が売りだ。しかしそれは理想であって現実は違う。
PNaClがなぜ普及しないのか?それは最初は問題無いとされた互換性問題が避けられないと分かったからだ。 Javascriptが中間言語なんですけど?
よくある話で、わざわざ別のものを作る必要はない。 >>663
まだこれからでしょ
サーバー側でasm.jsにも変換して、非対応ブラウザはそっちを使うとかすればいい
>>664
それしか手段がないからそうしてるけど、遅いし柔軟性低いし、限界はある
型やポインタが扱える、高速な中間言語が採用されてもいい時代 >>666
javascriptと同じでコードマップつかう
コードマップが無ければemscriptenみたいので逆コンパイルするしかないけど、javascriptの圧縮コードも十分読みにくいし 中間コードをバイナリで読む人もいるだろうし、
圧縮コードのままデバッグする人もいるだろうな。 JavaScript自体がES6,ES7と発展する中で、状況は改善されていくだろう。
それに加えて、上位互換のTypeScript、下位互換のasm.jsがある
DartやPNaCl等の別言語によるJSの置き換えは最早受け入れられにくい。
Googleもそれを察してか、AtScript(TypeScript互換),Sane/SoundScript,
asm.js対応と、相次いで軌道修正を図っている様に見える JavaScriptクッソ記述しやすくて読みやすいんだけど
JSがカスに思えるくらい読みやすい言語って何かな >>671
単なる慣れだろ
JavaScriptの読みやすさは平均ぐらいじゃね? >>672
そうかー
Cはいちいち変数をスコープの頭で宣言しないとダメだったし
C++は結局業務でvector以外のテンプレートが必須になるレベルのものがなかった上に
調子のれば乗るほど当時の本人しかわからないコードが生成されてだるかった
さらに結局なんやかんやでメモリ管理もそれなりに意識しないといけないのも面倒だった
c#とjavaは楽だったけどクラス定義を往復するだけでも面倒になるくらいJavaScriptが楽に思える
結局>>620の言ってる感覚に陥ってるわけか >>673
流行っていない。TypeScriptも同じ。
結局は亜流でしかない。わざわざcoffee scriptでやらなければならない
絶対的理由がないのなら、当然ドキュメント量の多いJavascriptで普通は
やる。 >>674
だいぶ前からCはどこでも宣言できる処理系が多い
むしろ、JavaScriptは変数の巻き上げでミスらないように先頭で宣言すべき派の人もいる
あとはC#やJavaのほうが静的な支援は受けやすい
IDEでクラス定義をその場で見たり、精度の高い入力補完は慣れると便利で、大規模な時はありがたい まあ確かにC系は冗長な記述が多いかもな。
とはいえJSもスクリプト言語としてはスマートでもない。ES6でやっと標準レベルになったが。
まあSaneScriptやSoundScriptはすごく折り合いがとれたいい構想なんじゃない?
まあプロトタイプベースでガンガンやるのも面白いんだけどね。
あとは、bignumとかそういったのがES7で入ってくれれば不満はないね。 >>677
移植性がなくなってC使う意味がなくなるから宣言は絶対頭でしろって怒られたことあるな
昔の話だから今は知らない。エディタ側でもどうにでもなりそうな問題な気もするし。 ええ……巻き上げとか知らなかったわ
先頭宣言して状況次第で初期化時にダミーデータ放り込まないといけないとか
そこら辺の記事で褒め称えてるけどそれこそ大昔からのバグの温床じゃないですかね… 巻き上げ自体はいろんな言語にあるし、普通だろ。
巻き上げっていうのは、スコープ内で宣言された変数はそのスコープのどこでも有効ということだから。
問題は巻き上げられてる変数が予めundefinedで初期化されていて、使用してもエラーにならないってこと。
まあでもその問題はJS入門者が数度引っかかる程度でそんなに大きなものでもないけどね。
varがゆるゆるなのは関数スコープだからってのもあって、理には適ってる。
例えば多重宣言ができる点も、普通に考えればバグの可能性を生むだけだが、
関数スコープだと例えば2つのfor文でiを使う際に、両方で宣言する書き方を許すのは必要。
まあそれらを全て否定して、わざわざループ変数まで関数の最初で宣言するのも自由だけどね。 ES6は進化した部分もあるけど、正直枝葉末節
むしろ、大きく退化したと俺は見る
今更古臭いクラス思想を持ち込んでどうするんだ?
es6は害悪だ >>671
>読みやすいんだけど
パクられ易いのが問題だな。
重要なプログラムはソース丸見えで組みたくない。
HTML5版のグラディウスとかソース参考にしようと思って
コード探したけど消されてたし クラス指向をより書きやすくするための機能が入っただけだな(笑) クラス思想を持ち込んだことによって、それらの機能が入ったんだろ
Javaの真似をしたようなスパゲッティなコードが量産されるんだろうな
シンプルにIf文やfor文で書けばいいのにわざわざ継承使いましたみたいな そもそもプロトタイプベースってのは最初から用意されたクラスシステムに縛られないってだけで、
自分もしくは環境が用意してくれるクラスシステムを自由に選んで使える柔軟性が売りなんだが。
クラス指向ってのが縛られたものか、構造化プログラミングの自然な考えからくるものかの違いしか無い。 >>686
スパゲッティ・コードの使い方間違ってる。 >>689
何も間違ってない
クラスで継承使うと、あちこちに飛ばないと読めなくなる goto 使わなくてもスパゲティプログラム組めるのかお前w 凄いな よかった、Javaのスパゲティプログラムは存在しないんだ >>690
手続き呼び出しするプログラムもスパゲッティ・コードかよw
ダイクストラさんもあの世でびっくりだぜ。 >>690
× クラスで継承使うと、あちこちに飛ばないと読めなくなる
○ 何を使おうと未熟者が作れば、あちこちに飛ぶコードか
長ったらしいコピペコードになって読めなくなる。 クラスや継承が云々と言うより、構造化が下手ってことだと思う。
それをスパゲッティと呼ぶかどうかなんてどうでもいいじゃない。
文系か! javascriptのコード読む気まんまんだな。
昔、ちょっと使い勝手のいいストップウォッチとタイマーを作って出したら、
こんな程度のものさえ、たちまち韓国人がパクって行ってiPhonに出してた
という経験があるからな まあWebは皆で作っていくって通念があって
Webベースで出す以上貢献しろよという圧力は感じる 現行スレ
+ JavaScript の質問用スレッド vol.123 + [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/hp/1423915644/ wikipedia日本語版見たら、
スパゲッティ・コードにクラス継承がグダグダも入ってるw
英語版は入ってない。 昔はともかく今のスパゲティコードって可読性がほぼ死んでるコードのことなんじゃないの
ややこしい事してる部分には一行コメント書くだけでも大分違うというのに・・・
特に深い理由も見当たらないデザインパターンの乱用はやめれ
そこのお前配列に入れた関数彼方で呼び出してるけど入れる順番とか意識させるなや 今はアンチパターンっていうのか
スパゲティもその一つに含まれるんだな 聞きかじったIteratorパターンを組み込むな糞野郎って記事なら昔からあった >>705
普通に配列ならlength取れるが、iteratorはlengthが取れないので、
Googleの最近のサービスのようにイテレータにしてるものとは付き合いたく
ないなって思った。 牢獄民弾圧スクリプト
1. 牢獄回線を用意する(串、Tor、auなど)
2. 穴実のスレをブラウザで開く(投稿が反映されない924スレがおすすめ)
3. 本文を適当に入力する
4.以下のコードをURL欄に貼りつける
javascript:(function(){var interval=1000;var reloadWait=100;setInterval(function(){document.querySelectorAll('input[value="書き込む"]')[0].click();setTimeout(function(){window.stop()},reloadWait)},interval-reloadWait)})();
TorBrowserの場合はJavascriptを有効にした上で以下のコードをスクラッチパッドを開き (Shift+F4) 実行する
var interval=1000;var reloadWait=100;function start(){setInterval('main()',interval-reloadWait)}function main(){document.querySelectorAll('input[value="書き込む"]')[0].click();setTimeout(function(){window.stop()},reloadWait)}start(); >>706
×iteratorはlengthが取れない
○iteratorはlengthを取る必要が無い はぁ? length取れないで、
どうやってループすりゃいいんだよ!
ループというのはi=0から初めてlengthまで+1していくもんだろ。
俺にループさせろや。何がイテレータだ。
ループの文化をちゃんと守れ イテレータでコールバック間数呼んで
っていうのはもう慣れたけど
ループの中断をしたいときにいつも?ってなる