TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
クロージャって何がいいの?
Visual Studio Code / VSCode Part6
【node.js】サーバサイドjavascript 5【Nashorn】
【License】ライセンス総合【利用許諾】
洋書推薦図書/洋書必読書のためのスレッド 1
Swift part11
【糞.NET】裏切り者には死を【アンチゲイツ】
MSX-BASICの奥義を伝授するスレ
テストを書いてからリファクタリングなんてのは幻想
C++相談室 part143
任天堂「今後C++は捨てJavaScriptで開発していく」
- 1 :2013/03/20 〜 最終レス :2019/06/20
- 任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
より手軽にゲーム開発を行う方法が説明されるようだ。
http://www.4gamer.net/games/999/G999905/20130316001/
- 2 :
- JavaScriptは開発効率高いからな。
- 3 :
- JavaScriptはC言語の皮をかぶったマクロの無いLisp
- 4 :
- 泥沼になりそう
- 5 :
- Javaと勘違いしてる輩が乱入、に1ペリカ。
- 6 :
- 速度出ないだろ
- 7 :
- ソフトウェアの進化というのは
開発効率が高い遅い言語で
作りなおすことで進化しているのです。
どんどん遅い言語で作られるようになりますが
それこそ進化なのです。
- 8 :
- HTMLとJavascriptで新作マリオ出してくれたら信用する
- 9 :
- 過去ソース使えねえな
移植効率悪そう
- 10 :
- 捨てるとは書いてないべ
Javascript のインタフェースを用意してみたんだけど使ってみてくんない?
って感じじゃないのか
モバグリの開発者を囲い込む戦略なんじゃね
- 11 :
- HTML5のグラディウス完璧だったしな
そこそこの物は作れるんじゃないか
- 12 :
- このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
- 13 :
- 開発効率そんなに違うか?
- 14 :
- レスポンス返って来なかったりメモリ不足がほぼ出ないようなシステムなら問題ないんだけどな
- 15 :
- 任天堂のゲームでそんなに高いパフォーマンスが必要だったものあったっけ
Cでマリオ作るの非効率だからやめるよ!ってだけの話じゃないの
- 16 :
- C++とJavascriptだったら
どっちが開発し易いか微妙なレベル
速度は確実にC++だけど
- 17 :
- まだアセンブラだと思ってた
- 18 :
- PHPde開発しようZE
- 19 :
- >>16
そう思っててくれたほうが助かる。
- 20 :
- JSエンジンが裸で載ってたらデバッグでRるな
- 21 :
- Javascriptでインタープリタなテスト工程を経て、
C/C++に落としてくれる環境ならば賛同する。
(本番はCPUに近いNativeで。)
- 22 :
- アセンブラでマリオ作ろう
- 23 :
- ビックリするかもしれないけどいまやJavaScriptのコードは平均してJAVA並の速度なんだよね
ループ内のコードを外に出したり、ハイコンテキストなのを逆に利用して効率のよいマシン語にすることができる
- 24 :
- まぁ開発効率は高いわなぁ。スクリプトエンジンはどんどん高速になってるし
- 25 :
- ブラウザ戦争のお蔭でとんでもない速度で最適化が進んだからなあ
- 26 :
- >>23
またまたw
- 27 :
- 早いって言ってもスクリプトエンジン次第だぞ?
任天堂自前で作るのか?
- 28 :
- >>23
全然びっくりしないかもしれないけど
速いJavascriptエンジンはC++で書かれてるんだぜ
- 29 :
- C#のが生産性高い
- 30 :
- >>11
>HTML5のグラディウス完璧だったしな
コナミ社員の自作自演?w
- 31 :
- いつまでもグラディウスにすがるコナミみっともない
- 32 :
- MSX最大のネガキャンプロデューサー、コナミw
- 33 :
- 小島はMSXユーザーw
- 34 :
- ブラウザゲームに速度は必要ないし良い判断だろ
ブラウザゲームに特化するのは良い判断とは思えないけどな
- 35 :
- >>1に釣られる間抜けな馬鹿に言っておくけど、
JavaScriptで開発をするとは書いてあるけど、
C++を捨てるなんて書いてないからねw
速度が必要なところだけC++を使えばいい。
それにJavaScriptのエンジンはオープンソースの速いやつを使うだろ。
JavaScript実行環境はオープンソースにしないといけないけれど、
それで動かすアプリはクローズドでいいわけだし。
- 36 :
- これは極端な例だけどJSがダントツで早い状況もある
http://nothingcosmos.blog52.fc2.com/blog-entry-155.html
最近のJSエンジンは本当に凄い
JSの数値は64bit浮動少数だけどint型で扱える範囲の時はそれで計算するとかはもう普通
配列も入っている型やばらつきによってそれぞれ最適化される
もう単純演算じゃあ差は出ない
正規表現とか高級言語の方が扱いやすいものもある
当然WEBとの相性はいい
反対に苦手なのがバッファを弄る処理
まあ苦手と言ってもCほどトリッキーなことはできないレベル
元々JSはIO全般と相性が悪かったけど最近はマシになってきた
- 37 :
- JSの速度のことを指摘している人は検討違い
JSの言語自体の問題は無い
あるのはアウトプットをどうするかということ
正直今のWeb技術はバリバリのゲームなんか想定してない
WEBにはオーバースペックだと度々言われるWebGLだって
コンシューマ機として考えたらOpenGL ES 2.0だからしょぼすぎる
WiiUのGPUとマッチしてないと思う
2DゲームだってCanvas2D+CSSだけじゃあ寂しすぎる
エフェクトとかがかけづらいからほとんどWebGL使うと思う
本気でやるんなら新しいCanvasのコンテキストを用意するのはもちろん
リアルタイムオーディオ系API、今ChromeとFirefoxで全然別なのが乗ってて合併中だけどそれをどうするのかも決めないと
細かいとこだけどHTML5のテンプレートとかCSSのシェーダーとか
今実験段階の機能も載せないとダメだと思う
WiiUがスタンダードを決めるくらいの勢いでいかないと成功しない
でもあくまでWeb技術だから無茶もダメ、
ブラウザはもちろん、今年から出てくるMobileWebOSのベンダー何かとも相談する必要あると思う
そういうことが任天堂にできるよう体制考えていくのかっていうのが大事
任天堂の一大プロジェクトとして頑張ってくれ
- 38 :
- >>37
何いってんだお前?
ライブラリさえ用意すれば、JavaScriptから
ファイルアクセスだってDirectX(Windowsの場合)だって
使えるんだよ。
Nodeなんかそうじゃん。言語はJavaScript
ライブラリはウェブ標準ではない。
JavaScript使うからってウェブ標準にする必要はない。
- 39 :
- >>30
え?お前何言ってんの?
- 40 :
- うわっ、コナミ社員w
- 41 :
- >>38
だからそのライブラリを用意するのがものすごく大変だと言っている
せっかくWeb技術を使うんだからそれと全くかけ離れたものを作ってもしかたない
Node.jsはWeb技術(HTML)じゃない、JSだけ
それに完全独自じゃなくて他のサーバーサイドJS環境とともに標準仕様を決めている
それでもここまで来るのに何年もかかった
だけどまだNodeはバージョン0.10
フラッシュアップするのにもう1年はかかりそう
それほど大変
そんな中ゲームサイドを作ろうとしたらライブラリ作ればいいじゃすまない
任天堂だけの手におえないし、おってはいけない
それこそ仕様ができた頃にはWiiUの次がでてるようなことになる
それはさすがに無理だからWEB技術を中心に採用することにしたんだろう
でも採用するといっても使えそうな技術は実験段階だったり
標準化に手間取ってたりする
それを待ってるとやっぱりWiiUには間に合わない
でも既存のWEB技術だけじゃあ残念すぎる
なんとかそこら辺を上手くやらなくちゃいけない
じゃないともったいない
- 42 :
- > だからそのライブラリを用意するのがものすごく大変だと言っている
今あるC++のライブラリのラッパーを作れば良い。
- 43 :
- > それに完全独自じゃなくて他のサーバーサイドJS環境とともに標準仕様を決めている
CommonJSはオワコンで
参考にはするが、そんなのには従わないと
言ってるんだが知らないの?
- 44 :
- C++はもうお荷物になってきたか
- 45 :
- HTML5のグラディウスがコナミだとか
スーパーマリオ知らんってどんだけ情弱なんだよw
- 46 :
- >>42,43
今はCommonJS関係ないよ
でもそれが種だった
じぶんはv0.1代の頃から知ってたからよく分かる
それに少し考えてご覧
ほぼストリームのIOだけ提供すればいいサーバーサイドとはスケールが違い過ぎる
絵も音も出さなくちゃいけない
それらはバッファやストリームのラッパーを作ればいい次元じゃない
既存のを使えばいいとか無茶ぶりすぎる
それならそもそもなんのためにJavaScriptを使うのか
仮に既存のCのラッパー大量に用意してはいどうぞ
はて、Cで開発していた頃と何が違うのか
既存のWeb技術を利用でき既存のWebアプリ開発者でも参入できるからいいんじゃないか
それに仕様ってのは作ったはい終わりじゃすまない
それで済むのならHTML5だってもめてない
長い時間をかけて改善を繰り返さないと完成しないもの
そこまでしてゲームサイドJS環境を作れたとしてどんな意味があるのだろうか
- 47 :
- でもそれが種だった
でもそれが間違いだってわかった。
二度と同じ事を繰り返すことはないだろう。
- 48 :
- > それらはバッファやストリームのラッパーを作ればいい次元じゃない
え? なんで?
根拠が無いなぁ(笑)
- 49 :
- 実行効率じゃなくて開発効率が悪いからかんべんしてほしいわ。
function hoge(x) {
x.maxLength = 100;
}
↑これをスペルミスで
function hoge(x) {
x.maxlength = 100;
}
↑と書いてもエラーにならないで、なんとなく動いちゃう言語。
- 50 :
- 時間がかかるのは標準技術だから
独自技術なら時間はかからない。
現にゲーム業界の速度は、標準技術を確立する速度を超えている。
- 51 :
- JavaScriptつーかECMAScriptでstrictモード対応なら>>49みたいな心配はいらないんだけどなぁ
- 52 :
- C++を捨てる、なんてどこにも書かれてないな。
こういう釣りは、ゲハとかそっちの方面でやってくれ。
- 53 :
- >>51
>>49の例はstrictモードでも防げないだろ
- 54 :
- そもそも>>49はhoge()がオブジェクトxの実装詳細を知っているのが前提という糞設計なのが問題
- 55 :
- 実装詳細ってなんだ?
公開プロパティだろ?
それともメソッドにすれば解決する問題だと思ってるのか?
- 56 :
- >>55
> 公開プロパティだろ?
Javascript知らないのがバレバレ
- 57 :
- メソッド(setter/getter)にすれば、少なくとも「なんとなく動いちゃう」は防げるだろ
ただし、それがJavaScript的なお作法に適合するのかどうかはわからんが
- 58 :
- あ、typoが問題じゃ無くて、外部から新たなプロパティを設定できてしまうのが問題なのか
だったら、俺はその防ぎ型を知らんわ
- 59 :
- >>55
他言語だって、変数を公開して、外で自由に触らせるのは良くない設計だよ?
- 60 :
- >>56
恥かいたのはお前だったなw
- 61 :
- こういう時のために、Object.seal()があるんだよ
無知どもめ。
- 62 :
- いまどきメモ帳でコード書くわけじゃあるまいし
最底辺プログラマが書くC++よりは安全だろう
- 63 :
- IDEのサポートが弱いのもダメだな。
動的型.vs.静的型の議論で「動的は簡単に書けて生産性が高い、
静的は安全に書けます。適材適所で使いましょう」みたいな大人の
意見を言うやつがいるけど、ぜったい動的は生産性低いだろ。
- 64 :
- >>61
seal()で、どうやって>>49の問題を防ぐつもりなの?
- 65 :
- >>63
つ TypeScript
- 66 :
- >>64
>>49の問題って何?
- 67 :
- >>65
そういうのが出るってことは、やっぱ動的型の言語に問題感じてる人は多いんだろうな。
- 68 :
- javascriptが速いのはx86とarmだけ
- 69 :
- >>66
> >>49の問題って何?
まんまその通りだけど。
・スペルミスしたときに
・と書いてもエラーにならない
・なんとなく動いちゃう
- 70 :
- それ以外はwebいらないってことで
- 71 :
- >>69
今度は、Object.seal()の機能をここにコピペしてみてよ。
- 72 :
- >>71
Object.seal()の機能は知ってるから、どうやって>>49の問題を防ぐつもりなのかだけ教えてくれればいいから。
- 73 :
- 正直ゲームなんて多少変な挙動あっても適当に動いてりゃ許されるだろ
バグまみれでも大して問題にならないのってゲームプログラムだけだよね
- 74 :
- もうおしまいだ〜!!
C++はおしまいだ〜〜!!
- 75 :
- >>73
ゲームの方が、(精神的な)子供が多いから大問題になる気がするが
- 76 :
- >>72
Object.seal()の機能に、
>>69の問題を防ぐって書いてあるじゃん。
読んでないだろお前。
- 77 :
- >>76
> Object.seal()の機能に、
> >>69の問題を防ぐって書いてあるじゃん。
そうは思えないから、どうやって防ぐのか質問してるんだけど。
コード書いてよ。
- 78 :
- >>45
>HTML5のグラディウスがコナミだとか
>スーパーマリオ知らんってどんだけ情弱なんだよw
もうみんなすごーいんだよーーー
↓
ムダな努力w
- 79 :
- http://appsweets.net/gradius/index.html
とりあえずこのグラディウスを遊んでみてくれたまへ
- 80 :
- >>79
キーマトッリクスが不完全。
- 81 :
- コナミがここまでグラディウスに執着してるとは思わなかったなw
- 82 :
- 断続的にガクガクになるのは、俺のPCがしょぼいせいか?
- 83 :
- だからこれコナミじゃないってw
- 84 :
- >>36
なぜ?という部分を解明してないと
学術論文的な所では確実に無視される
その程度の内容
そもそも、まともなソースコードすら示していないいw
- 85 :
- >>81
是非とも横スクロール・オプション・レーザー付シューティング製作を!
- 86 :
- ナムコナミ
- 87 :
- 1面しか遊べないジャン
- 88 :
- パフォーマンス的にやば過ぎるなこれ
こんなの客に出したら社会問題になるな
- 89 :
- >>85
1985年から28年間独裁してるから倒さなきゃな。
- 90 :
- >>28
こいつ最高に低能
- 91 :
- 俺の知ってるニンテンドーのOSはCOMライクな作りでJSインターフェース持ってたよ。
それでブラウザ独自実装してたぞ。
- 92 :
- 馬鹿丸出しw
- 93 :
- 俺?
- 94 :
- >>85
>是非とも横スクロール・オプション・レーザー付シューティング製作を!
コナミの真似をすれば馬鹿と思われるから誰もしないだけw
- 95 :
- 本物グラディウスのソースリストいる?
C言語ソースと68000ライブラリ。
- 96 :
- >>95
それって、今から読んでもちゃんと読める?っていうか、アホでもよめる??
あと、著作権大丈夫?
- 97 :
- >当時の革命的なシューティングゲームとして1980年の『ディフェンダー』と並び称される歴史的作品。
並ばねーよw
ディフェンダーに失礼。
- 98 :
- グラディウスのストーリー自体はスターウォーズだな。
陳腐だけどw
- 99 :
- >>96
|
J
- 100 :
- >>98
テーマが暗い
- 101 :
- >>99
おれ、釣られたの?
某社のOSはオプソだから知ってるんだよ。
- 102 :
- 知ってると書く奴の100%は何も知らないと言う法則
- 103 :
- というか書ける奴は外部仕様を見れば書ける気がするし
書けない奴はソースコードなんか見ても書けない気がする
- 104 :
- じゃー、しーらない。
まぁ、確かに、OSのソースよんだけど全然理解できなかったのはそうだな。
グラディウスのソースはあれだ文学として興味あるね。
どういう文体で書かれてるとか、どうやって動いてるだとか。
- 105 :
- >>77
だからObject.seal()の機能書いてみ。
何をしてくれるのかわかってないだろw
- 106 :
- ほらねw
- 107 :
- 始まったな宗教対立が
- 108 :
- C言語独裁体制の崩壊
- 109 :
- まあコード書けない低能は
この板ではゴミ
存在する価値すら無い
- 110 :
- いよいよ崩壊
- 111 :
- >>105
var a = {maxLength:0};
var b = Object.seal({maxLength:0});
var hoge0 = function hoge(x) {"use strict"; x.maxLength = 100; return x.maxLength};
var hoge1 = function hoge(x) {"use strict"; x.maxlength = 100; return x.maxlength};
hoge0(a) // => 100
hoge1(a) // => 100
hoge0(b) // => 100
hoge1(b) // TypeError: Can't add property maxlength, object is not extensible
- 112 :
- 型宣言しないのがきもい
- 113 :
- >>111
こりゃ面白い。
Lispじゃなくて、JSがキビキビ動くようになったらまたAI戦争になるんかね。
- 114 :
- まず作らなきゃなw
- 115 :
- >>114
そりゃ大変だ。
JSがキビキビ動くようになったらソース互換でかなりすごいことになるな。今更だけどな。
- 116 :
- やっとObject.seal()の機能を理解したかw
- 117 :
- 書けると言う奴の100%は何も書けないと言う事実w
- 118 :
- 俺はかけないと思うんだが、
他人がかけるというんだ。
- 119 :
- >>112
これには同意だなー。プロパティを後付け追加で拡張されまくりで
ろくにデバッグされなくて、ゲーム開発環境がますます修羅場になる。
- 120 :
- >>117
汎用性ありすぎだろう。
- 121 :
- >>119
>>111
- 122 :
- BASICになりたくてもなれないCとJAVA。
- 123 :
- BASICってたしか関数やスコープもなかったと思うけど?
- 124 :
- C++の開発環境が肥大化のせいでゲームの本質的な面白さの追求に至れてないなら
富豪プログラミング的発想でカジュアルなゲームでHTML5でもいい 枯れた技術の〜っていう発想に近いわけだし
ただなんでもHTML5でできるわけじゃないし、パフォーマンスチューニングは同じぐらいバッドノウハウある
全然質が違うチューニングだけどもね。モジラの次世代エンジンOdinMonkeyとか気が狂ってる
っていうか単にデベロッパーが減ってWeb屋吸収したいだけとも言える
- 125 :
- >>123
関数も文字列操作も強力だよw
何も知らない癖に偉そうに書くと恥をかくよw
- 126 :
- 30代のリストラ - Cプログラマーの切り捨て
- 127 :
- もうCプログラマーはいらないんじゃないのか?
- 128 :
- >>125
他の言語と比べて
どんなことが優れてる?
無いと思ったけど。
- 129 :
- 企業のお荷物
- 130 :
- >>128
ねぇねぇ、辞表書く準備できた?
- 131 :
- >>130
なんだ。やっぱりただのかまってちゃんだったかw
- 132 :
- , -=-‐〜--へ__,,- 、
< ヽ ゝ
ノ 二、___ゝ,/_/ヘ |
| ヲ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ┤ ===、 , ==| | < 切り捨てられる覚悟を
ノ 彳 ―ェ 〈‐ェ〈 ゝ \ しなきゃいけない
ゝ、 イ6|ゝ / \ |‐" \_________
く .^| - ゝ
ヒi_,| \l [ ――.|
,,, -/\ \____,|
―'| \ \ |\_
| \ \. / 〉 \ ̄
|__,\ / ̄〕/ 、/
- 133 :
- パソナルームw
- 134 :
- >>131
どうして手先が震えてるの?
- 135 :
- Cプログラマーを声高らかに切り捨てる
- 136 :
- ミミ彡ミミミ彡彡ミミミミ
,,彡彡彡ミミミ彡彡彡彡彡彡
ミミ彡彡゙゙゙゙゙""""""""ヾ彡彡彡
ミミ彡゙ ミミ彡彡
ミミ彡゙ _ _ ミミミ彡
ミミ彡 '´ ̄ヽ '´ ̄` ,|ミミ彡
ミミ彡  ゚̄ ̄' 〈 ゚̄ ̄ .|ミミ彡
彡| | |ミ彡
彡| ´-し`) /|ミ|ミ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ゞ| 、,! |ソ < 改革をあきらめるな!
ヽ '´ ̄ ̄ ̄`ノ / \________
,.|\、 ' /|、
 ̄ ̄| `\.`──'´/ | ̄ ̄`
\ ~\,,/~ /
\/▽\/
- 137 :
- 任天堂を切り捨てろ!
- 138 :
- >>134
お前は超能力者かまってちゃんかw
だが、透視できてないぞ。ただのかまってちゃんだw
- 139 :
- 彡ミミミミ))彡彡)))彡)
彡彡゙゙゙゙゙"゙゙""""""ヾ彡彡)
ミ彡゙ .._ _ ミミミ彡
((ミ彡 '´ ̄ヽ '´/ ̄ ` ,|ミミ))
ミ彡 ' ̄ ̄' 〈 ̄ ̄ .|ミミ彡
ミ彡| ) ) | | `( ( |ミ彡
((ミ彡| ( ( -し`) ) )|ミミミ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ゞ| ) ) 、,! 」( ( |ソ < 感動した!
ヽ( ( ̄ ̄ ̄' ) )/ \_______________
,.|\、) ' ( /|、
 ̄ ̄| `\.`──'´/ | ̄ ̄`
\ ~\,,/~ /
- 140 :
- 左翼はCでいい思いをしている
- 141 :
- サヨ認定キター
- 142 :
- ひっくり返せ
- 143 :
- >>116
まさかとは思うが、>>111のコードで問題が解決したとか思ってないだろうな?
思ってたとしたら、プログラミングセンスなさすぎなんだけど。
解決したと思わないなら、お前自身のコード書いてみ?
- 144 :
- 文句言う前に先にお前が書けよ(笑)
- 145 :
- は?
俺は、seal()では問題は解決しないという意見なんですけど。
解決すると思うんなら、コードで示してねってことで。
- 146 :
- >>49のなんとなく動いちゃう問題は>>111で解消するな
- 147 :
- >>145
問題が解決するってひとが>>111を書いてくれたんだから、
問題が解決しないって思ってるおまえが具体的なコード例を示せよw
- 148 :
- >>147
めんどくさいなぁ。
君も>>111のコードで良いわけ?
だったらプログラミングセンスなさすぎだわ。
- 149 :
- >>148
早く書け
- 150 :
- >>149
何を書けって言ってるのかな?
分かるように言ってくれよ。
- 151 :
- 5分程度で書けない奴はプログラミングのセンス無い
- 152 :
- >>150
>>49のなんとなく動いちゃう問題が>>111で解決しない理由
- 153 :
- >>152
seal()書き忘れるか、seal()が必要だって知らない人がメンテとかしたりしたらアウトだから。
書き忘れなきゃOKとか言う?それってtypoしなきゃOKと言うのと変わらないよ。
C++でnew禁止にできるみたいな、絶対に間違いが起こらない方法は無いと思うんだ。
あるなら教えてほしい。
あと、seal()しまくりなのは汚いし見づらいしエレガントじゃないよね。
- 154 :
- C++知らない人がメンテとかしたらアウトだか。
>>153への皮肉はこんなもんでいいだろ?w
- 155 :
- >>154
C++のnew禁止テクニックとseal()の違いがわからないなら、プログラミングセンスなさすぎだよ。
- 156 :
- new禁止テクニックの話は一言もしてないw
- 157 :
- new禁止テクニックのような根本的対策じゃなきゃ意味ないよって言ってるのが
理解できないのか、new禁止テクニックを知らないのか。どっち?
- 158 :
- >>153
Object.seal()を直接書いて回るとか何の冗談だよ
いまどきJavascriptでそれなりのプロダクトを作るなら
クラス継承の手順なんかも隠蔽したオブジェクト生成関数を用意してそれを使う
センスとか以前の問題じゃね?
- 159 :
- 書き忘れたら書き間違えで新たなプロパティ扱いになるって言っても
C++はC++で書き忘れたら色んなものが解放されないという言語なのだけれど…
- 160 :
- >>158
残念ながらそれでも駄目なんだ。
なぜなら、JavaScriptでは実引数の型を強制できないから、hoge({maxLength:10})とかできちゃうし。
- 161 :
- >>159
念のため説明すると、new禁止にすると、hoge = new Hoge();でコンパイルエラーになるから
これが根本対策になり得る。
- 162 :
- >>160
それはオブジェクトというより今時の大抵の言語にあるハッシュとしての使いかただね
Javascriptは両方とも同じものだけど
ハッシュのキーワードミスって別のプロパティ弄っちゃうとか
Javascript固有の問題じゃないだろう
オブジェクトの生成はプロジェクトで決めた生成方式で統一すればいい
- 163 :
- オブジェクトの生成ルール決めてるプロジェクトでhoge({maxLength:10})とかやって自爆するのは
C言語で型とか適当でキャストしまくって自爆するのと同じようなものだろw
- 164 :
- >>162
ルールを決めても、それを言語仕様的に強制できなければ、誰かが間違える可能性が残る。
誰かというのは、将来のメンテナも含めてね。
それと、xの仕様を変えることによって問題を解決するのなら、maxLengthを
プライベート変数にして、setter,getterにした方がいいと思うんだけど、どう?
- 165 :
- >>163
自爆するのが悪いというのは、typoするのが悪いというのと変わらないよ。
- 166 :
- >>164
>>49を見直してこいよ
maxLengthをset/getにしてもmaxlengthを作れちゃうから問題だと言ってるのに
- 167 :
- >>165
どんな言語でも、言語仕様で強制される以外のルールも守らなければ自爆するって言ってるんだよ?w
- 168 :
- JavaScriptでnew禁止するのは簡単。
- 169 :
- >>161
ではC++で解放忘れをコンパイルエラーにする方法は?
- 170 :
- どんなに優れた言語でもウンコードは書ける
- 171 :
- TSRが書けなくなるの?
- 172 :
- >>166
setterにすれば、>>49はsetMaxLength()とsetMaxlength()のtypoの問題にかわる。
- 173 :
- typoうんぬんが開発の生産性と関係あると思ってるヤツは素人
- 174 :
- >>167
そんなの当たり前だが、今回の問題と何の関係があるのかな?
- 175 :
- >>169
ない。
- 176 :
- >>172
setterにすると>>49のコードが具体的にどう変わるか書いてみてくれない?
- 177 :
- >>176
書いたじゃん。
理解できないのか?
- 178 :
- >>177
function hoge(x) { x.setMaxLength() = 100; } // 正
function hoge(x) { x.setMaxlength() = 100; } // 誤
ってこと?
- 179 :
- 178
悪いが、JavaScriptを知らない奴にまで説明する優しさは持ってない。
- 180 :
- >>179
いやおれは普通にこういうことだとおもったんだが
x = { val:0, get maxLength() {return this.val}, set maxLength(v) {this.val = v}}
function hoge(x) { x.maxLength = 100; } // 正
function hoge(x) { x.maxlength = 100; } // 誤
x.maxlengthに間違ったら意味無いよね?
- 181 :
- ああ、xを実引数にしてhoge()を呼び出すと思ってくれ
- 182 :
- >>180
俺の話からそんなコードを想像したのなら、そりゃ話は噛み合わないな。
- 183 :
- 念のため言っとくが(めんどくさいから、これが最後だよ)、その「正」は
正しくないよ。
- 184 :
- コード書けないアホが無理するから...
- 185 :
- >>179
>>178はこうか、>>180を意識してたんでちょっと間違った
function hoge(x) { x.setMaxLength(100) } // 正
function hoge(x) { x.setMaxlength(100) } // 誤
- 186 :
- >>180-181は実際に動作することを確認済み
いまどきjavascriptのsetter/getterって言ったら>>180だろ
- 187 :
- 実際にコード例を示さない奴が偉そうだなw
- 188 :
- >>186
俺のレスをちゃんと読んでるか?
maxLengthをプライベート変数にし、と俺は言ったぞ?
- 189 :
- >>188
>>180はmaxLengthをプライベート変数(=val)にしてるだろ?
少し日本語不自由じゃないの?具体的なコード書けば勘違いされないのに
- 190 :
- さすがに今時全部x.setMaxLength(100)みたいにしろとかありえないんでseal()が導入された
- 191 :
- >>189
x = {var maxLength;}
>>190
俺の感覚だと、sealしたインスタンスを戻すFactoryメソッドを定義して、それを使うのを
ルール化するというほうがもっとあり得ないんだけど、最近じゃseal使うのが流行ってたりするの?
- 192 :
- >>191
>x = {var maxLength;}
文法エラーです
- 193 :
- >>192
それは悪かった。今スマホなんで完全なコードを書くのが難しい。
var x = (function() {var maxLength;})();が完全なコードかな。
- 194 :
- あと、seal()方式には重大な欠点がもうひとつある。
それは、x内部のtypoを防げないってこと。
- 195 :
- >>191
インスタンス生成はフレームワークが提供するのを使うことも多いかな
seal自体は流行ってはいないんじゃないの?ES5サポートしてないブラウザもあるし
でもここは任天堂がこれから提供する独自環境の話をするスレだから、
strict mode前提でsealなんかのES5の機能を積極的に使っていけるんじゃないかなと思ってる
- 196 :
- >>193
>var x = (function() {var maxLength;})();
意味がわからない。このコードじゃxに入るのはundefined
あんたがやりたいのはこんな感じのことじゃないのか?
var x={maxLength:0,
setMaxLength:function(v){this.maxLength=v},
getMaxLength:function(){return this.maxLength}};
- 197 :
- >>195
なるほど、そういうことか。了解。
- 198 :
- >>196
悪いけど、昼休みまで待ってくれ。
- 199 :
- >>194
seal()方式だとx内部にどんなやばいtypoが発生するの?
- 200 :
- なんか基礎的な知識がなくて回り道しそうだから
お前らに最低限の知識を与えておこう
var hoge = (function() {
var private_variable;
function private_function() {
}
return {
public_function: private_function, // プライベート関数をパブリック関数として公開
}
}());
hoge.public_function();
- 201 :
- 今やJavaScriptはここまで来た
http://gigazine.net/news/20130322-firefox-asmjs/
- 202 :
- OdinMonkeyっておぢんモンキーでいいの?
- 203 :
- >>200
ありがと。
>>196
それだと、maxLengthを隠蔽できてない。
newを使う場合はこう。
var Foo = function() {var maxLength;};
Foo.prototype.setMaxLength = function(val) {maxLength = val;}
Foo.prototype.getMaxLength = function() {return maxLength;};
var x = new Foo();
console.log(x.maxLength); // => undefined
x.setMaxLength(100);
console.log(x.getMaxLength()); // => 100
console.log(x.maxLength); // => undefined
x.maxLength = 200; // => can't change Foo's property
console.log(x.getMaxLength()); // => 100
try {
console.log(x.getMaxlength());
} catch (e) {
console.log(e.message);
}
- 204 :
- newを使わない場合はこう。
var x = {};
(function(obj) {
var maxLength;
function getMaxLength() { return maxLength; }
function setMaxLength(val) { maxLength = val; }
obj.getMaxLength = getMaxLength;
obj.setMaxLength = setMaxLength;
})(x);
console.log(x.maxLength); // => undefined
x.setMaxLength(100);
console.log(x.getMaxLength()); // => 100
console.log(x.maxLength); // => undefined
x.maxLength = 200; // => can't change Foo's property
console.log(x.getMaxLength()); // => 100
try {
console.log(x.getMaxlength());
} catch (e) {
console.log(e.message);
}
- 205 :
- それでは、
obj.setMaxLength(1) を
obj.MaxLength = 1 と
間違えてしまうことを防げない。
- 206 :
- >>203
グローバル変数に隠蔽とは斬新だなw
- 207 :
- JavaScriptにグローバル変数は存在しない。
- 208 :
- >>206
実際のプロダクトコードでは、複数階層の名前空間に入れるけどね。
- 209 :
- >>208
ためしに
var y = new Foo();
y.setMaxLength(200);
x.getMaxLength();
ってやってみたら?
- 210 :
- >>209
どうなった?
- 211 :
- >>210
あぁ、203に合わせると最後は
console.log(x.getMaxLength());
か
とりあえずやってみてよ?
- 212 :
- 基本的にJavaScriptでは「プライベート変数」はあきらめたほうがいいよ。
newも使わない方がいい。
男なら、publicなプロパティだね。
で、結局typoの問題は解決できないけど、それがJavaScriptってもんだ。
嫌ならTypeScriptがいいんじゃね(使ったことないから知らんけど)。
- 213 :
- そもそもタイポと戦えないような奴はプログラマになっちゃいかん
- 214 :
- そう、それがたとえ他人の書いたタイポであってもね
- 215 :
- タイポは神様からの贈り物なんだよ
- 216 :
- Javaをやってると奴隷とかドカタとか煽れるけど、スペルミスなんて、JavaやC#なら入力した
瞬間にエディタが教えてくれるに、それを人間が目で探すとか、動的型の言語のプログラマは
マシーンですか。
- 217 :
- JSに限った話じゃないけどテストを書けば問題ないってのは机上の空論だな
>>203もテスト(らしきもの)を書いているけど、結局のところなんのチェックも出来てない訳だし
(203はそろそろ自分の間違いに気がついただろうか?)
- 218 :
- >>216
チェックツールあるだろw
- 219 :
- JSか
- 220 :
- >>203
だからこれは何なんだよw
>var Foo = function() {var maxLength;};
>Foo.prototype.setMaxLength = function(val) {maxLength = val;}
>Foo.prototype.getMaxLength = function() {return maxLength;};
意味がわからんぞw
偉そうなこというまえに基礎からやりなおしてこいよw
- 221 :
- >>216
打ってる最中に画面見てないのか?
大文字小文字も規約決めてるだろうし…
- 222 :
- l-1とか0-Oとか他人が打ち間違ったのを尻拭いする任務を与えよう
- 223 :
- 真に恐ろしいのは目の前で裸で立ちすくむソイツではなく
どこに潜んでいるかわからない見えないアイツ
2年前に学ばなかったのか
- 224 :
- >>204とか
x.getMaxLength()をx.getMaxLengthってミスしてもとりあえず動いてしまうように見えるし最悪w
- 225 :
- JavaScriptが開発効率高いなんてド素人の妄想
- 226 :
- >>221
やっぱりスペルミスは目を皿のようにして確認してるのか。
- 227 :
- 安い底辺プログラマが使えるから開発コスト下げられるとか妄想してるんだろうけど
- 228 :
- 上のほうが他人のタイポがどうこう言ってる人がいるけど、
自分ならスペルミスしないってのもそうとう凄いと思う。
- 229 :
- >>228
「上のほうが」じゃなくて「上のほうで」だな。
頭悪いから日本語でも誤字しまくりだわ。
- 230 :
- 実行時までエラー発覚しないような言語でバイナリ配信とかサポセン死亡か
- 231 :
- >>217
間違いに気づいたよ。指摘ありがと。
普段はnew使わないんだけど(JSONでサーバからデータを受け取ることがほとんど)、
なんとなくnewの例も書いてみたくなって背伸びしちゃった。
ほとんどの場合がViewかViewModelらしきものを使うから、>>204みたいなコーディングしてる。
あと、try-catchはテストじゃなくて、例外が発生することの確認。
結局、JavaScriptってtypoには無力だと思うんだが、反論ある人居る?
- 232 :
- >>226
眼を皿って…typoしたときって自分で違和感ない?
「ん?俺今typoしたかな」って…その時だけ見ればいいじゃん
- 233 :
- >>231
ES5以降で導入された(る)機能を活用すればインタプリンタが検出してくれたり、
エディタで補間なんかもやりやすくなるよ
>>203だってstrict modeならエラーがちゃんとでるし
もうちょっと勉強しましょう
- 234 :
- >>232
ああそうなの。
おれ、タイポにぜんぜん気づかないときがあるわ。
IDEがスペルミスをチェックしてくれる環境とかすごい楽で好き。
スクリプトのstrictモードに需要があったり、JavaScriptにコンバートする
型付の言語が発表されたりするのをみたら、スペルチェックなんか
機械にやらせたいって人おおいんじゃないの。
- 235 :
- >>233
それで>>49のtypoの問題は解決できる?
- 236 :
- >>235
>>111
- 237 :
- >>236
あー、そういうこと。ならいいや。
- 238 :
- >>232
俺はちゃんと resultってタイプしてるのに、resalutが正解だったりするからな。
- 239 :
- コピペすりゃいいんだよ
- 240 :
- 中身はなかったなw
- 241 :
- 下請けイジメの任天堂
- 242 :
- コナミには負けるw
- 243 :
- はよ
- 244 :
- >>239
ITドカタとか「お前の担当のこの画面、こっちのとだいたい同じだからコピペして作れ」みたいのが基本だからな。
- 245 :
- つかJavaScriptもEclipseとかVSでエディットすればtypo減るだろ
- 246 :
- 良く分からんが、Javascriptの有名なライブラリがsealを中で自動的に
使ってくれるんじゃないの?
Javascriptにオブジェクト指向のclassやextendsのような構文を追加
するライブラリがわんさかあるって聞いたが、そのライブラリどもが
自動的に使ってくれるんじゃないのか
- 247 :
- Luaのような使い方するんじゃないのかなと思ってたんだが違うの?
- 248 :
- >>246
使ってくれるわけない
- 249 :
- >>246
デフォルトでseal状態にされたら安全にはなるけど不自由になる
sealをサポートしてないブラウザの割合も多いし
- 250 :
- 正直、Javascriptの文法はアレすぎて
- 251 :
- 普通、コア部分はC/C++で開発して簡易なゲームロジックは独自スクリプトとかLuaとか使うもんじゃないの
そこをJavaScriptにするってこと?だったらもう少しマシというか新しい言語選んだほうがよくね?
- 252 :
- コア部分なんて一回開発したら使いまわせるようにするだろ
- 253 :
- ここまで、どういう経緯でこういう事になったのかの説明無し
http://www.nintendo.co.jp/ir/library/events/130131/05.html
ゲーム機のソフトウェア開発が、どんどん大きな投資を必要とするようになった今、
ウェブサービスの転用、プロトタイプの作成、あるいは、インディーズゲーム制作など、いろいろなことを考えたとき、
ソフトウェアの作り手を広げる試みは非常に重要になってくると思っています。
3月のGDCでは、この『Wii Street U powered by Google』や、
いくつかのVoDサービスの開発に使用された、HTML5やJavaScriptなどのウェブ技術でWii Uソフトを開発できる環境や、
Unityという多くのユーザーに使われているクロスプラットフォームのゲームエンジンなど、
ソフトウェアの作り手を広げる試みについて、いくつかご紹介できる予定です。
はいはい解散解散。
- 254 :
- 誰でも参入できるのかー
- 255 :
- でもやっぱり専用環境購入とロイヤリティはお高いんでしょ?
- 256 :
- 日本のゲーム会社は無能のカスしかいないのに
なぜか全部自分のとこで作ろうとする
- 257 :
- 固定長メモリの不安感のせいだと思う。
C時代のレベル、ヒープとかあまりメジャーじゃなかった頃はまだイケてた。
海外の文献見てもメモリ管理怪しいのに何で向こうは気にしないんだろうね。
- 258 :
- Unity 風味前提で、って話でしょ。
この古臭いレスの輩たちは何なの?
- 259 :
- Unity 風味?
- 260 :
- Unity 風情と書き方ったのではないか?
- 261 :
- Unity 一味
- 262 :
- UnityのJavaScriptはJavaScriptと全く違うだろ
- 263 :
- 同じだと主張してたのか?誰が?
- 264 :
- Unity風味の人じゃね
- 265 :
- あの文章みてUnity風味っていうんだからそういうことだろ
- 266 :
- そもそもお前ら
> UnityのJavaScriptはJavaScriptと全く違うだろ
↑これが理解できるのかw凄いな
- 267 :
- 知らないなら黙ってればいいのに。
- 268 :
- その程度をエスパーできない奴にプログラムを書かせちゃいかんな
- 269 :
- HTML5ベースのJavascriptの環境とUnity環境両方用意するって話だよね
- 270 :
- 知らないなら黙ってればいいのに。
- 271 :
- 今回はunityは関係無いぞ
- 272 :
- http://www.nintendo.co.jp/wiiu/hardware/features/internetbrowser/extended_functionality.html
- 273 :
- >>23
> ビックリするかもしれないけどいまやJavaScriptのコードは平均してJAVA並の速度なんだよね
こういう「平気でうそをつく人たち」がウェブ界隈には多すぎる。
JavaScriptは以前よりはずっと速くなったが、依然C++よりはずっと遅い。
単純な演算でも平均して5倍は遅いし、
実アプリケーションではメモリ効率の悪さによる速度低下やキャッシュミス、GCポーズ、
低レベルアクセスのオーバーヘッド、SIMD命令やマルチスレッドを活用できないこと等でさらに差が広がる。
各種ベンチマーク。2のTime、Memory、Codeの表をチェックしてね。これが現実の性能差。
C++ g++ speed ÷ JavaScript V8 speed | Computer Language Benchmarks Game
http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=gpp&lang2=v8
実際、C++/OpenGLで書かれたものとJavaScript/WebGLで書かれたもので
5倍スループットが違ったりするんですよ?
一番オーバーヘッドが小さい(それこそほとんどOpenGLにコールを渡すだけの)WebGLでだ。
しかもこの1年、JavaScriptの速度の伸びは停滞している。一通り最適化しつくしてしまった。
だから今まで頑なにJavaScriptで十分と言っていたMozillaがasm.jsを作ってきたりしている。
>>36
>これは極端な例だけどJSがダントツで早い状況もある
C++のコード見たがなめとんのか
https://github.com/kwatch/template-engine-benchmarks/blob/master/others/string-concat/cpp/bench_strcat.cpp
- 274 :
- > /*
> * Are you a C++ expert? PLEASE ADVICE ME!
> */
くそこいつまじでむかつく
素人がベンチマーク取んなや
- 275 :
- ttp://phoboslab.org/log/2012/08/letter-to-john-carmack
> Native code developers shouldn’t be defensive about true accusations of security and stability
> limitations, and JS developers shouldn’t be defensive about true accusations of inefficiency.
「ネイティブコード開発者はセキュリティと安定性の限界に対する正しい非難に抗弁するべきではないし、
JavaScript開発者は非効率性に対する正しい非難に抗弁するべきではない」
とかのJohn Carmackがおっしゃっております(´・ω・`)
心より同意するものです(´・ω・`)
- 276 :
- HAL-NOTEとMSX-VIEW
- 277 :
- セキュリティて
CならともかくC++はあんま起きないだろ
- 278 :
- >>273
こういう、ベンチマークで10倍差だからとかいう奴って、ほんと頭悪いわ
- 279 :
- >>23はJavaと比べてるんだけどさ
>>273てアホなの?
- 280 :
- まさかの任天堂スマホアプリ参入宣言かと
- 281 :
- HAL-NOTE
- 282 :
- OSをHAL-NOTEに!
- 283 :
- >>279
Javaと比べても遅いみたいだが?
- 284 :
- HAL-NOTEあげ
- 285 :
- >>283
そういう事を言ってるんじゃないんだが
お前には理解できんか
- 286 :
- 人のせいにしないで、自分の説明能力をうたがいましょう。
- 287 :
- MSX-VIEW
- 288 :
- うむ
>>273の説明能力には難ありだな
- 289 :
- Enchant.jsってやつ使ったけどhtmlとjsでここまでできることに感動した。
- 290 :
- javaと比べたら平均して2倍遅い程度か
意外とすげえな
速いじゃん
- 291 :
- タイトルからウソまみれのスレで喧嘩すんなよ
- 292 :
- これがHTML+JavaScriptの世界は開発速度なんだよな。
【GDC 2013】HTML5+JavaScriptで容易にWii Uでのゲーム・アプリ開発が可能に・・・「任天堂ウェブフレームワーク」発表
http://www.inside-games.jp/article/2013/03/28/65097.html
- 293 :
- webkitベースか
- 294 :
- JavaScriptは言語であって、コンパイラが優秀であればC/C++に匹敵する速度は出る。
任天堂は、専用コンパイラを開発する、しているはず。
言語的にはC/C++と似通っていてるが、自由度が高く開発効率はいいんだろう。
- 295 :
- (*´・∀・)(・∀・`*)ヘー
- 296 :
- 読んだら違ってた。環境自体は独自開発じゃなく既存品を使うんだな。
- 297 :
- せっかくだから任天堂はfirefoxos採用しれ
- 298 :
- 何や彼や言って、結局上手く行かんべさ、アホか?
- 299 :
- いい機会だからasm.js採用したら
- 300 :
- 別にほっといたってC++なんか捨てられるのはわかってるんだからわざわざ騒ぐ事でもないな
これからスクリプトでやっていく流れは皆わかってるだろうし、JavaやC#とスクリプト言語を使い分けていくでしょう
- 301 :
- webkitベースということだからfirefox系のものを使うことは無いな
JavascriptVM自体はどこから持ってきたのか説明はあったのかな?
- 302 :
- >>300
C++自体が捨てられるなんてことはほぼ無いぞ
環境自体はほぼC++で作ってるんだから
- 303 :
- まぁそう思いたかったらそれでいいんじゃないの。
- 304 :
- スクリプトなんて昔から使ってるから
- 305 :
- なぜ態々この発言をしたかが今にわかると思うよ
- 306 :
- C++に取って代わる高級アセンブラが出てこない限りC++は残る
- 307 :
- どういう機械語に翻訳されるかわかるという点で
C言語は高級アセンブラと言えるが、
C++は高級アセンブラとは呼べない。
- 308 :
- だからそこが覆るのよ ふふふ
- 309 :
- JacaScriptの動的コンパイルやJVMやレンダリングエンジンも皆JacaScriptでやるんすね!
さすが動的バインド半端ない
- 310 :
- JSのコンパイルってそのままやるんだったらLispとほぼおんなじ方法になるよね。
だったら、C++あたりにトランスコードしてコンパイルする羽目になるんじゃないか??
- 311 :
- C++一本で食ってるやつなんていないんだろうから気にするこたぁねえよ
- 312 :
- C++が消えるというか完全に裏方になるのはいいのだが、
JavaScriptメインで開発とか正気かよ
もうちょっとマシなスクリプト言語いくらでもあるだろ
- 313 :
- 普通はそう思っちゃうよね
だけどGoogleとかの勢いが何かを思わせるんだよね〜
というより、スクリプトメインにするほうが儲かるのは間違いない
- 314 :
- >>309
さてはお前JVMって何かわかってないな
- 315 :
- C++はJVMに残るのみというまさに屈辱の形になりそうだねww
- 316 :
- JavaじゃなくてJavaScriptの話なのに何でJVMが出てくるんだ?
- 317 :
- エンジンがRhinoだとおもってるのかな?
- 318 :
- >>302
COBOLと同じ運命を辿ります
- 319 :
- 以上、JavaScript大好きだけどゲーム開発には何の興味もないワナビーの皆様の声をお届けいたしました
- 320 :
- ワナビーの意味、間違って覚えてないか?
- 321 :
- んふーふっふふっふふう♪
JavaScript たのっすぃー
- 322 :
- >>313
Googleのコードで圧倒的に多いのはC++らしいぞ
大部分はChromeのコードらしいけど
- 323 :
- JavaScriptエンジンだってC++だろ
結局、基盤的なところは今までもこれからもC/C++だよ
C++敵視するアホの期待とはうらはらに
- 324 :
- 昔のJava厨はまだ良かった
C・C++を知ってたから
「JavaとC/C++は普通に書けば同じくらいの性能
徹底的にチューニングしたらさすがにC/C++には勝てないけどね」
ぐらいの主張だったけど
JavaScript厨はコンピュータに関する知識が少ないから
「今のVMはすごい。昔とは違う。
Javascriptは最強最速だから」
とか言ってくるんだからな
- 325 :
- jsのコンパイラ次第だな
性的片付けがないから厳しそうだが
- 326 :
- >性的片付け
おそうじRかと
- 327 :
- 最適化のための構文とかキーワードとかバシバシ追加されたら
そういう寝言にも付き合ってやろう
- 328 :
- 寝言言ってんのはお前だw
- 329 :
- >>325
型推論備えたJSとか無理なのかなと思ったが…クラスベースならともかく、プロトタイプベースとは相性悪そうだな
- 330 :
- 型情報もってない動的型付け言語の型推論を事前に行うなんて無理っぽい
そういうわけで、Google V8のように実際の実行時に型情報を統計的に推測して
マシンコードに変換する手法が現状最速になってるわけよ
- 331 :
- まあそれでもブラウザ用と違ってゲーム端末用途なら
事前コンパイルでバイトコードみたいなものに変換しておくのはいいかもね
最適化とマシンコードへの変換は実行時に行う必要があるだろうけど
- 332 :
- >>330
今はそもそもコンパイルが辛いからJITしてるって段階だけど、速度を追い求めてた結果としてもJITが要求されたりする
C/C++みたいな言語でもコンパイラで最適化するだけじゃなく実行時にも最適化掛けたほうが早くなる見込みはあるからな
Ruby処理系Topazとか、PyPyの構造で高速化されるあたりJITによる動的な最適化ってなかなかバカにできん
PyPyってのは「JIT付きPythonインタプリタ上で動くPythonで書かれたPythonインタプリタ上でPythonコードを実行したら、JIT付きPythonインタプリタ上でPythonコードを実行するより早くなる」っていうPythonインタプリタな
- 333 :
- UnityのJavascript(もどきw)は型情報を付与してAOTしてるが、そういうアプローチで最適化とかはできんのか?
- 334 :
- Unityみたいなアプローチじゃ、
Web技術のHTML5+javascriptでそのままプログラミングできるって用途には使えん
任天堂はUnityとHTML5+javascriptの両方用意するんだから、Unityの方を使えばいい
任天堂限定の話じゃなくてWeb技術の方でそういうアプローチが普及しないのは
各ブラウザの足並みが揃わなきゃ誰も使ってくれないからかな
- 335 :
- OS統一すればよくね?
- 336 :
- ttp://www.4gamer.net/games/032/G003263/20130328081/
実質Windows&FFOXだけでいいっちゅうか・・・
- 337 :
- >>336
これはasm.jsをサポートするブラウザが増えなきゃ技術の無駄使いだね
現時点ではFirefoxOS上で動かすためぐらいしか意味が無い
Firefoxだけでしか動かんなら、Cからjavascriptにわざわざ変換せんでも、
Windowsでネィティブに動かせばいいわけで
- 338 :
- ああでも、Firefoxが動いていればMacでもLinuxでも動作可能なゲームが作れる?ことになるのか
それはひとつの利点かもな
- 339 :
- Javascriptは統一言語になっていない。
javaやC#のほうが互換性が高い。
Javascriptは非常に処理系(ブラウザ)に影響される。
- 340 :
- c#とか実質的にプラットフォーム依存じゃないかw
- 341 :
- >>340
2005年ぐらいからタイムスリップしてきたのか?
- 342 :
- >>341
Windows上で動くC#で作ったプログラムがほぼMono環境で実用になると思っていいの?w
- 343 :
- おうよ
ゲーム用にキワどいところまで攻めたチューニングでもばりばりうごくぜ
- 344 :
- Wineでもういいじゃない
- 345 :
- ついにWPFとかもサポートされたのか
- 346 :
- 言語とライブラリの区別はつけようね。
- 347 :
- そういうレベルの互換性でいいならJavascriptだってほとんど問題無いだろ
- 348 :
- >>346
そういう言いぐさしたらC最強じゃねぇかw
- 349 :
- オレ「今後JCは捨ててJSを開発していく」
- 350 :
- >>349
JK「きも…」
- 351 :
- asm.jsは歓迎だけどな。数値計算分野でのJavascript整備を進めてほしいところ。
FORTRANとか時代錯誤なんで物理シミュも余裕でJavascriptにしてほしい。
- 352 :
- そんなにやるならCかFORTRANかアセンブラへのコンバータの方がいい。
asm.jsは速いとしても限界がある。
- 353 :
- 同じ様に書いた(物凄い非効率で遅い)ネイティブコードの
二倍程度で済むって話でしょ。
ネイティブコードで書く必要があるような場面って
結局そこからの最適化が勝負だから、
ネイティブを置き換えるのはさすがに無理だろうな。
- 354 :
- asm.jsっていうのは、CとかFORTRAN(フロントエンドあるのかな?)で書いたコードを
バイナリへコンパイルする代わりに特殊な中間言語に変換するものだよ?
CとかFORTRANを置き換えるとかっていうのは使用方法を勘違いしてる
- 355 :
- C++とアセンブラとjavaしかできない俺は取り残されていくんだろうか‥
- 356 :
- 取り残されていく
- 357 :
- 変化に対応できない人間は弱いな
- 358 :
- C++・アセンブラ・Javaできれば他の言語なんてあっというまに覚えられるだろ?
- 359 :
- アセンブラ、C、Java、JavaScriptができれば
大体のところは網羅してると思うな。
- 360 :
- 覚えられても、あえて覚えない拘りをもつんだろ。
ダーウィンだったかが、必ずしも強者が生き残るのでなく環境に適応したものが残るとかいってた。
- 361 :
- 正直、言語一つ極めれば大抵の他言語は余裕で覚えられる
- 362 :
- 手続き型から関数型はちとつらい
- 363 :
- 俺が生きてる間には関数型が覇権握ることはなさそうだし
とりあえず無視しとく
- 364 :
- SQLを使ってる人は、関数型もすんなり使えると思う。
SQLと関数型言語は考え方が違い。
このことに気づいている人も結構いる。
https://www.google.co.jp/search?q=SQL+関数型言語
- 365 :
- node.jsとか時代はJavaScriptなん?
- 366 :
- >>358>>359>>361
それだけでは、とてもじゃないけど関数型言語を使いこなせる気がしない
極めるのうちに自前で他パラダイムの要素混ぜ始めるのまで含めなければ、だけど
>>365
JavaScriptの応用がホットなのは確かだけど、最終的には適材適所じゃね?
- 367 :
- >>365
flashが倒れた以上後釜を狙う立場にいるのは確か
- 368 :
- >>366
ループの処理を再帰に変換するのが脳内で一瞬でできるようになれば
そんなに難しくはないような気がしてる。
- 369 :
- >>368
最終的には再起を先に考えてしまって後でループに直したりし始めるけどなw
- 370 :
- 関数は第一級オブジェクト
- 371 :
- jQueryとHTML5で既にFlashの後釜
node.jsはローカル鯖テストに使ってる。便利な気がする。同一言語で扱えるので。
コンパイラが絶滅する時代が来るのかな。
(C++は進化してきているのがわかる。JavaScriptに近い部分もあり。)
- 372 :
- 生のJavaScriptを書くやり方の方が絶滅すると思う
JavaScript(or そのサブセット)を出力するコンパイラが主流になる
- 373 :
- 変換無しで実行できるっていうのもひとつのメリットだからね
主要ブラウザで直接実行可能なのがJavascriptだけな状態が続くなら
絶滅させるのは難しい
- 374 :
- 将来のプログラマはCもjavaも両方出来ないとダメになったぞ
まぁ、移植の手間が省けるぶんゆとり化が進むだろうけど
- 375 :
- JavaScriptとJavaが同じだと思ってる人が何人かこのスレに居るな
- 376 :
- 任天堂のハードの機能に依存したソーシャルゲーとかが作りやすくなるってことか
それこそ個人のサイトでも任天堂ハードを利用したアプリが公開できる
- 377 :
- >>376
それできるの?
セキュリティとかロイヤルティとか難しい気がするが
- 378 :
- そもそもソースの隠蔽が無理
- 379 :
- 「JavaScriptは遅い」って言う人はプログラミングについて完全に誤解してる
「JavaScript(を機械語に変換する特定の処理系)は遅い」なら正しいが
「JavaScript(というプログラミング言語)は遅い」という発言はおかしい
プログラムの処理速度を決めるのは言語処理系であって、言語そのものではない
- 380 :
- またバカが来た
- 381 :
- 処理系ががんばればいくらでも速く出来るとか思ってるやつのほうが完全に誤解してるだろ。
- 382 :
- まあjs厨はバカしかいないってことで
- 383 :
- >>373
googleがDartを本気でjsと置き換えようとしてるらしいが、どうなることやら
- 384 :
- >>378
それいうとあらゆるクライアントサイドプログラムもソース隠蔽は無理じゃね?
ネイティブコードからの逆コンパイル可読性に負けるとはいえ、変数名全部圧縮したJSってMSILからC#に復元したコードと大差ないレベルじゃね?
- 385 :
- JavaScriptは、いずれどこかの時点でオブジェクト指向機能を
取り入れた別の物に進化してHTML6の一部になると思う
いまのJavaScriptの環境はC言語で関数ポインター駆使して
一生懸命オブジェクト指向設計してた時と同じように
無理が来てると思う
- 386 :
- お前らasm.jsの記事すらまともに理解できないのか
- 387 :
- asやってたからjsに変えるのは楽だけど何となく型宣言がないのは気持ち悪い
- 388 :
- >>381
何言ってんだ?
原理的にCで吐ける機械語はJSでも吐けるんだが
チューリング完全て知ってるか?
- 389 :
- マジバカわろた
- 390 :
- 機械語を書き出せるのはチューリング完全と関係ない。
言語がチューリング完全でなくとも出来る。
- 391 :
- >>390
チューリング完全な機械語を吐くにはチューリング完全な言語を処理系に食わせなきゃ無理
機械語を吐くこと≠チューリング完全な機械語を吐くこと
- 392 :
- ではバッファオーバーフローするjsとその処理系がどのようなものになるか説明してみてください
- 393 :
- >>391
CコンパイラのバイナリをBASE64などでコピペして
チューリング完全でない言語でデコードして書き出す。
- 394 :
- (Cコンパイラの)バイナリデータを吐き出す機能しか持っていない言語は
チューリング完全でないが、チューリング完全の処理系を出力できる。
- 395 :
- >>385
JavaScriptはプロトタイプ指向と言うオブジェクト指向と類似するパラダイムを既に獲得しているので、今更オブジェクト指向を取り込む必要は特に無い
>>388
×Cで吐ける機械語はJSでも吐ける
○Cで書ける処理はJSでも書ける
わかり易い例を出すと、Cと同じ機械語を吐くためにはメモリ破壊出来ないとダメだけどJSでは無理だ
処理速度の面で言うにしてもCと同等の速度が出る「可能性は否定出来ない」程度で現状は未だ無理
最適化に必要な型情報などのヒントを埋め込みまくってようやくCには一歩及ばない上に、そのコードは既に人が書くには辛い領域になっている
動的最適化の果てに静的最適化のみのCを超える可能性とかはあるが、現状ではそれも未達成だ・・・発展著しいし希望は有ると思うけど
- 396 :
- >>395
メモリ破壊する処理を書けばいい。
- 397 :
- >>396
破壊できたら只のセキュリティホールでんがな
- 398 :
- C言語が出力するバイナリと同様のものはJavascriptで吐ける。
C言語の出力をバイナリ文字列としてコピペして書き出すだけ。
- 399 :
- >>397
> Cで書ける処理はJSでも書ける
って書いてある。メモリ破壊する処理を書けばいい。
- 400 :
- バイナリファイルはきだせるならなんでも作れるだろ。
- 401 :
- より一般にほとんど言語で、C/C++で書かれたC/C++コンパイラと同等の速度が出る、C/C++コンパイラを書くことは可能。
これはチューリング完全なんかと関係する。
- 402 :
- Cで書けるということはクライアントの環境を決め打ちできるということだ(キリッ
- 403 :
- >>399
メモリ破壊のロジックを再現しても実際のメモリ破壊できないだろ・・・レイヤ違うんだし
- 404 :
- メモリ破壊の意味分かってないバカがいるな
さすが低級言語のC/C++厨だな
- 405 :
- 具体的に説明できない知ったかぶりが煙に巻くときに使う常套句:レイヤ
- 406 :
- 相手の発言を曲解して馬鹿にした気になれるってある種の才能だよな・・・
395が言ってる処理ってアルゴリズムの事だと理解できないのか、理解したくないのかどっちなんだろ?
説明されても理解できないの方だとしたら、病院行って診断もらってきたほうがいい。特権手帳もらえるよ。
>>405
煙に巻くもへったくれも、JS上に作った仮想メモリはOSが管理する仮想メモリやCPU見てる実メモリとはレイヤ違うからそのまんまだろ
- 407 :
- Cすら使いこなせない低能でも
JSでゲーム開発出来ると聞いてアホが喜んでるんだから
水を差すなよ...
- 408 :
- ゲーム作ったことある奴ならわかるけど
言語なんか関係ないからな
それ以外のことが難しすぎるし
- 409 :
- >>388
それじゃ現状でJavaScriptが遅いのはどういう理由なの?
実装してる連中がバカだから?
(実際的にはムリだけど)原理的には可能っていう屁理屈?
- 410 :
- チューリング完全は計算能力の話であって計算速度とは関係ないってマジレスしちゃダメなの?
- 411 :
- 実際出来るかどうかは知らんけど、チューリング完全とかの概念はむしろ最適化に上限があることを証明するのに使えちゃいそうだよな
- 412 :
- チューリング完全って何だよ
- 413 :
- 論理的には計算速度の最適化もできそうだけど、
ソースコードの量の増加に応じた最適化のための計算量が爆発的に増加しそう
実質的には無理じゃないかな?
- 414 :
- >>413
動的型の言語の実行時にきまる動作を静的なコードで
置き換えようとするとコードの量が無限に大きくなりそうだな。
- 415 :
- コンパイラは、文字列処理にすぎない。
ソースコードをパースして、アセンブラ言語の文字列へ変換するだけ。
C製のCコンパイラと同等の速度が出せない言語のほうが珍しい。チューリング完全ということは処理能力に違いがないということ。
- 416 :
- 「Javascriptのコードから」ってルールが抜けてるんなら
バイナリ列のコピーだけでもいいからね。
- 417 :
- >>412
計算理論において、ある計算のメカニズムが万能チューリングマシンと同じ計算能力をもつとき、その計算モデルはチューリング完全(チューリングかんぜん、Turing-complete)あるいは計算完備であるという。--Wikipedia/チューリング完全
>>414
生成され得ないパターンを除外してくとかはある程度出来るだろうけど、停止性判定不能コードの後ろに判定対象が並んでるとかの場合に
チューリングマシンの停止性問題から「有るコードが有る型で実行されるかは有限時間で判定不可能である」って導けそうな気がするんだよな
- 418 :
- チューリング完全を完全に誤解してる。
- 419 :
- まったくなんのスレだよ
- 420 :
- 万能チューリングマシンとか停止性問題とか神託機械とか、あのへん微妙に中二病患者にウケそうな概念や単語が並んでるからな
- 421 :
- >>415
Cと同等の速度が出せない言語がめずらしいって言っても、
実際には出せてない言語は多いよね。
なんで?
実装してる連中がバカだから?
(実際的にはムリだけど)原理的には可能っていう屁理屈?
- 422 :
- >>421
同等程度の性能しか出せないのに、Javascript製Cコンパイラをつくる意味がない。
それに明らかにコンパイル時間が長引いて実用的でもない。
ゼロからCで書くか、オープンソースのC言語製Cコンパイラを改良した方がいい。
- 423 :
- 脈絡なく屁理屈をレスするスレ
- 424 :
- >>422
ああ、JavaScriptでも同等の処理を書けるってはなしで、
速度はやっぱり遅いんだな。
- 425 :
- JavaScriptで、C言語製ソフトと同等(速度)の事をやることは現実で可能。
Zopfli を Emscripten をつかって JavaScript に移植しました
http://blog.livedoor.jp/imaya_js/archives/6349259.html
Google Zopfli圧縮アルゴリズム、gzip -9より高圧縮 3月11日
http://headlines.yahoo.co.jp/hl?a=20130311-00000019-mycomj-sci
この記事では、C言語で書かれたアプリケーションを Javascript エンジン上で動かすためのツールである Emscripten について解説します。
Emscripten の原理
Emscripten はC言語のコードを Javascript のコードへ変換するツールですが、人間が移植作業を行うように「書き直し」をしてくれるものではありません。
http://teikyo.tumblr.com/2011-emscripten-1
- 426 :
- >>425
リンク先をざっと見てみましたけど、JavaScriptのコードをCと同等の速度で
実行できるってのはどこに載ってるんでしょうか。
- 427 :
- emscriptenの出力コードはjavascript上で機械語コードをエミュレートするだけなんだけど
- 428 :
- >>425
ドヤ顔でこれかよ・・・
- 429 :
- >>425
それある程度の速度が出るのはJITコンパイルが前提だよ
上で馬鹿がわめいているような事前コンパイルでJavascirptを高速なネイティブコードに変換するのは難しい
- 430 :
- コンパイラは文字列操作してるだけ。
C:製Cコンパイラと同じ文字列操作をすれば出力は同じで、速度も同じになるのは当たり前。
アセンブリ言語 - Wikipedia
次に示す機械語は AL レジスタに 01100001 というデータをロードする。
10110000 01100001
このバイナリコードを人間が読みやすいように十六進法で表現すると次のようになる。
B0 61
ここで、B0 は「ALに後続の値をコピーする」ことを意味し、61 は 01100001 を十六進法で表したものである。
インテルのアセンブリ言語では、この種の命令に MOV というニーモニックを割り当てており、
セミコロン以下に説明的コメントを添えたアセンブリ言語での表現は次のようになる。
MOV AL, 61h ; Load AL with 97 decimal (61 hex)
この場合、定数61Hがソース、レジスタALがデスティネーションに該当し、命令が実行されると、定数61Hが、レジスタALに単純に格納される。
これが人間にとってはさらに読みやすく覚えやすい。
- 431 :
- 間違えるな。
Emscriptenで変換したコードが速いと言ってない。
JavaScript製Cコンパイラで、C:製Cコンパイラと同じバイナリ(=同じ速度のバイナリ)を作り出せるかだ。
- 432 :
- 真面目にJSでのゲーム開発を議論するスレかとおもいきや、普通の初心者スレになっているとは。
- 433 :
- >>431
JavaScriptでCと同等の処理が書けるかって話じゃなくて、同等の速度がだせるかって話なんですけど。
- 434 :
- emscripten はそういうのじゃないとおもうんだ
c->js はかのうかもしれない js->c は範疇外だろう?
- 435 :
- 逆にJavaScriptソースと同等機能を実現するC、アセンブラソースを作り出すことも可能。
JavaScript ⇒ C、アセンブラ ⇒ バイナリ としたらJavaScriptも速く出来る。
- 436 :
- 「この処理系でJSを実行したらCと同等の速度になる」って実例をバーンと出せば
終わる話なのに、できないでいろいろ理屈を言ってることは、やっぱ遅いんだな。
わかりました。
- 437 :
- ちょっとまてよw
>>401 = >>425 かよ
真面目にレスして損したわ・・・・・・
- 438 :
- >>435
動的型の言語は単純にCに変換できないでしょ。
- 439 :
- >>435
>JavaScript ⇒ C
これで作られるCコードを速度まで同等に最適化するのが難しいわけよ
莫大な計算量が必要で現実的じゃない
- 440 :
- C++からJavaScriptへ変換し、さらにJavaへ移植する話の続き
http://d.hatena.ne.jp/aoisome/20130121/1358779265
[GDC 2013]Webブラウザで「Unreal Engine 3」がヌルヌル動く!? ゲームエンジンを5日でHTML5へ移植した驚きの技術とは
http://www.4gamer.net/games/032/G003263/20130328081/
モジラ、ブラウザ上でゲーム機並みの3Dゲーム体験を可能にする取り組みなど発表
http://headlines.yahoo.co.jp/hl?a=20130328-35030070-cnetj-sci
Mozilla、Firefox 22 にブラウザゲームを高速化する「asm.js」を搭載- インターネットコム(2013年3月28日12時00分)
ゲームは、大量のリソースと複雑なコンピューティングを要求するタスク。
このため、ゲームは、ハードウェアの特性にあわせた専用 OS 向けに、ネイティブコードで書かれるのが普通だ。
だが、Mozilla の JavaScript 高速化プロジェクトにより、高いパフォーマンスを持つブラウザゲームの実現が、現実味を帯びてきた。
米国 Mozilla は3月27日、ゲームエンジン「Unreal Engine」を開発した Epic Games と協働していることを発表した。
この共同プロジェクトは、Unreal Engine 向けのゲームを、Web ブラウザ内で動作可能にすることを目指すもの。
「Emscriptem」は C で書かれたコードを、どの Web ブラウザでも動作する JavaScript に書き換えるクロスコンパイラ。
Mozilla CTO であり、JavaScript の開発者でもある Brendan Eich 氏は InternetNews.com に対し、emscriptem を利用すれば、開発者が Web フレンドリーな新しいタイプの開発へ移行することが、より容易になると説明した。
http://media.image.infoseek.co.jp/isnews/photos/internetcom/internetcom_20130328_010_0-small.jpg
http://news.infoseek.co.jp/article/internetcom_20130328_010
- 441 :
- ja.wikipedia.org/wiki/%E5%A4%89%E6%8F%9B%E8%A8%80%E8%AA%9E
asm.js もそうだけど 中間言語というかtranspilerかますと
復元できない
復元までふくめるとcoffeeみたいになるし…あれ解釈エンジンは
おなじだからこそparserラクしてる面もあるし
- 442 :
- >>440
どっかの記事だと、asm.js でもネイティブコードの倍の遅さらしいけど。
(倍でもすごいけど)
- 443 :
- で、俺の持ってるPCのCPUとGPUを解析して完全に最適化されたコマンドを吐いてくれるJITエンジンはいつ作ってくれるの?
- 444 :
- >>440
asm.jsのコードはJavascriptのコードとしても実行できるけどその場合はかなり遅い
モジラのVMは、asm.jsのコードをjavascriptのコードとしてではなくて
特殊な静的言語で書かれたコードとして解釈して実行することができて、
その場合は同じようなのネイティブコードの半分ぐらいの実行速度が出る
つまりこれはJavascriptのコードを早く実行する技術とは全然違う
- 445 :
- Mozilla、Firefox 22 にブラウザゲームを高速化する「asm.js」を搭載 - Infoseek ニュース
Mozilla のゲームプラットフォーム戦略を担当する Martin Best 氏は InternetNews.com に対し、
asm.js コードは、JavaScript 言語の中核要素を使用すると述べた。
基本的には、asm.js を意識して書かれたコードのみが高速化されることになる。
だがこの技術には後方互換性があり、Best 氏によれば、ブラウザが asm.js をサポートしていない場合であっても、
開発者は非常に効率の高いコードを書けると述べている。
http://news.infoseek.co.jp/article/internetcom_20130328_010
- 446 :
- 反論がなくなったから「Javascriptは処理系しだいでCと同等の速度がでる」って話は
間違いでしたって認めたって解釈させてもらいます。
- 447 :
- >>442
処理内容による。
例えば、asm.jsが円周率を1億万桁求める事をサポートし
それがC言語で書かれていてバイナリとして組み込まれていれば、
単体ネイティブバイナリと計算速度は同等だろう。
- 448 :
- >>447
それは、速度を求められるところはCで書かないとCと同等の速度はでないってことですね。
- 449 :
- >>443
CPU負荷や空きメモリ、処理対象データに合わせた動的最適化も追加でよろしく!
- 450 :
- 処理の重いところはグラフィックカードがやるから
ライブラリーに投げるだけでしょ?
ロジック部分の生産性が上がるなら言語部分の
速度を議論するのは不毛じゃないの?
ただ、プログラムの規模が大きくなってきたときに
Javascriptってかえって生産性低いのではないだろうかって
気がするんだけど
結局プログラムの生産性を下げるのって不注意で作り込んだ
バグをつぶすところが大きくて、Javascriptでうまく動かすのには
本来コンパイラーガやってくれる部分を
人間が細心の注意を持ってやらなきゃいけない様に見える
そう言う機能をどんどん追加していったら、
結局遅くて使いにくいC++の亜種になったりしそう
HTML5が流行りでみんながこのビッグウエーブに乗ろうと
するし、実際適用範囲が広がるのは確実だと思うけど、
出来るからって何でもそれでやろうとするのは凄く
間違った方向に進むと思うな
- 451 :
- VB.NETが生産性最高
- 452 :
- JavaScript処理系自体がほぼC/C++製だ。
JavaScript処理系をJavaやJavaScriptやC#や純関数型で書くのも可能だろうが。
速くしたい所を念入りに最適化するのは当然。
- 453 :
- Cコンパイラが出力した機械語と速度比較するのが間違い。CコンパイラソースをJavaScriptソースに変換できれば機械語として同じ速度だ。
言語性能は同じ土台のインタプリタで比較しろ。
CINT(シーイント)
CINT はC/C++ 言語インタープリタです。
CINTを使うと、C/C++で書かれたソースコードをコンパイルせずに実行できます。
90%-95% 実行可能だそうです。
http://belle.sci.fukuoka-u.ac.jp/index.php?CINT
Production Version 5.34
Availability
ROOT is available in binary and source form. The binaries are available for most supported platforms.
http://root.cern.ch/drupal/content/production-version-534
CINT・C++インタープリタ
日本語訳:柴田淑夫(Shibata Toshio)
この章ではCINT、ROOTのコマンドラインインタープリタおよびスクリプトプロセッサーについて述べる
http://www.dw-sapporo.co.jp/technology/658766f830d530a130a430eb7f6e304d5834/root_usersguide_jp/7CINT.pdf
- 454 :
- >>453
>CコンパイラソースをJavaScriptソースに変換できれば機械語として同じ速度だ。
Cコンパイラソースって何だ?
Cコンパイラのソースコード?
Cコンパイルするプログラムのソースコード?
何と何が機械語として同じ速度になるの?
- 455 :
- >>453
ネイティブのCじゃなくてインタプリタのCとJavascriptを比較しろって意味?
そうする意味がわからない。
それにJavascriptじゃCの9割以上の性能出すのムリなんじゃないの。
- 456 :
- Cの生産性の悪さとインタープリタの性能の低さを合わせた最強のツールか
- 457 :
- 無駄に改行入れる奴って例外なくバカだね
- 458 :
- もはや自分でも何言ってんのか分かってなさそうだ
最近のコンパイル言語はコンパイルからJITコンパイルに移行しつつ有って最近のスクリプト言語もインタプリトからJITコンパイルに移行しつつ有るというのに、コンパイル言語の不完全なインタプリトとスクリプト言語の最新JITコンパイルを比較とか何がしたいんだ。
- 459 :
- 機械語、CPUが直に理解できるワードはC言語とは別もの。
機械語で比較するならば、Cコンパイラと同じ出力を作れれば同速度であるといえる。
Cコンパイラのソースコードを移植できる言語であれば、C言語と同速度。
- 460 :
- >>459
何のプログラムコードで書いた何をするプログラムが同速度になるの?
- 461 :
- 459だとC言語ソースをJavaScriptでコンパイルしたものが
C製Cコンパイラと同速度という意味だが。
JavaScriptソースとC言語ソースに互いに変換可能で無駄がないとすれば
JavaScriptソースもJavaScript製コンパイラでC言語並の速度が出るということ。
- 462 :
- >>461
>JavaScriptソースとC言語ソースに互いに変換可能で無駄がない
ここが間違ってる
JavascriptソースからC言語ソースへの変換は、Javascriptソースのほうが情報量が少ないから、
同等なものに変換するには事実上不可能なほどの計算量が必要になる
- 463 :
- >>462なので、
JavaScriptソースをJavaScript製コンパイラでC言語並の速度を出すというのは不可能
- 464 :
- JSって変数が全部バリアント型なのにC並の速度が出る。。。わけないだろバカ
- 465 :
- 動的型付言語とは何なのか
CコンパイラがCソースコードをどのようなマシン語に変換するのか
この辺を勉強してみれば>>462が如何に難しいか理解できる
- 466 :
- なんか致命的な勘違いか致命的な極論が混ざってるようにしか見えんわ
ゲスパーしとくと、JSにコンパイラ移植してもコンパイルしたコードはJSの実行環境では動かないから意味は無いしコンパイル元のコードがJSじゃないから本末転倒だぞ
>>464
そこを全部型付きにして高速化を図ろうってのが最近のトレンドだが、もはや人が書くような言語じゃねと言わんばかりに別言語の中間コードから型ヒント付きJSを生成する技術が登場する始末
JSを元にした中途半端な謎中間言語とか誰得状態だし、なんてーかそこまでやるならMSILでもLLVMでもいいからそのへんのJITレイヤをそのまんまJSに組み込んで中間コードからFunctionオブジェクト生成する機能でも追加しろよって感じだ
- 467 :
- C言語が機種依存して最適化してる。C言語なみの速度がJavaScriptで実現可能かということは原理的には可能だろ。
C++のテンプレート使うと、必要な型のすべてのバイナリを生成し、バイナリの中身は型付き変数として動作する。
JavaScriptコンパイラを作り最適化したらいいだけ。
- 468 :
- >>467
原理的に可能って、JSでコンパイル時点ですべての型を予測して
あらかじめ生成するなんてムリだろ。
- 469 :
- >>467
テンプレートの場合に型が変化するのはそのテンプレート引数の組み合わせだけだけど、
Javascriptの関数の場合に型が変化する組み合わせはそれこそ莫大な数になる可能性が考えられるわけよw
しかも実行と同等なことをしてみないと必要な組み合わせが判明しない
なので無理
- 470 :
- C言語自体は機種依存してないよな
言語とライブラリを分離してるだけで
#ifdef使えば
UNIXとWindowsですらソースコードレベルのポータビリティが有る訳で
API部分を抽象化しても結局うまくいかないのはJavaが証明したし
JavaScriptもそれを繰り返すことになるだろう
- 471 :
- >>468>>469
あまりに実行中に新型の型を生成するようではエラー出してコンパイルを停止させる。
どこで新型が生成されるか事前に判別できるから、無限ならず有限で済むケースでのみコンパイルを成功させる。
- 472 :
- >>471
ちょっと複雑なコードを書いたらすぐエラーになるか、コンパイルが終わらなくなりそう。
- 473 :
- >>471
ごまかすな
お前が言ってたのはJavascriptのコードをCのコードと同等な速度に変換できるってことだろ?
変換可能な部分のみ変換するのでは
JavascriptのコードをCのコードと同等な速度に変換できるとは言えない
その程度だったら事前に変換してコンパイルじゃなくて、JITコンパイルで十分なのよ
- 474 :
- GCありきで書かれたクソコードを静的解析してスタックに割り付ける作業に戻れ
- 475 :
- JavaScriptでC言語に並べるのは事実。
CソースをJavaScriptソース内にStringとしてコピペして
JavaScript製Cコンパイラに通したら、C製Cコンパイラと同じ実行ファルを生成でき
速度はC製Cコンパイラと一緒。
- 476 :
- snipped (too many anchors)
- 477 :
- >>475
つまりCで書かないとはやくならないのか。
- 478 :
- 最適化トランスコーダを書いてさらにCコンパイラで最適化だ!!!
聞きかじりだが、PyPyみたいになるかもしれんぞ。
- 479 :
- っていうか、LLVMのフロントエンド書くんだ!!
- 480 :
- LLVMはバックのほうが windows でまともにうごくかな!
- 481 :
- twitter.com/shelarcy/status/319102598693138433
GHCのSIMD命令対応
がんばるHaskeller...
- 482 :
- まあ、関数型は並列性抽出しやすいからな。
- 483 :
- >>467
全てではなく呼び出し関係を追いかけて出現した型だけだし、一度確定した型はC++では変化しない
JavaScriptの場合型が変化するどころか型の定義そのものが後から変化してしまうから手に負えない
>>471
「どこで新型が生成されるか事前に判別でき」「ない」
君の大好きチューリングマシンの停止性問題と同じ理屈で、ある条件である部分(ある内容の型生成)が実行されるかは判別できない
結果、実行中に実際生成された型でその都度ネイティブコードを生成するJIT実行か、連想配列を使ったインタプリタに毛が生えたような実装になる
>>475
それはCのコードをコンパイルしただけでJavaScriptコードをコンパイルした事にはならないし、
JavaScript上ではコンパイルで得たバイナリを実行する手段がなくて何の意味もない
- 484 :
- >>478-479
素のJavaScriptで型特定は無理ゲーだし諦めて、もうJScript.net(≠JScript)でよくね?
型ヒントとか色々付けないとコンパイル通らないけど、一応IL吐けるからC++/CLRといい勝負できるかもしれん
もっとゴリゴリやりたい部分はMSILからFunction生成で誤魔化すw
- 485 :
- なんでMS前提なんだよ
- 486 :
- JavaScriptと実用レベルで互換が有ってネイティブコードまでまともに変換できる製品がJScript.netくらいしか思いつかなかったんだ
吐けるバイナリはMSILだけどMSILのJITコンパイルは起動時/インストール時にほとんど終わるからJSのコンパイル基盤って意味では一番まともかと
JScript.netが吐き出すILやそのアセンブリを見たこと無いからなんとも言えんけど、
ILの品質次第ではJavaScriptで書いたコードが等価なC/C++で書いたコードとタメ張るかもしれん
- 487 :
- >>486
たぶんないなw
- 488 :
- まぁ最近の家庭用据置ならちょっとしたアプリやホビープログラムならスクリプトでお手軽に
ってのはありじゃね
商用のフルパッケージでそんな事してたらアホだけど
- 489 :
- いいからファミリーべーしっくやってろw
- 490 :
- >>488
FPSのなかのLuaさん「・・・」
- 491 :
- いまや商用のフルパッケージなゲームでこそ、
DSLとしてスクリプト言語的なものを使うのは普通だね
- 492 :
- 大きなゲームでスクリプト使うのは
・リロードで差し替えられることによるトライ&エラーしやすさ
・ビルド環境不要
という面が大きい。
Lua好きなんだけど、
PCアプリではBlender-Pythonみたいなあまり有名なのが無いのはなぜなんだろう。
- 493 :
- Moai SDKでググれ
- 494 :
- AGK / DarkBASIC / Basic4GL / 99BASIC 2013 Part.1
http://kohada.2ch.sc/test/read.cgi/pcnews/1365242417/l50
世界中でダントツの人気!各BASICの特徴
・ AGK App Game Kit(http://www.appgamekit.com/)
海外で主流のマルチプラットフォームの開発環境。
C言語風味の記述が特徴で、中身はDarkBASIC。
Ver1.088で3Dインターフェイス対応。
・ DarkBASIC(http://darkbasic.thegamecreators.com/)
VisualBASIC以前の旧式マイクロソフトBASICの進化形。
DirectXをサポート、商用アプリ作成可能。
C言語にはない強力な文字列操作、複雑な記述が可能。
・ Basic4GL(http://www.basic4gl.net/)
OpenGLを基幹インターフェイスにしたゲーム用開発言語。
考え方はAGKやDarkBASICに近い。
上記の2つと同じように実行ファイルのメディアパッケージング可能。
・ 99BASIC(http://www.sagami.ne.jp/tadaka/99Basic/)
MSXやPC-8801世代の旧式マイクロソフトBASICに準拠したBASIC。
DirectXはサポートしておらず、簡単な2Dインターフェイスのみ使える。
インタープリター形式で直接実行モードもある
- 495 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ
(表1)ベンチマークテスト結果(数字が小さいほど速い)
MASM32 JavaScript DarkBASIC AGK 99BASIC
---------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec] 0.7828 7.772 20.853 65.423 1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 1.0 9.928 26.638 83.575 1957.0
---------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec]. ----- 36.480 ----- 320.18 -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率. ----- 46.601 ----- 409.01 -----
---------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec] ----- 36.521 ----- (※注) -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 ----- 46.654 ----- (※注) -----
---------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
- 496 :
- そういうアプリ内の処理時間の割合が20%未満のグループに入るものの比較をしてもほとんど意味ないよ。
80%に含まれるものの比較をしなきゃ。
- 497 :
- それと、例えば1秒とかの単位時間あたりの処理回数も考慮しないとね。
1秒あたりたかだか100回程度しか行わないのに、10億回の処理時間を比べても意味ないし。
- 498 :
- ループ速度の測り方は難しいけど
ループが一番処理として多いのは間違いないだろ
批判が適当すぎ
- 499 :
- そもそもBASICと比較してどうすんだ
- 500 :
- つまんね
- 501 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ
(表2)ランキング表
開発環境 タイム[sec] MASM32を1とする相対倍率
------------------------------------------------------------------------------------
PC(CeleronD2.66GHz). MASM32. 0.7828 1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). JavaScript 7.772 9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). DarkBASIC 20.853 26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz JavaScript. 36.48 46.601
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iPhone4S(Cortex-A9)800MHz JavaScript. 36.521 46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). AGK 65.423 83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz AGK. 320.187 409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). 99BASIC . 1532.0 1957.0
------------------------------------------------------------------------------------
- 502 :
- 「開発環境:JavaScipt」から滲み出る頭の悪さ
- 503 :
- >>498
重要なのは、ループ内の処理速度であってループそのものの処理速度ではない。
まあループそのものの処理速度が致命的に遅いのなら問題だが。1回1msかかるとか。
- 504 :
- ループそのものから重ければ推して知るべし
恥かいちゃったね
- 505 :
- >>504
推して知れないからいろんなahootoutのページでは様々な切り口でベンチしてるんだよ。
それと、今回任天堂がやろうとしているドメインの機能やAPIを考慮したベンチじゃないと意味ないね。
- 506 :
- まあただのループ比較したって意味ないよね
LINPACKみたいに演算やデータアクセスのあるのを比較すればいいのに
- 507 :
- 結構バカが吊れたなw
- 508 :
- 今どき釣り宣言とか・・・
- 509 :
- >>507
顔真っ青だぞお前
- 510 :
- 本日のロバ=任天堂w
- 511 :
- わからないとわめくバカw
- 512 :
- つか、masmの10倍くらいしか時間がかからないんだったら問題ないよね
- 513 :
- ねんまつ
- 514 :
- インクリメントと条件分岐だけで10倍って
普通の処理なら10倍どころじゃすまないってことだぞ
- 515 :
- FOR-NEXT10億回ループはJITコンパイラ実装のJavascriptにかなり有利な条件だよね
- 516 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.02 page 1/2
(表1)ベンチマークテスト結果(数字が小さいほど速い)
MASM32 Visual C++ JavaScript DarkBASIC AGK Basic4GL 99BASIC
-------------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec] 0.7828 2.821 7.772 20.853 65.423 285.703 1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 1.0 3.604 9.928 26.638 83.575 364.975 1957.0
-------------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec]. ----- ----- 36.480 ----- 320.18 ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率. ----- ----- 46.601 ----- 409.01 ----- -----
-------------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec] ----- ----- 36.521 ----- (※注) ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 ----- ----- 46.654 ----- (※注) ----- -----
-------------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
- 517 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.02 page 2/E
(表2)ランキング表(数字が小さいほど速い)
開発環境 タイム MASM32を1とする
[sec] 相対倍率
-----------------------------------------------------------------
PC(CeleronD2.66GHz). MASM32. 0.7828 1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Visual C++ 2.821 3.604
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). JavaScript 7.772 9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). DarkBASIC 20.853 26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz JavaScript. 36.48 46.601
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iPhone4S(Cortex-A9)800MHz JavaScript. 36.521 46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). AGK 65.423 83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Basic4GL. 285.703 364.975
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz AGK. 320.187 409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). 99BASIC. 1532.0 1957.0
-----------------------------------------------------------------
- 518 :
- まだやってんのかよもういいから
- 519 :
- >>517-518
この先も続けるつもりならコテつけてやってくれんかね
- 520 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.03 page 1/2
(表1)ベンチマークテスト結果(数字が小さいほど速い)
MASM32 Visual Basic Visual C++ JavaScript DarkBASIC AGK Basic4GL 99BASIC
----------------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec] 0.7828 2.445 2.821 7.772 20.853 65.423 285.703 1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 1.0 3.123 3.604 9.928 26.638 83.575 364.975 1957.0
----------------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec]. ----- ----- ----- 36.480 ----- 320.18 ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率. ----- ----- ----- 46.601 ----- 409.01 ----- -----
----------------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec] ----- ----- ----- 36.521 ----- (※注) ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 ----- ----- ----- 46.654 ----- (※注) ----- -----
----------------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
- 521 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.03 page 2/E
(表2)ランキング表(数字が小さいほど速い)
開発環境 タイム MASM32を1とする
[sec] 相対倍率
PC(CeleronD2.66GHz). MASM32. 0.7828 1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Visual Basic. 2.445 3.123
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Visual C++ 2.821 3.604
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). JavaScript 7.772 9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). DarkBASIC 20.853 26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz JavaScript. 36.48 46.601
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
iPhone4S(Cortex-A9)800MHz JavaScript. 36.521 46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). AGK 65.423 83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Basic4GL. 285.703 364.975
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz AGK. 320.187 409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). 99BASIC. 1532.0 1957.0
- 522 :
- チューリング完全がなんとか言ってた頭のおかしい人か
しょうがねえからワードであぼーんすっかな
- 523 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 1/2
(表1)ベンチマークテスト結果(数字が小さいほど速い)
MASM32 Visual Visual Visual Java Dark AGK Basic4GL 99BASIC
Basic C++ C# Script BASIC
----------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec] 0.7828 2.445 2.821 3.973 7.772 20.853 65.423 285.703 1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 1.0 3.123 3.604 5.076 9.928 26.638 83.575 364.975 1957.0
----------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec]. ----- ----- ----- ----- 36.480 ----- 320.18 ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率. ----- ----- ----- ----- 46.601 ----- 409.01 ----- -----
----------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec] ----- ----- ----- ----- 36.521 ----- (※注) ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 ----- ----- ----- ----- 46.654 ----- (※注) ----- -----
----------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
- 524 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 2/E
(表2)ランキング表(数字が小さいほど速い)
開発環境 タイム MASM32を1とする
[sec] 相対倍率
-----------------------------------------------------------------
PC(CeleronD2.66GHz). MASM32. 0.7828 1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Visual Basic. 2.445 3.123
PC(CeleronD2.66GHz). Visual C++ 2.821 3.604
PC(CeleronD2.66GHz). Visual C# 3.973 5.076
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). JavaScript 7.772 9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). DarkBASIC 20.853 26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz JavaScript. 36.48 46.601
iPhone4S(Cortex-A9)800MHz JavaScript. 36.521 46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). AGK 65.423 83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Basic4GL. 285.703 364.975
Nexus7(Tegra3)1.3GHz AGK. 320.187 409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). 99BASIC. 1532.0 1957.0
-----------------------------------------------------------------
- 525 :
- んじゃな♪(ペロリ♪”
- 526 :
- >>514
いや、傾向としては、そういう速い処理は差がつきやすいけど、IOが
絡んだ処理のように明らかに遅い処理はほとんど差がないってのが
一般的な傾向じゃね?
- 527 :
- どんだけレベル低いんだよ・・・
- 528 :
- >>17
いわっちだったらあり得る
- 529 :
- そらバルーンファイトはそうだろうけどよ
- 530 :
- >>515
っていうか最適化によってはループせず変数に最終値が直接代入されて終わるレベルまで展開されかねない。
JITだと一巡回しきるまでループ結果を展開できないけど、事前コンパイルだとコンパイル時にループ回して結果確定できるからコンパイラ使うほうが強くね?
・・・まぁVCとかが遅く出てるようだから最適化を切った無意味な比較っぽいが。
>>522
実際試してみたら(どのJSエンジンかは知らんけど)JavaScriptの遅さに仰天してアセンブラ信者に転向したんだろうな。
takやtaraiを覚えたら関数型言語に転向しそうだ。
- 531 :
- JSは変数スコープがキモイ
- 532 :
- JSの変数スコープが理解できないやつはわりと頭悪い
- 533 :
- typoしても黙ってるとかタチ悪すぎ
VBAですらOption Explicit必須だというのに
- 534 :
- strictモードにしろよ
- 535 :
- >>532
文ブロックで隠蔽されないとかきもくね?
- 536 :
- >>535
LispとかやってるとJavascriptの方が自然だな
- 537 :
- >>536
Lispが既に異端
- 538 :
- そもそもレキシカルスコープとかLisp由来なので
- 539 :
- ラムダのみが新しい束縛範囲をつくる
letや文ブロックはただの糖衣構文に過ぎず、そういうのは極力少ないほうがいい
- 540 :
- 関数型はやり過ぎ
- 541 :
- >>539は別に関数型言語の話ではない
- 542 :
- >>538
Algolだろう
- 543 :
- >>1
>任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
>そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
>このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
>より手軽にゲーム開発を行う方法が説明されるようだ。
ありえないな…。
どうせフルアセンブラで書いてて後継者がいなくなったってところが正解だろうなw
岩田社長はVIC時代の功績(※)があるとしても、さすがに無理があるだろうな。
- - - - - - - -
(※)VIC時代の功績
HAL研究所在籍時にナムコのゲームを当時のゲームパソコンVIC-1001に無断移植して海外で大ヒットした
コトを指す。
これによってVIC-1001を製造販売していたコモドール(カナダ)は一時的に世界シェアNo.1を獲得する。
- 544 :
- きょうびフルアセンブラで開発してるとこなんてないっつーの
- 545 :
- んじゃ証拠並べろw
- 546 :
- >>545
1mb位でさえフルアセンブルしてみれば、どれだけ大変かわかるぞ。
んで、このスレにも書かれてたと思うけど、Web屋を取り込みたいんだろう。
あと、コンパイラを真面目に作れば、C++の2倍程度で済むらしいから、
表現力の向上を考えればトレードオフできるレベルじゃないか?
それに、頑張ってCTFEでも実装すればもっと縮まるし。
- 547 :
- >>546
…「 JavaScriptコンパイラ 」 か?w
” 緩いJava ” みたいになってますます混乱するだろうな(笑)
フツーに中間言語(CLR/MSIL)にしか翻訳しないコンパイラならBASICコンパイラの方がいいだろうな。
既存のOSとかAPIとかのパラメーターの引き渡し方法(スタック渡しとか)をどうやって実現するかは別
にしてな。
ハードウェアを直接操作するってのは時代に沿わないけど、これとは逆行してAndroidとかAppleとか、
ファイルシステムも直接操作させないように企図してる。
任天堂みたいなゲーム機メーカーごときが口を挟むべきじゃあないな。
ゲーム機メーカーは独裁的で人から嫌われるモノ作りで、自由なパソコンの世界とは対極にある。
- 548 :
- CLR…共通言語ランタイム
CLI…共通言語基盤
CIL…共通中間言語
- 549 :
- >>547
JavaとJavascriptの区別がついてないの?
JSのオブジェクトはほとんど参照渡し。なのでポインタに変換可能。
APIはさすがにC++で実装するだろうけど、ASMが必要なくらいローレベルな用途は全部APIでカバーしないとダメなレベル。
あんたシステムプログラムやったことないだろう。
何とかごときとかそういう発想がすでに不味いわ。ほんと。
WiiUのOSはどこが開発してるんだよ。まったく。
- 550 :
- プログラミングで一番大切なのはコンパイラもそうだけど、もっと大事なのはデバッガ。
俺はVCのデバッガに育てられたからな。
- 551 :
- >>536
function test(arg) {
if(arg) {
var foo = hogehoge...;
} else {
var foo = fugafuga...;
}
}
これでelse節のfooが2重定義エラーなのがキモイ
Lispだってここまでへんちくりんじゃねぇ(DynamicScopeはもっと変だけどな)
- 552 :
- >>551
なんか経験不足ってのが…w”
- 553 :
- >>549
>あんたシステムプログラムやったことないだろう。
あんまり感情的になる人はプログラマーには向いてないよw
- 554 :
- 任天堂ごときが開発環境を語るってな感じかw
- 555 :
- >>551
二重定義エラーにならんだろ?
- 556 :
- 俺様 「 今後任天堂ごときは捨ててJavaScriptで開発していく 」
- 557 :
- JavaScript(wwwwww
PHPみたいなエレガントな言語触ったらこんな低機能な物は触れないよ(w
- 558 :
- wwwwwwwwwwwww
- 559 :
- いいぞいいぞ♪(ゲラ
- 560 :
- 任天堂はソース漏れのリスクを抱えながら開発していくんだろうなw
- 561 :
- またしょーもないのに目をつけられたな
- 562 :
- 悔しいのうw
- 563 :
- Webkitはオワコンになったのに大丈夫なのか?
- 564 :
- Webなんてオレオレフレームワークだらけでまともに付き合っちゃだめ
- 565 :
- >>563
必要ならWebkitからBlinkに切り替えるだけ
- 566 :
- >>543
「任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており」をどう読んだら「どうせフルアセンブラで書いてて」になるんだ?
部分的にアセンブラ使っててもフルアセンブラは今時ねぇよ。実行頻度の低い部分はC/C++なんかの言語で書いたほうが生産性もバグの発生率も低い。
>>546
JavaScriptで表現力向上って何の冗談だ・・・開発コストの低下とかならともかく。
D言語のCTFEって只の最適化の補助構文に過ぎなくねぇか?
>>547
今時の中間言語は実行時にJITコンパイルする。バイトコードをチマチマ呼んでインタプリトとかはしない。
そしてこのJITは場合によっては実行状況に合わせて動的に最適化することで事前コンパイルより高い効率を出す可能性すら有る。
一方昔のBASICコンパイラみたいな奴はBASICの命令を命令に相当するサブルーチン呼び出しに置換するだけで、
バイトコードインタプリトよりマシだがJITコンパイルとは比べてはいけないレベルで効率が悪いコードしか吐けない。
それと、ハードウェア直接操作云々はこのへんの話に全く関係ない。
WebGL見れば分かる通り、JavaScriptでGPUのプログラマブルシェーダを直接ぶっ叩くことすらとっくに可能となっている。
AndroidもiOSもプログラマブルシェーダ自体は(保護された環境下で)直接ぶっ叩けるんじゃなかったかな。
最近のハード直接云々の話は仮想化云々の話題に近くて、「保護すべき領域を保護しながらハードウェアの機能をお上品に直接叩く」方向にある
>>549
ポインタが示す先の型をどこに保持するかって問題を忘れている。Cではコンパイラが型を特定し、型に対応したコードを生成する。
C++のRTTIでは、コンパイル時に特定できない型はオブジェクト側に型情報をもたせ、それを実行時にロス覚悟で参照して想定されている型ごとのコードに分岐する。
JavaScriptでは、多くの型がコンパイル時に特定できない上に、想定されうる型が無数にあるため型ごとのコード生成が非常に困難になる。
コンパイル時に強力な解析を行えば型特定もある程度できるが、言語がそれをサポートしていない以上限界がある。
- 567 :
- >>566
…アセンブラができないクセに偉そうに語るところが面白いよなw
おまえの書いてる中身は教科書の中身にすら劣るってのが相場だよ。
- 568 :
- おまえのレスは本当にからっぽだな
- 569 :
- ファミ必死w
- 570 :
- アセンブラができるやつが今時ゲーム開発でフルアセンブラなんて発想するのか
こえーな
- 571 :
- 春厨かよ
- 572 :
- >>567
勘違いしていい気になってる所悪いが、このスレで俺があんたにレスしたのは566の一回だけだ
アセンブラはx86とAVR、あとMIPS系を齧る程度には使ってるが・・・
・・・そもそも俺のレスはx86アセンブリがちょっとわかればわかる程度のことしか書いてないぞ?
どれだけ補助機能を利用して効率化してもアセンブラは記述効率が非常に低いってのはアセンブラを触ればアホでもわかるし
デバッガでアタッチしてみれば、BASICなんかでよくあるスレッデッドコードがアホみたいなCALL連打になるも一目瞭然だし
MSILバイナリが実際には普通のC/C++から生成したのと大差ないx86命令に変換されて実行されてるのもすぐに分かる
教科書に勝ること書いてるなんて思ってもいないが、「中間言語(CLR/MSIL)にしか翻訳しないコンパイラならBASICコンパイラの方がいい」なんて、
「BASICをネイティブコードに変換できるコンパイラが存在します」「中間コードは中間コードインタプリタで実行されます」
「インタプリタは遅いです」なんて十年以上前の教科書レベルの知識をMSILに適用したかのような事をまじめに書くよりは遥かにマシだわ
- 573 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 1/2
(表1)ベンチマークテスト結果(数字が小さいほど速い)
MASM32 Visual Visual Visual Java Dark AGK Basic4GL 99BASIC
Basic C++ C# Script BASIC
----------------------------------------------------------------------------------------------------
PC(CeleronD2.66GHz)[sec] 0.7828 2.445 2.821 3.973 7.772 20.853 65.423 285.703 1532.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 1.0 3.123 3.604 5.076 9.928 26.638 83.575 364.975 1957.0
----------------------------------------------------------------------------------------------------
Nexus7(Tegra3)1.3GHz[sec]. ----- ----- ----- ----- 36.480 ----- 320.18 ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率. ----- ----- ----- ----- 46.601 ----- 409.01 ----- -----
----------------------------------------------------------------------------------------------------
iPhone4S(Cortex-A9)800MHz[sec] ----- ----- ----- ----- 36.521 ----- (※注) ----- -----
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MASM32を1とする相対倍率 ----- ----- ----- ----- 46.654 ----- (※注) ----- -----
----------------------------------------------------------------------------------------------------
(※注)iPhone版AGKターゲットエミュレーターはビデオストリームのため除外。
- 574 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ ver1.04 page 2/E
(表2)ランキング表(数字が小さいほど速い)
開発環境 タイム MASM32を1とする
[sec] 相対倍率
-----------------------------------------------------------------
PC(CeleronD2.66GHz). MASM32. 0.7828 1.0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Visual Basic. 2.445 3.123
PC(CeleronD2.66GHz). Visual C++ 2.821 3.604
PC(CeleronD2.66GHz). Visual C# 3.973 5.076
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). JavaScript 7.772 9.928
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). DarkBASIC 20.853 26.638
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nexus7(Tegra3)1.3GHz JavaScript. 36.48 46.601
iPhone4S(Cortex-A9)800MHz JavaScript. 36.521 46.654
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). AGK 65.423 83.575
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). Basic4GL. 285.703 364.975
Nexus7(Tegra3)1.3GHz AGK. 320.187 409.01
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PC(CeleronD2.66GHz). 99BASIC. 1532.0 1957.0
-----------------------------------------------------------------
- 575 :
- >>572
ムダ♪(アハ♪”
- 576 :
- >>573
あああの可哀想な人か・・・ちゃんとコテつけたんだな。エライエライ。でもコテつけるときは今まで何書いてた奴か分かるようにコテ宣言しようね
- 577 :
- [誤算] Nexus7馬鹿売れでSurface脂肪、思わぬ戦術ミス
http://kohada.2ch.sc/test/read.cgi/pcnews/1351751485/l50
コンソール研究所は1日、台湾ASUSの販売している新型タブレット ” Nexus7 ” が馬鹿売れ状態で
あるコトを把握し、事実上のMS日本市場の戦略失敗を認めた。
Nexus7はタブレットPCでは珍しい4コアCPU(1.3GHz)を搭載し、7インチで1280×800ピクセルの高
画質を実現、従来の性能の貧弱なノートPCより 「 快適な操作感 」 が体験できると言う。
これに伴いWi-Fiポイント機器(無線LAN親機)が飛ぶように売れ、自宅有線LAN回線の有効活用策
も図られてパケット料金の節約にも貢献していると言う。
Nexus7はWi-Fi接続の知識があれば、これほど 『 お買い得感のある製品はない 』 と言う。
価格は16GBモデルが2万円、32GBモデルが2万5千円。
「 Androidはダメだ 」 と思うおまえら、お試し価格で買えるから騙されたと思って買うといい。
- 578 :
- [速報] プログラミング言語No.1は ” DarkBASIC ”
コンソール研究所は8日、英国The Game Creatorsの販売しているミドルウェア、” DarkBASIC Professional ”
が世界で最も使われているゲーム開発環境であると発表した。
DarkBASIC ProfessionalはDirectX9.0以上の要件を満たすWindowsPCで動作し、簡素な記述で分かりやすいと
言う特徴を備えている。
ゲーム開発の歴史はスペースインベーダー(1978)からグラディウス(1985)までがアセンブラ、それ以降はC言
語で開発され、おおむね2003年までC言語主流は続いてきたが、PC性能の飛躍により高級言語の開発でも
充分なスピードを出せると判断され、この体制は崩壊した。
海外では生産効率の観点から 「 BASIC復権 」 が提唱され、VisualBASICの文法を取り入れた独自規格の
BASICによる開発が台頭しつつある。
また、マイクロソフト米国本社はVisualBASICの普及を目指してライトバージョンのSmallBASICを無償で配布。
これらはいずれもWindowsAPIやDirectXの記述を別個に行う必要があり、普及する確率は低い。
DarkBASIC Professionalはそういった面倒な記述を排除してより簡単な記述で開発できると言うメリットがある。
日本では 『 99BASIC 』 と言う旧式のマイクロソフトBASICに準拠した開発環境があるが、DirectXをサポートし
ていないなど、若干の問題を抱えているが、往年の日曜プログラマーには10年以上好評である。
” BASIC開発競争 ” に乗り遅れないためには、どのBASICを選ぶかで岐路が分かれる。
賢明な判断が要求される。
DarkBASIC Professional http://www.thegamecreators.com/?m=view_product&id=2000
99BASIC http://www.sagami.ne.jp/tadaka/99Basic/
Small Basic http://smallbasic.com/
- 579 :
- どうせならLispでいいきがするんだが
- 580 :
- どーせ、アマチュアが作るのってモンスターボールでオッパイ集めるゲームだろ
- 581 :
- そんなゲーム、知ってるのも、やってるのもお前ぐらいだろw
- 582 :
- 【社会】 「ら抜き言葉を使う人は、知的レベル低い。採用しない」「ら抜きの方が、可能か受け身かすぐ判るのに」…面接の現場で★4
http://uni.2ch.sc/test/read.cgi/newsplus/1365717932/l50
・「R25」の調べによると、面接経験豊富な30〜40代の上司世代がイラつく「若者言葉」で最も多かったのは「見れた」
「食べれた」などの「ら抜き言葉」だったそうだ。「ものすごく幼稚な印象を受ける」「いちいち気になって、話の内容が
頭に入ってこない」など、かなり厳しい意見も出ているが、果たしてそんなにいけないことなのか。
社会人2年目の女性Aさんは、あるメーカーの面接で「ら抜き言葉」を注意されたことを、いまだに強く根に持っている。
学生時代にトヨタの本を読み、海外旅行で「3現主義」の重要性を感じたという話をしたときのことだ。
彼女は仕事への意気込みについて、「もし入社できたら、海外の生産現場に行かせていただきたい。そうしたら現場を回って、
見れるものは何でも見てきたいと思います!」と伝えたそうだ。すると面接担当者から、こう冷ややかに返されたという。
「君さ、それを言うなら“見られるものは”だよね。海外の前に日本語勉強したら?」
(以下省略)
http://news.livedoor.com/article/detail/7581420/
一方で、「ら抜き言葉」は人材をフィルタリングする上で、それなりに役に立つという考えを持つ人もいる。あるITベンチャー
企業の人事担当者は、言葉遣いから「学生時代にどの程度の知的レベルの集団にいたか」を推測する材料にしているという。
「他人と会話をしていれば、普通は『ら抜き言葉』に違和感を抱いて修正できるはず。それができていないということは、
その程度のレベルの集団に属していたという判断をしてしまいます。コミュニケーション能力にも関わりますし、ハイレベルな
プログラマーを除けば採用に当たって考慮に入れざるを得ません」
学歴だけでなく、日常的に知的水準の高い集団に属している人は意欲も高く、自分の頭でものごとを考える習慣が
あるという。言葉遣いひとつでそこまで見透かされることを考えると、やはり油断はできないのかもしれない。(以上)
- - - - - - - - - - -
見れたぁー? 作れたぁー? アハアハ〜♪”
- 583 :
- 「ら抜き」が知的レベルが低いという
客観的なデータが有るかどうかで
面接官の知的レベルを判断します。
- 584 :
- ゴミアラフォーはこういうところで切れるんだなw
プッツン世代か…
- 585 :
- こういうマヌケな記事書く記者を集めたWebアプリとかないかな?
一昔前の2chなら、あっても良いはずなんだけど
- 586 :
- C言語と共にゴミアラフォーを葬る喜び…w”
- 587 :
- 人事は別として、シニアエンジニアは大切にしなきゃならない存在。
- 588 :
- >>587
早く切れ♪”
つーか、プログラム書けないプログラマーはいらないぞw
- 589 :
- ITベンチャーを起こそうとか、ITベンチャーの人事だとか、そもそも知的水準が知れていて、
まともな神経じゃ企業しようだとか、そんな場所で働こうとか思わない。
- 590 :
- >>543
>どうせフルアセンブラで書いてて後継者がいなくなったってところが正解だろうなw
どんな妄想を抱いたらフルアセンブラなんて言葉でてきたの?
- 591 :
- >>589
つーか、職業プログラマーは偏差値低いヤツが多いよ。
いわゆるコンピューターサイエンスとは別物だから勘違いしないようになw
- 592 :
- >>590
必死だなオイw
- 593 :
- >>591
そもそも職人に偏差値ほど役に立たないものでしょ
薩摩切子の職人になるのに偏差値70が必要だったら、もっと沢山の後継者を獲得できたと思うけど
というか、ゲームプログラマなんて頭良くないと不可能
- 594 :
- >>593
特にゲームプログラマーは頭悪いよw
ちょっと考えてみるといい。
- 595 :
- 仕事はどうした?糞ニートw
- 596 :
- ゲームプログラマって、大体、高校のうちに独学でアフィン変換や探索木あたりを学んでるイメージ
- 597 :
- ほらねw
- 598 :
- では、もうちょっと考えてみよう。
「 ら抜き 」 の ” 何がいけない ” のかと言う部分を考えれば相手の思うツボ。
まず相手の言葉を遮断して、自分の有利な展開に持ち込むのが保守カッペの常套手段である。
基本的に彼らはアーミッシュ(高度な都市文明を拒否する者)で、そういう輩は都市生活には向いていない。
- 599 :
- >>595
もう少しましな横レスないの?
- 600 :
- 都会で働いた連中が30半ばで田舎に帰れると思うなよw
- 601 :
- >>600
いや、いらないから返すよw
あんまり融通利かないと都市生活には向かないよ。
- 602 :
- 都会なんて言ってるけど、海外からみて東京はかなり先進的でキチガイの塊だから
- 603 :
- >>602
京都みたいな蒸し風呂が大好きなおまえは頭がアレだよw
- 604 :
- 何だかよく分からないけど、ぶぶ漬けでも食べて行け
- 605 :
- こいつ全然プログラムの話できないよな
やっぱりバカなんだな
- 606 :
- >>604
鮭茶漬けのほうが好き。
- 607 :
- 京都って湯豆腐4000円するらしいな…
- 608 :
- ぶぶ漬けって都市伝説らしいな。
- 609 :
- >>608
ぶぶ漬けは一昔前なんじゃなかったっけ?
有名になっちゃうと意味がないんだろうな
- 610 :
- はい逃げたw
- 611 :
- 誰と話してんだ?
- 612 :
- 【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動 page 1/3
コンソール研究所は13日、C言語やJavaを使う学生を採用しない方針を固めた。
これは昨今のソフトウェア開発現場において社内研修期間を嫌う企業や官公庁の意向を取り入れたもので、
「 卒業=即戦力 」 が求められる新時代への突入を明確にしたものである。
たいていの面接官は ” 学生時代にどんな部活に所属していましたか? ” などと聞くが、それは時代遅れと
なったようだ。
また、C言語やJavaのスキルを問うものに対しても、「 実務経験がなければ意味がない 」 と言う現場の声も
反映した。
コンソール研究所の開発現場から一人の声を拾ってみた。
「 学生さんは何か勘違いをされていらっしゃる方が多く、入社=会社の歯車として安定的なルーチンワーク
だけですごされる方が多い。
たしかに平常心を保ち、自己管理のできる人材は必要ですが、会社の歯車と言う意識は捨てていただき
たい。これは過去の悪い歴史の1つで、アルコール中毒と並びます。
アフター5に夜の盛り場に繰り出す様子を見ていると、まるで業務時間は休憩をとっているようにしか思え
ない。アルコール中毒がもたらした企業病とも言えます。 」
このように、開発現場は ” いつもの慣習だけではアルコール中毒に至ると言う経験 ” を声に出しています。
一方で、このような人材が欲しいと言う開発現場の声も…
『 面接の時にはやる気があるように見えて、” どんな経験があるのか? ” と聞きましたら、学生さんは
「 99BASICで遊んでて適当にゲームを作ってみた 」 と答えてきました。
- 613 :
- 【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動 page 2/3
さて、99BASICと言うのがどんなものか私どもには存じないもので、学生さんに伺ってみました。
” 最近の若い方は新しいものを取り入れていらっしゃるので…私どもの方でも分かりかねますので、
99BASICで作ったゲームをお見せいただけませんか? ”
こう聞きますと学生さんは喜んでフラッシュメモリを差し出してきて、「 どうぞ、これを見てください、ソースリ
スト付きです 」 と私どもに差し出していただきました。
海外ではBASICが主流の開発言語と言われていますが…まさにこれを実感する瞬間でしたね。
私は喜んで学生さんに採用の旨をメールでお伝えしました。 』
コンソール研究所は口先よりも実力を重視するので…開発現場の人たちも、プログラミング環境よりも実力
を重視する風潮が高まっているとのコト。
特に、作ったソフトをソースリスト付きで説明できる人材となれば、これは即採用と言うから見逃せない。
ではどのぐらいのプログラムを作れれば採用の基準になるのか、開発現場の方に聞いてみた。
「 プログラマーとして卒業=即戦力と言われる基準には、BASICで5,000行、アセンブラで1万ステップと言う
伝統があります。
これぐらいの規模のプログラムを1人で作れるようになるのが理想であり、即採用の基準としています。
この規模のプログラムを作れる人であれば、その間のノウハウもあると言うコトで、採用しやすいと思って
います。 」
なるほど、開発現場は ” BASICで5,000行 ” と言う数字を出してきた。
日頃からプログラミングを怠って 『 先輩のコピー 』 をしている学生さんには向いていないと言うコトだ。
- 614 :
- 【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動 page 3/E
次にプログラミング言語のトレンドを首席研究員に聞いてみた。
『 ソフトウェア業界では伝統的に開発環境のロイヤリティーのカットが重視されていますが、これは日本に限
らず海外でも同じです。
表向きにはWindowsが99%のシェアを獲得していても内部ではLinuxで開発しているコトは当たり前で、マイ
クロソフトが提供しているVisual Studioシリーズはほとんど使われていません。
なぜなら、ロイヤリティー(使用料金)を払う必要があるからです。
また、C言語やJavaはベースライブラリの透明性の確保が非常に難しく、予期しないバグ(不具合)が発生
しやすい要因として挙げられます。
これを避けるために私どもでは主に海外で使われているAGKやDarkBASICを使っています。
AGKやDarkBASICはJavaScriptよりも動作が遅いと言う欠点がありますが、DirectXやOpenGLを通す部分
では変化がないため、体感的な速度に差異はありません。
過去には99BASICも使っていましたが、内部動作にバグが多く、開発現場から刷新を求める声が挙がった
きたため、99BASICは廃止しています。
近年ではWeb上開発の一環としてJavaScriptを推す声も上がっていますが、ソースリストの保守管理に重大
な問題があるため、私どもではJavaScriptでの開発は致しておりません。 』
首席研究員ともなると、一般には知られていないの話をするから面白い。
本当にプログラマーでやっていきたいと言う学生さんにはどう見えただろうか。
夢と希望がいっぱいの未来。
- 615 :
- コピペマン参上!まで読んだ
- 616 :
- 【IT】 「C言語やJavaを使う人は採用しない」「AGKやDarkBASICの方が生産効率が高い」就職活動
http://kohada.2ch.sc/test/read.cgi/pcnews/1365242417/139-141
コンソール研究所は13日、C言語やJavaを使う学生を採用しない方針を固めた。
これは昨今のソフトウェア開発現場において社内研修期間を嫌う企業や官公庁の意向を取り入れたもので、
「 卒業=即戦力 」 が求められる新時代への突入を明確にしたものである。
たいていの面接官は ” 学生時代にどんな部活に所属していましたか? ” などと聞くが、それは時代遅れと
なったようだ。
また、C言語やJavaのスキルを問うものに対しても、「 実務経験がなければ意味がない 」 と言う現場の声も
反映した。
コンソール研究所の開発現場から一人の声を拾ってみた。
(以下ソース参照)
- 617 :
- NGにしてんだからちゃんとトリップつけろ。
- 618 :
- 即戦力のプログラマが欲しい企業=ブラック
プログラムってのは奴隷にやらせる仕事であって、社員がやることじゃないんだよ
- 619 :
- 奴隷ってのは、googleだとかM$だとかで技術者をやれないか、
自分で取引先をみつけてやりくりできない層のこと
かく言う私も奴隷だけど
- 620 :
- 単なる分業なのに何を言ってるんだ
- 621 :
- 単なる分業の一言で済ませられるなら、なんでおまえの会社は栄えてないの?
馬鹿なの死ぬの?
- 622 :
- 意味が分からん。バカなの?
- 623 :
- 単なる分業じゃ技術ノウハウが蓄積されないんだよ
ここまで言わないと分からないの?バカだろ、Rよ
- 624 :
- 分業だと技術ノウハウが蓄積されないとする理由は何だよ
おまえは他人とコミュニケーションもしないし文書も書かないの?
言われたことしかできないバカなの?
- 625 :
- ただドキュメントを書くだけじゃ、単なる分業とかわらなくて技術ノウハウが蓄積されてないって言ってるの。Rよバカ
- 626 :
- なんだコーダの愚痴かよ
- 627 :
- IT系のマネジメントしかできない人って、会社が潰れたらどうするんだろう。
- 628 :
- 別の会社に行くだけじゃないの
- 629 :
- マネジメントって会社的にはイラナイから
ピラミッド構造を考えたら、マネジメント層がいかにパイが少ないかぐらい分かるよね?
- 630 :
- 個人が独立すればたいていの問題は片付く。
独裁も消えてなくなる。
- 631 :
- >>629
底辺からそう見えるだけで、実際にいらないのは底辺層のPG。
代わりなどいくらもいるしな、世界的に見れば。
- 632 :
- >>631
じゃあ、PGのコストを削減してSEがPGを兼任すればいいんだね。
頭いいw
- 633 :
- >>631
底辺層のPGの具体的なスキルレベルを詳しく。
- 634 :
- はぁ?
- 635 :
- …任天堂の行き着く先はコスト削減w
コスト削減が行われるとすれば、まずは下請けに圧力をかけて自分の首は絞めないと言う算段になる。
次に下請けでは過剰なサービス残業が行われるようになり、任天堂の下請けを辞退する可能性を示唆。
結局のところは事業縮小と言う最悪のシナリオになるのは分かっている。
問題はここだ。
しかし以前にはこういうコトも書いていた。
- 636 :
- アマチュア開発者をサポートする計画はない―米国任天堂社長 | インサイド 2011年3月20日(日) 10時42分
http://www.inside-games.jp/article/2011/03/20/48000.html
任天堂オブアメリカのReggie Fils-Aime社長兼COOは、任天堂のアマチュアゲーム開発者に対するスタンスを
述べています。
アップルのApp StoreやグーグルのAndroid Marketはもちろんのこと、ソニーのPlayStation Camp、そしてマイ
クロソフトのXNAなどでは在野のアマチュア開発者が表舞台に立つことを支援し、その力がプラットフォームを
普及させていますが、任天堂は現時点でそのような考えは持っていないようです。
「私は独立系デベロッパーと趣味の開発者を分けて考えたいと思っています。任天堂には独立系デベロッパー
と強固な結びつきがあります」
「この線を引く場所は、私たちがガレージデベロッパーと今日、ビジネスを考えていないということです。私たち
の考えでは、いまビジネスを伸ばすポイントではないということです」
ただし一方で、音楽シーンを引き合いに出し、環境が整備されることを望んでいるような言葉も残しています。
「音楽業界を見れば、本業の合間に情熱を持ってバンドや歌の活動をする才能が沢山います。そしてテレビ番
組などで優れた人材を野から発掘する仕組みもあります。ゲームでもそうしたことが出来れば本当に素晴らし
いことです」
岩田聡社長のGDCの講演とは矛盾するような気もしますが、この分野は以前から任天堂にとって弱い部分です。
どのような取り組みがなされるのか今後も注目されます。
- 637 :
- 俺が不思議に思うのは、何よりもソースの漏洩を恐れるゲームメーカーが、” JavaScriptを使う ” なんてコトを
平気で口走るところだ。
実際にはできないのだから書かない方が現実的だろうな。
仮にJavaScriptでソースの隠蔽が可能になったら、たぶん世界中のPCユーザーのブラウザからJavaScriptは
『 OFF 』 に設定され、永久に使われなくなるだろう。
始めから矛盾していると言うコトだ。
- 638 :
- シロウトのお遊びにコードが流出して誰が困るんだよ
既に企業のプロダクトに追いつけないだろ
- 639 :
- いや、たまたまオーストラリに居るんだよ
- 640 :
- だから言語という概念を捨てろと
- 641 :
- はい
- 642 :
- はいじゃないが
- 643 :
- 十六文キック
- 644 :
- いくらですか?
十六文ですか?
- 645 :
- 捨てるなんて書いてねーだろ>>1
- 646 :
- その後まったく話を聞かないんだがどうなったんだよ、これ(´・ω・`)
つかHTML5にコミットするの、完全に死亡フラグになってないかね。あの国の法則レベルで。
独力で魅力的な開発環境を用意できないとか、
専用のアプリを作ってもらえないとか、
リソース潤沢な高度なゲームを作れないとか、
ガラケーと同じやり方で仕事続けたいとか、
C++やObjective-Cでガチ開発する技術力がないとか、
HTML5の人気にコバンザメする以外に売り出す方法がないとか、
そうした負け組連中がしがみつくプラットフォーム。
自分らは先進的かつ正しいことをしている、イノベーション(笑)を起こしているつもりになっているけど
実のところ低レベルなところでグルグル回ってるだけ。
一般ユーザーはそんな事情をまったく斟酌してくれないから(そもそもHTML5の名すら知らない)
単にしょぼいアプリを作ってるとしか思われず死屍累々。
>>23
> ビックリするかもしれないけどいまやJavaScriptのコードは平均してJAVA並の速度なんだよね
すげー!すげービックリしたわ。何がJava並みだって?
Box2d Revisited
http://j15r.com/blog/2013/04/25/Box2d_Revisited
http://j15r.com/blog/2013/04/25/graph0.png
何がJava並みだって?
・・・・・何がJava並みだって?ああん?ええ?(´・ω・`)
- 647 :
- 腐ってもランタイムコンパイラ実装してるJavaにJavaScriptで
同等の速度なんか出っこない。
- 648 :
- >JAVA並の速度
これは遅いと言いたいのではないか
- 649 :
- >>646
その画像でJava1.7よりCに近い値を出してるasm.jsって一応JavaScriptじゃね?
普通に言うJavaScriptとは少し違うが、JavaScript環境でも動作可能かつ、
アクセラレーションが可能な実行環境ではかなりの高速実行が可能…なのがウリだったよな確か。
手でasm.js仕様のJavaScript書いての比較ならJavaScriptと呼んでも良いだろうし、
EmscriptenとかでC/C++からasm.js仕様のJavaScript生成したものも一応JavaScriptと呼べないこともない。
「いまやJavaScriptのコードは平均してJAVA並」ってのはただの妄言だが、
「コードと実行環境が適切であればJavaScriptの実行環境でJava並の性能を叩き出せる」
とは言っても良いんじゃないか、そのグラフ的には
- 650 :
- >>647
JITはJavaScriptでも実装されてるし、中間コードの事前生成と型の決定機能に着目しないと。
中間コード事前生成はローディング時間が変わる程度だからそれ用のベンチでないと性能は比較できない上に
中間コードから実行可能状態に入るまでのコスト考えると劇的な利点には成り得ないと思う。
型の決定は致命的にJavaScriptが不利だが、実行時型決定をある程度諦めてしまい、
別言語からのトランスレートなり手作業なりで型情報を補って速度を稼ぐのが最近のJSトレンド。
これらの拡張を全面的に利用した時JavaScriptに速度面で圧倒的な構造的欠陥があるかというと…ね。
(JavaScriptの利便性も損なわれることはこの際無視で)
- 651 :
- 任天堂の気持ちは分かる
- 652 :
- ×C++は捨てる
○ニコニコ動画みたいにアマチュアを囲い込みたい
- 653 :
- 任天堂「今後C++は捨てJavaScriptで開発していく」
↓
こんなん出来ました
http://www.nintendo.co.jp/software_lineup/software/wii_party_u/img/m8_s.jpg
- 654 :
- emscriptenによってjavascript書かずにウェブアプリかけるようになったのはうれしい
でも変換するのならJavaベースのほうがよかったな。
なんか昔グーグルが作ってた気もするが。
- 655 :
- >>654
emscriptenはasm.js仕様を活用してGCからも脱却しようって所なのにJavaはどーかと。
でもま、LLVMを経由しての変換だからJavaをLLVMコードに変換してやれば流用できるんじゃね?
- 656 :
- 馬鹿
- 657 :
- >>654
Googleまだ開発続けてるよ
- 658 :
- はっきり言えるのは道具が変わったところで頭もスイッチされるわけではないってこと
- 659 :
- 世界中に開発ソフトを無償配布 任天堂、WiiU販売不振で危機感あらわ
http://sankei.jp.msn.com/west/west_economy/news/130715/wec13071507020000-n1.htm
http://sankei.jp.msn.com/images/news/130715/wec13071507020000-p1.jpg
任天堂が、家庭用ゲーム機「WiiU(ウィー・ユー)」向けのゲームを
開発するソフト(開発ツール)の無償配布を国内外で始めた。
ゲームの開発ツールは、これまで事前登録したソフト会社のみに配布されており有償だったが、
個人でも登録すれば無償で利用できる仕組みを導入した。
任天堂は今春からWiiU用の新たな開発ツールを導入。
うち、プログラミング言語の「HTML5」や「ジャバスクリプト」など
比較的簡易な言語を使ってゲームが開発できるソフトの無償供与を始めた。
- 660 :
- ジャバスクリプトがじわじわくる
- 661 :
- 有償だったのが無償になったみたいな紛らわしい書き方しやがって
- 662 :
- なぜ全角なんだろう
- 663 :
- なぜ縦書じゃないんだろう
- 664 :
- カタカナで書くとここまで面白くなる言葉がかつてあっただろうか
- 665 :
- JAVAスクリプトとか書くよりはマシ
- 666 :
- そうか?
Javaもスクリプトも普通に流通している言葉だが、ジャバは無いだろう?
- 667 :
- JavaScriptで一つの固有名なんだから一部分だけカナ読みするとかありえんだろ
まだ全部をカナ読みしたジャバスクリプトのほうがマシだよ
- 668 :
- Java と JavaScript の区別が付いてないアホなんだろ
- 669 :
- シープラスプラス
- 670 :
- スレタイのせいか素人のお客さんが来てるんだろ
- 671 :
- ジャワスクリプトかな
- 672 :
- ジャバティーストレート
- 673 :
- 【第4136877号】
【商標(検索用)】 JAVASCRIPT
【称呼(参考情報)】 ジャバスクリプト,ジャワスクリプト,ジャバ,ジャワ
【権利者】
【氏名又は名称】 オラクル アメリカ,インコーポレーテッド
称呼検索(詳細画面)|特許電子図書館(IPDL)
http://www1.ipdl.inpit.go.jp/syouko/TM_DETAIL_B.cgi?0&7&1&1&50&137493888159972205238984
- 674 :
- >>658
そこが一番難しいところだろうな・・・
- 675 :
- http://www.gamecity.ne.jp/doa5/ultimate/ DOA5U公式サイト ウイルス 高額請求 ワンクリ
板垣伴信 SCE 解雇 痴漢 R 知的障害者 セクハラ パワハラ 訴訟
板垣伴信 ヴァルハラ 詐欺 暴力団 在日 右翼団体 テクモ ナムコ恐喝
松井宏明 身体障害者 虐待 無能 不潔 イジメ 武闘派 ポルノ映画監督 ナムコ恐喝
松井宏明 バブルス チンパンジー チビ 前科 横領 少林寺拳法 創価学会 コーエー
- 676 :
- ゲーム業界のプログラマは研究者肌の奴が多いから、
コードを書くなと言われるとガッカリする奴は多いだろうね。
というかマネージメント業務に回されてコードがあまり書けなくなったという愚痴を聞くことが最近多くなったなw
- 677 :
- C,C++を使ってた人達が結構流出してそうな感じがするな
任天堂の開発力が落ちてるんじゃない?
- 678 :
- >>676
システムとか帳票モドキより、ずっと高度なものつくってるでしょ
- 679 :
- HTML5のゲームすげえな。圧倒的なポテンシャルを感じる
GAIABREAKER(ガイアブレイカー) 1〜5面 - ニコニコ動画:GINZA
http://www.nicovideo.jp/watch/sm22555440
- 680 :
- enchant.jsとUEI界隈意図的に無視してると言ってたゲームプログラマがいたが
理由がよく解った
- 681 :
- しょうもない論争すんなよ。
- 682 :
- ベンチマークテストをしてみよう。
以下のリンクにHTMLファイルが入っているのでダウンロード、クリック。
http://www.filedropper.com/test_13
プログラム内容(test.html)
<script>
var t=Date.now();
var j=0;
for(j=0; j<1000000000; j++){}
document.write( (Date.now()-t)/1000.0 );
</script>
参考(Core i7-4770K 3.5GHz) JavaScript - 1.506秒
ユーザーは、実行した構成とfpsを書き込んでくれるとOK。
PS3、XB360の方もよろしく。
- 683 :
- もうちょっとマシなベンチマーク書けなかったのか?
- 684 :
- 不満があるのなら自分で書けばいいと思うよ。
- 685 :
- 既存のベンチマーク使えばいい。
しっかしコレ何をベンチマークするんだ?
最適化の有無とか?
- 686 :
- >しっかしコレ何をベンチマークするんだ?
ゲーム機
- 687 :
- だめだこりゃ。
- 688 :
- 何分も待てねえよ
- 689 :
- おいおい、空のforループ回してベンチマークになるのかよ、JavaScriptとかいうゴミ言語は……
手元でも動かしてみたが本当に1.5秒かかってやがるし、マジで計算してるがな。信じられん。
for(j=0; j<1000000000; j++){}
C++という最強言語だと、こんなゴミループはコンパイラに
「何もしてねーな」「無駄無駄無駄無駄無駄ァ!」と判定されて完全に消滅するんだぜ。
このサイトですぐ試せる。
http://gcc.godbolt.org/
void test() {
int j = 0;
for (j = 0; j < 1000000000; j++) {}
}
と入れてみろ
出力アセンブリコードワロタwwwwwwwwwwwwwwwwwwwww
リターンしかしてねえwwwwwwwwwwwwwwwwwww
test(): # @test()
ret
- 690 :
- これだけだとなんだから、jを関数から返してみようか。
int test() {
int j = 0;
for (j = 0; j < 1000000000; j++){}
return j;
}
出力アセンブリコードワロタwwwwwwwwwww
レジスタにいきなり1000000000を代入して即リターンwwwwwwww
test(): # @test()
movl $1000000000, %eax # imm = 0x3B9ACA00
ret
重要なのは、これが最終的にCPUが実行するコードだということだ。
こんな鬼最適化があらゆる計算に効いてくるんだぜ。
これがC++超はええ、ゲーム開発ならやっぱりC++だよなと言われる所以だ。
スクリプト言語使って喜んでる連中は知らない世界だよ。
みんなもひとつ最強言語C++どうだい?(´・ω・`)
- 691 :
- 釣り針でかすぎといいたいところだが uy なら本気でこれくらいのことを言いかねない
- 692 :
- >>691の冷静さに鼻水フイタw
- 693 :
- >>690
http://tech.a-listers.jp/2012/10/10/faster-than-c/
まぁ、これでも見てがんばってくれ
- 694 :
- >>693
単にマルチスレッド有効にしてるだけじゃん(バカかw
- 695 :
- 現状まだまだだけどJITの可能性を甘く見るのも良くないと思うな
極端な場合、関数型言語のメモ化みたいなことも不可能ではない
実行時最適化はコンパイル時最適化を越える可能性を持っている
JavaScriptの場合、型の推測や副作用の判別やメモ化対象の選別とかの技術が発展すれば或いは…
アプリケーション側に実行時自己最適化機能を付与すればコンパイラ言語でも再現は出来るけどね
C/C++で実行時最適化の発展に期待できそうなのはC++/CLR(.NET)とLLVM/clangって限られてるから、
C/C++より先に何れかのJavaScriptエンジンがそういう圧倒的な最適化機能を獲得する可能性は十分ある
- 696 :
- [参考] ベンチマーク - FOR-NEXT10億回ループ - DarkBASIC
J AS INTEGER
T=TIMER()
FOR J=0 TO 1000000000:NEXT J
PRINT (TIMER()-T)/1000.0:WAIT KEY
参考 旧Ver CeleronD2.66GHz -------- 20.853秒
参考 旧Ver Core i7-4770K 3.5GHz ---- 5.501秒
参考 77RC7 Core i7-4770K 3.5GHz --- 1.798秒 (旧Verの約3.06倍)
参考 Core i7-4770K 3.5GHz Windows8 64bit版 JavaScript - 1.506秒
<script>
var t=Date.now();
var j=0;
for(j=0; j<1000000000; j++){}
document.write( (Date.now()-t)/1000.0 );
</script>
JavaScriptに並んだと言うコトは…もはやVC++もJavaScriptも不要w
ソース隠蔽可能なDarkBASIC 77RC7の圧勝。
- 697 :
- 77RC7の脅威w
JavaScript、VC++不要の新秩序w
マジ勝ちw
- 698 :
- 任天堂、巨額赤字どうするよ
- 699 :
- 今は投資の次期だな。
- 700 :
- 今後はゲームを捨て健康でいく
- 701 :
- 株式会社コト買収で医療系ゲーミフィケーション世界制覇へとか
- 702 :
- JavaScriptの次は健康か
マジで別次元だった
- 703 :
- チャイニーズ光金ディナーコース
チャイニーズ光金ディナーコース
チャイニーズ光金ディナーコース
チャイニーズ光金ディナーコース
- 704 :
- Wii U ときたら次は 税だろ
- 705 :
- つうか既にWiiFitでボロ儲けしてるし何で今更って気がするが
高齢者向けを狙ってるんだろうね
- 706 :
- JavaじゃなくてJavaScriptなのか…
- 707 :
- WiiUのブラウザはゲームパッドの機能使えるんだよ。
- 708 :
- Firefoxもゲームパッド使えるよ
- 709 :
- どうやって?
- 710 :
- firefox gamepad api でググれば幾らでも出てくるよ
- 711 :
- キーボードのキーをゲームパッドに割り当てればいいじゃん
- 712 :
- アナログスティックとかスライダとかどーすんの?
- 713 :
- FirefoxとChromeでゲームパッド使えるのかー
HTML5ってすげーな
- 714 :
- >>712
アナログスティックが動くと普通にイベントが飛んできて
その中でアナログ値が取得できる(できた)
- 715 :
- 股間の喜びの棒を動かすことにより、マシンをコントロール出来るデバイスを開発した。
- 716 :
- 間違えた…
イベントではなくゲームパッドオブジェクトを取得して毎フレームチェックする感じだった
(イベントなのは昔のやり方だった)
- 717 :
- USBオナカップは出願済みだろ
- 718 :
- >>712は>>711に対するレスじゃないのか
キーをパッドに割り当てるのはいいけどアナログ入力はどーすんだっていう
- 719 :
- >>718
そだよ。数レス前に対する1行レスはアンカー打たない奴が多いからそれに習ったんだが…
- 720 :
- アンカー省略はその間にレスが流れて誤読されようともそれを甘んじて受け入れるという漢の心意気だ
つまらぬいいわけなど無用
- 721 :
- ゴメンゴメン>>718は>>714へのレスねw
しかし>>714や>>720を見るとプログラマってやっぱコミュ障が多いんかなーって気がするな
- 722 :
- 専門、Fラン大出が多いんだから当然。
- 723 :
- アンカーなきゃそのレスしか読まなくても不思議ではない
一々騒ぐな
- 724 :
- ムキになるなよw
- 725 :
- いやムキになれ
- 726 :
- >>720
711から712までの間にどんなレスがあって誤読が起きるんだい?
714は「その間にレスが流れて誤読」した/されたんじゃなくて、ただ711を見落としただけ。
それに712は718が投稿されるまで714の誤読を甘んじてスルーしているよ?
714が可哀想だしそう突っ込むなよ・・・
- 727 :
- ちんこを剥き剥きしたら、ちんこがムキムキしてきた。
- 728 :
- >637
Flashはソース隠蔽できるJavaScriptだけど、だれもOFFにしてないよ。
隠蔽の要望が大きければ、そのうちJavaScriptのコンパイル規格とか作ってくれるかもね。
- 729 :
- はいはい。C++を捨てください。
そして潰れてくださいw
- 730 :
- >>715
penis.addEventListener('cumshot',function(){setSagesTime()})
- 731 :
- >>728
中間言語にコンパイルされるだけでFlashはソースを隠蔽できていない
優秀なデコンパイラを通せばMinifyしたソースよりは見やすいコードに戻る
隠蔽(難読化)用途ではJavaScript用の難読化ツールの方が優秀だと思う
ECMAScriptつながりでJavaScript用の難読化ツールはActionScriptにも使えるし
- 732 :
- JavaScriptの優秀なオブファスケータって何がある?
- 733 :
- ゴミみたいなオブファスケータ(この呼び方を知らんかったorz)でも、ただのコンパイル→デコンパイルよりは優秀だろ。
- 734 :
- ご予算は?
- 735 :
- 今後は任天堂は止めてiphoneやandoroidのゲーム開発で行く。
今後は任天堂を辞めて、他社に移るか、自分で会社を興す。
の間違いでしょ?
- 736 :
- jsのいいところはとりあえず動いてる風に振る舞うところ
悪いところはコンソールが意味不明
- 737 :
- >>736
それ、バグの元ですから。
- 738 :
- > 悪いところはコンソールが意味不明
↑
意味不明w
- 739 :
- とりあえず動いてるように見えるのはDOMのイベントドリブン性とWebページがエラーで落ちないお陰でJSとは関係ない
Nodeだと逆に1ミスでシステム全体が落ちてしまうことが問題視されてるしね
あとバグの元云々は関係ない、データの問題で例外が出た時落ちるか落ちないか、それだけ
コンパイル時エラーが出にくかったり、型安全の問題とこれとは別
- 740 :
- 言われてみればロード時にひとつやふたつアラートが出ても気にしないな
反射でOK連打してるわ
- 741 :
- いい加減マ板でやれ
- 742 :
- JavaScriptをJSとか書くな
エロいだろうが
- 743 :
- >>742
あんたの頭がなぁ!!
- 744 :
- JSをそういう単語と認識してると公言する思考もヤバいけど、
JSをエロいと認識してる事を公言する思考もヤバイくってもう。
頭の中でひっそり考えとけよそういうのは。
- 745 :
- しかも引数の(i)←これもやばすぎ
- 746 :
- 僕もjavascriptを勉強中です。
- 747 :
- スマホゲームみたいなのをお手軽に作るだけだからしなない
- 748 :
- 今更C++からJavaScriptには戻れない
- 749 :
- 戻るってJavaScriptやってたのかよw
- 750 :
- >>3
マクロがないlispなんてlispじゃない
- 751 :
- 下回りはC/C++でユーザに近い層をJavaScriptってことだろう。
独自OS作り続ける体力あるなら、インタプリタなんてお手の物でしょう。
- 752 :
- >>7
マジこれです
延命なのです
- 753 :
- >>752
それ幻想っす
速度を稼いだら評価され売り上げにつながる、なんて職場の人達は今この瞬間だってギリギリまでやってるよ
今の主流は、緩い課金ゲーを如何により速くでっち上げ続けるか、になってしまっているわけだ
といってもすでにこの分野でもHTML5離れが始まってるけど
ここのスレ立てが去年の3月とあるし仕方もないか
もう諦観ばかりだよ
来年中に、CocosかUnityの両方またはどっちかが下火になってても全く驚かんわ
はよ一周してコンソール復権せんもんかね
- 754 :
- 代替が出て下火になったCocosやUnityが今度はコンソール用になったりしてな
- 755 :
- うにtyヴぃたで動いてるやん
- 756 :
- 動くだけじゃなく、主流ってことね
- 757 :
- >>752
半分は本当です。
ライブラリの充実度はC/C++は非常に劣っているのでどうしてもスクリプトに軍配が上がります。
しかし、C++も最近は大分追い上げをしてきているのでそのうちトントンになるでしょう。
でも、まだ未来の話です。
- 758 :
- C/C++のライブラリが劣ってるって
単に知識が足りないだけなんじゃねぇ?
- 759 :
- 触るな触るな
多分間違って迷い込んだかなんかした人の書き込みなんだろ(棒読
- 760 :
- 1年半経過しましたけど何か変わりましたかね
先の見えない赤字もJavascriptで消し去って欲しいもんです
- 761 :
- JavaScriptでの開発環境を無償で公開すれば赤字解消出来るんじゃないか
- 762 :
- 無理じゃろ
プラットフォームとしてのクオリティ維持が大事(キリッ
ってスタンスじゃなかったっけ
- 763 :
- ニンテンドー64時代にそれで痛い目にあっただろ
- 764 :
- c++のソース見ながら勉強してるんだが糞すぎてjavaが神に思える
- 765 :
- まぁスーファミレベルのゲームばっかりだし、なんとかなるんじゃね?
やらねーけど。
- 766 :
- 痛い目にあっても死にはしないことを学んだし
任天堂くらいゲームの売り上げに依存してると
いまさら方針変える度胸なんかねーだろう
余裕は必要だよね
余裕のない奴って周りが見えてないしね
- 767 :
- AltJSで書けば良い
山ほどJavaScriptに変換する言語があるのは皆JavaScriptでは書きたくない、JavaScriptは糞言語であるという事を示している
- 768 :
- スマホだとほとんどブラウザって使われてないらしいね。
もう一般人はPC必要ないらしいし、Javascriptは衰退していくんじゃね
- 769 :
- >>768
!?
- 770 :
- >>768
お前がそう思うのならry
- 771 :
- はい、論破
http://appbu.jp/mobile-app-vs-web-usage
スマホなんて低性能のデバイスでブラウザなんか遅すぎて見てられないでしょ。
電池の消耗も激しすぎる。
だいたいね、スマホなんてのは仕事の合間の休憩時間とかトイレの個室内とか
そういうスキマ時間にイジるもんなんだよ。
だから速度が何よりも大事なんだって。
これからの時代はWebは衰退する。
なにか知りたい情報があればWebを検索、ではなく
アプリストアからアプリを検索する世界になるだろう。
その世界ではGoogleなんぞに支配されてない。
- 772 :
- >>771
Androidは基本Javaアプリじゃん…まさか、あいぽん信者?
ゲームの話なんだから見るべきはそこじゃなくて「Gaming 32%」の所だろ
どうしてもアプリの形が良いならアプリ化すれば良いし
ブラウザゲームかどうかがそんなにユーザーに関係するか?
HTML5でハードの性能を100%活かすのは難しいけど、任天堂みたいなメーカーはそんなゲームばかり作ってるわけでもなし
ChromeのJavaScriptエンジンは結構早いし
そこそこの物は出来るだろ。
- 773 :
- HTML5はすべてがWebになるという時代遅れの幻想に基づくものであり遅すぎたのだ
- 774 :
- スマフォがアプリ棄ててwebサービスに注力してれば本当にスマートになったのに現実は…
ごちゃごちゃじゃねーかよwwwww どこがスマートなんだよwwwww ってなもんで。
- 775 :
- JavaScriptばかり叩かれるけど、ぶっちゃけHTMLもGUI作りとして見ると
相当なクソだと思うんだよ
- 776 :
- そりゃそうだろ。もともとHTMLはGUIじゃなくて
文書を作るためのものなんだから。
そしてGUIはCSSで作るものだよ。
- 777 :
- ゲームだとCSSなんて使わないだろ?
全てCanvasかWebGL
だがNintendo Web FrameworkはWebGLは無しでCanvasしか使えないらしい
- 778 :
- DSはともかく
WiiUはRADEONなんだから対応できそうな物だが
何故か対応しない任天堂
- 779 :
- >>777
ブラウザゲームは、ドリランドみたいなポチポチゲーか、Flashゲームが大勢。前者なら当然 CSS つかう。
Canvas や WebGL をメインで作るゲームはかなりシェアが低いだろう。ポチポチゲーの一部の演出だけ Canvas というのは結構あるが。
- 780 :
- WebGL非対応のブラウザもあるしな
- 781 :
- JavascriptはWebだけじゃない
UnityでもBoo使える、C#使うから要らないかけど
- 782 :
- BooはPython系だぞ、JS系なのはUnityScript
- 783 :
- >>775
じゃあelm使おう(錯乱)
- 784 :
- 「asm.jsの基本的な考え方は、デベロッパが自分の
C/C++コードをこのJavaScriptの最適化サブセットへコンパイルして(Emscriptenコンパイラを使用)、
ブラウザがそれを動かす」
MicrosoftのJavaScriptエンジンがもうすぐMozillaのasm.jsをサポート - TechCrunch
http://jp.techcrunch.com/2015/02/19/20150218microsofts-javascript-engine-will-soon-support-mozillas-asm-js/
2015年2月19日
- 785 :
- Benchmarks Showing asm.js Performance in Firefox vs Other Browsers (Windows)
https://tctechcrunch2011.files.wordpress.com/2015/02/benchmarkgraph_windows.png?w=800&h=475
- 786 :
- >>10
2年越しで予言が当たったな
先を見る目がある
- 787 :
- >>786
誰も捨てるとか言ってないのに当たるもクソもあんの?
- 788 :
- モバグリのくだりじゃないの
- 789 :
- スレタイの「捨て」に対して言ったんじゃね?
- 790 :
- なるほどモバゲーは確かに来たね
- 791 :
- 放課後アプリ部とは
http://houkago-no.appspot.com/
個人のアプリ開発者が集まって作る新しいプラットフォームです。
会社の方針や収益性にとらわれない自由なアプリが集まってます
- 792 :
- お悔やみ申し上げます
- 793 :
- >>6
64セルダとか20FPSだったんでしょ。
ゲームの面白さと速度は関係ないよ。
- 794 :
- C#の方が良いと思う
- 795 :
- C#は最強だしね
Unityだってある
数ある選択肢からJavaScriptを選ぶのはドM
- 796 :
- >>1
デュエル・マスターズ的な非電源TCGの 《 オンラインTCGツクール系 》 ソフト(エディタ)の企画。
例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してある制作ソフト。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
バトスピ、ヴァンガ、バディ、ドレノ、フォースofウィル、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、ガンダム・ウォー、ディメンションゼロ、ライブオン、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。
設計思想は 《 RPGツクール 》 が良いかな? 他に、優れたエディタ有ったら挙げてみて。
個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディタ系ソフト群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
なるべく前述3つで可能な再現は全て実装させる方向を目指す。 まぁ努力する・・・
バトスピ、ヴァンガ、バディ、デュエマなど、発売済みゲームソフトの存在するケースはベンダーに研究させる。
↓
TCGを再現するテストプレイ ⇒ 更に改良や修正。
↓
機能制限した下位版を5万円以上で発売 + デュエリーグ用に改造した上位版でサーバー稼動=営業開始。
↑
下位版の改造および商用利用には、別途で当社との契約が必要。
さ〜て、製作を受けてくれるベンダーが見つかるかな?ww(クス
http://hayabusa6.2ch.sc/test/read.cgi/gameama/1438617407/l50
- 797 :
- Javascriptか。
C++より面白いゲームになりそうだな。
これは任天堂、株価が上がるな。
- 798 :
- 黙れ小僧
Javascript にコジプロが救えるか
- 799 :
- >>798
コナミから切り離された小島氏「メタルギア」新作の件だね
- 800 :
- 受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点
- 801 :
- >>1
マジかよ??
- 802 :
- そういえばスマホのソシャゲが同じ方式だったが
それにすり寄っていくんだな、任天堂は
- 803 :
- スマホのソシャゲだって既にネイティヴやUnityじゃないと新規ユーザー獲得できんよ。
既存顧客が根強く遊んでるのはあるけどね。
- 804 :
- 任天堂で新しい言語出してくれ
- 805 :
- >>793
64は映像の情報量が少ないから成り立つんだろ
- 806 :
- マジかよ?
- 807 :
- 本当
- 808 :
- ゲーム開発の話題になると>>793とか勘違いした人が出るんだが
そもそも同じ64で「初心者でも開発しやすいが遅い言語」使ってたら
20FPSどころか1桁台出るかすら怪しい
ゲームとして成立させるために速度が必要なんであって・・・・
データ主導の設計という考え方があって(ゲームプログラマの間では常識なんだが
他の業界だと別の呼び方で同じ概念があるかも)、レンダリングや物理計算、
AIの経路探索などの「基本的だが速度がどうしても必要な部分」をC++や低級言語で
作っておいて、ゲームの進行やキャラクタ配置、データとの連携(スクリプト含む)など
「ゲームの構成を作る、速度が必要ない&ちょくちょく変更したいロジック」は
開発効率のためにもC++などの言語の外に出す(ハードコードしない)のが望ましい
その考え方をより推進した結果、ライブラリがサポートする範囲が増えて
>>1みたいな手法が実現できるようになってきたってことだと思うんだが
- 809 :
- HTML5 + JavaScriptでスマホアプリと同じ手間で作れる様にする
と読み解くわな、普通は
- 810 :
- 普通かなあ
- 811 :
- >>809
そのHTML5はどうやって動くんだよ
- 812 :
- 3年前の任天堂がそんな先を見たことを考えてたなら
今みたいな後手後手の落ちぶれ方しないだろ
- 813 :
- 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
y
- 814 :
- なるほど
- 815 :
- ブラウザゲーを有料パッケージソフトで売る気なの?
- 816 :
- そもそもC++なんて東大生には無理、HTMLでHelloWorldから始めろ
- 817 :
- 時代はやっぱりjsなんだよなあ…
- 818 :
- Unityみたいなゲームエンジンを提供する、
あとはツクールのように作ってね、ってことだろ。
- 819 :
- 普及した悪貨に過ぎないよ
もうhtml5用途でさえaltJS動かす言語でしかない
なおこの使い方だとウェブアセンブリ普及したら不要になるので将来も微妙
- 820 :
- お前大丈夫か?何か勘違いしてないか?お前本当にプログラマーか?
- 821 :
- なんだこいつ
- 822 :
- >>816
それ、Cよりタイプ数多いじゃんwww
- 823 :
- pythonが良いと思うんだが
- 824 :
- せめてTypeScriptくらい使わないと開発効率悪そう
- 825 :
- pythonでゲームとか冗談だろ
- 826 :
- >>825
パズルとかの反射神経競う奴以外ならいけるんじゃね?
- 827 :
- もうRubyでいいじゃん
- 828 :
- あけおめ
- 829 :
- まぁ今回のマリオくらいだったらJavaScriptでも大丈夫だなw
- 830 :
- javascriptかー
- 831 :
- もうパイソンでええやん
- 832 :
- Rubyの方がいいなあ
- 833 :
- Rubyは廃人専用w
- 834 :
- SWITCHのソフトはもうC++じゃないの?
- 835 :
- *77*[[[***77*[[[*%5
$0-"5%"<\entre=>0.132≧EFLA≦0.235=0[[
- 836 :
- >>3
Lisperとして雇われたのに出来上がったのがアレだからな
- 837 :
- Liskというすごい技術の上で動くアプリがJavascriptで作れるらしいのですが、
詳しい人いますか?
https://coincheck.com/ja/exchange
- 838 :
- 開発に時間が掛かってたって単に練度の高いc++ 要員確保できなかっただけだろ
jsにしたらそこらのweb屋も動員できるから人数増やせて開発効率アップに違いないとかいういつもの人海戦術な気がしてならない
処理スピード以前にc++ でやるような処理群をjsで書こうとか狂気の沙汰だと思う
- 839 :
- HTML5でゲームを作れば
わざわざコンソール機を用意することもないのに
- 840 :
- パフォーマンスクリティカルじゃない部分をより高級な言語で書くのは普通だと思うけどね
計測してからどうしてもボトルネックになる部分をC/C++で書き直すのが健全
- 841 :
- インベントリーだの設定だののUIはjsどころかまるっとhtmlとcssで書きたい気はする。
- 842 :
- SWITCHのソフトは何言語で書かれているの?
- 843 :
- >>824
WASM対応すればワンチャン
- 844 :
- すまん安価ミス
- 845 :
- >>838
練度が必要って、自分でもわかってんじゃねーか。
そういう熟練でも大変だってことだろ実際。
- 846 :
- 基本的な質問なのですが
オブジェクト指向のオブジェクトって要するに
関数オブジェクト(引数になったり参照されたりできる)の事
ではないでしょうか。
オブジェクト指向言語のオブジェクトは全て
JSのプロトタイプ(関数オブジェクトの参照)の構文糖衣の様な物と思うようになりました。
- 847 :
- >>49
JSのオブジェクトは連想配列みたいなものだから当たり前
プロパティの拡張抑制したり、テストプロキシ噛ましたり防ぎようは幾らでもある
- 848 :
- 保守
- 849 :
- 保守って、これ以上どんな議論したいのよ
- 850 :
- 議論しよう
- 851 :
- すみません>>842の件、よろしくお願いします。
- 852 :
- 言語はコンパイルされてマシン語になる環境が整っているものであればなんでも良い
- 853 :
- >>852
なるほど!ありがとうございます。
- 854 :
- 保守点検
- 855 :
- 保守
- 856 :
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
JXCY7
- 857 :
- OAA
- 858 :
- >>1
Switchで無かったことにされたなw
ぬか喜びJSerワロスwwwww
- 859 :
- >>858
え?どういうこと?
- 860 :
- まじかよって見に来たら古い記事か
Switchは普通にC++開発だぞ
JavaScriptとか学生が遊びで触る言語だろ
- 861 :
- googleのspredsheetやらなんやら学生のお遊びだったんだなw
- 862 :
- >>861
googleはお遊びにも本気を出すからな
- 863 :
- それで商売になるんなら最高やな
なってんのかあれ
個人無料だけど企業プランとかあんのか
- 864 :
- 結局、任天堂はC++を使っていくの?
- 865 :
- ずいぶん遅れた話題で盛り上がってんなーと思ったら2013だった
- 866 :
- 任天堂「血迷ってました」
- 867 :
- 保守
- 868 :
- ゲーム詳しくないけどいつまでもc++だな
- 869 :
- >>868
実行速度はC++に少しだけ劣るけど、Deliphiも相当速いよ。
- 870 :
- デリファイはMacにも対応してるしな
- 871 :
- ほしゅ
- 872 :
- 新しい言語はきれいだよ.
昔,C++はきれいでいい言語だと言われてきた.
しかし,いざ実用の段階になるとあらゆる機能がテンコ盛りになって
破綻していく.禿はいろいろ理屈つけてたけどさ.
どんな言語だって同じさ.最初はきれいで合理的だよ.
かし,だんだん汚くなっていく.騙されてはいけない.
結局,プリプロセッサとポストプロセッサはCやC++,ソルバー
はFortran,GUIはC#か。
- 873 :
- Delphiたかい
- 874 :
- 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.2ch.sc/test/read.cgi/rikei/1560859403/
- 875 :2019/06/20
- >>873
Community Editionはあかんの?
https://www.embarcadero.com/jp/products/delphi/starter
仮想環境コンテナ総合スレ Docker、Vagrant等
C++相談室 part143
OSSホスティング総合【SourceForge,GitHub,etc..】
スレ立てるまでもない質問はここで 152匹目
pythonista総合スレ【IOSで勉強できる】
COBOL?極めてやんよ シュッシュ!!
オナオナ開発プロジェクト
C#で仕事ある?
テストを書いてからリファクタリングなんてのは幻想
Google Maps API 質問箱
--------------------
【スポーツソウル】 K-POPの闇 「音源買占めチャート操作」の真相が明らかになった [01/06]
●●● 極真はとっくに終了した過去の汚物
向井秀徳が新譜を誉めてた
【東京】男子中学生(14)がマンションから転落し重体、自殺を図ったか
チョット聞いてヨ!うちのご主人様ったらねぇ・・・
【毒者】小説家になろうヲチスレ【錯者】60
【patagonia】パタゴニア製品を語れ94
【報道特番】番組時間変更情報48【中継延長】
スコティッシュフォールドPart35【ホールド一本】
え!?本州JR3社で新快速走ってないのは東だけ?
声優・東山奈央の公式Twitter、名指しでストーカーに警告&ブロック → ストーカー「絶対に諦めない」 [673871665]
A.B.C-Z★315stars★ ジョイポリスタイアップ9/25(水)DAN DAN Dance!!発売!
北条氏康に天下統一ができるの?
Kawasaki Ninja 250SL Part12
【画像】新作ソシャゲ『ラブプラス EVERY 』のゲーム性がすごい! "あいしてる"と入力しよう [856517811]
え?ロレチョンって喧嘩挑んでにげたの?(大笑)
Fs 多田野 数人 from BL→MLB→IL→NPB→BC / evolution 102
兜にあしらったら笑える漢字
〓 MUJI - 無印良品 part74 〓
ジョギングをする喪女
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼