1: デフォルトの名無しさん 2015/04/17(金) 23:00:30.63 ID:55USvuES.net
今井氏:ソースコード公開は、社長のティム(*2)の意向です。彼はバリバリのプログラマーで、初期の「Unreal Engine 1」を
1人で書いた人ですが、若い時に雑誌に載っていたコードを書き写して勉強したそうです。それで今の若い人にも、プロのソー
コードとはこういうものだというのを見せたいという願いがあって、ソースコードを公開しています。本当に今のゲーム業界の
事情を憂いてる1人だと思います。(*2)Epic Gamesの創業者兼CEOであるTim Sweeney氏

出村氏:読みやすいコードですよ。「C++」というのは、黒魔術(高度な計算)が多くなりがちな言語ですが、
そういうこともなく、すっきりしていて目的の機能も探しやすい。解読しやすいコードなので、確かにお手本になると思います。

僕は初代のゲームボーイからプレイステーション 2の頃くらいまでゲームプログラマーだったのですが、ゲームプログラミングでは
必ず数学が出てきます。行列とか三角関数とか。もちろん今でもまったく不要になったわけではありませんが、そういう知識の
重要性は薄れてきていると思います。「Unreal Engine」では特にそうです。
http://game.watch.impress.co.jp/docs/interview/20150417_698349.html

初級者から中級者へ昇格する時期は、ほぼどのようなソースコードでも読める程度にプログラミング言語に精通し、
また偉いプログラマーの提唱したデザインパターンも一通り理解したくらいの時期である。

すると、プログラミング言語の持つあらゆる機能と、偉いプログラマーの提唱するあらゆる技術を使わねばならない
という思い込みが発生する。そしてHello Worldにまで崇高なオブジェクト指向や壮大なデザインパターンを
適用しようとしだすのである。

その結果、
* 大量のクラス
* 迷路のような変数渡し
* 底なしに深いネスト
などといった凄いものが生まれる。また、条件分岐に三項演算子を乱用するなどの症状も多く見受けられる。
最終的には第三者にとって読みにくい保守性の悪いスパゲッティコードが生成されることになる。
http://monobook.org/wiki/%E4%B8%AD%E7%B4%9A%E8%85%E7%85

4: デフォルトの名無しさん 2015/04/17(金) 23:16:09.05 ID:2QruBEl7.net
最強は迷路のような循環参照だろ

5: デフォルトの名無しさん 2015/04/17(金) 23:20:08.61 ID:eE8aPdvb.net
言語の構文はわずかに例外が有るにしろ、
コードをシンプルで分かりやすく書くことが出来るように
作られたもので、バージョンが上がると追加される機能っていうのは
それを更に良くするもの。

という当たり前のことから考えると、
問題ない機能を「俺が知らないから」「馬鹿が知らないから」という
理由で禁止する行為は、コードをクソコードに仕上げることになる。

もっと最悪なのが、俺がこれ以上勉強したくないから
他の人も使うの禁止!と言い出すリーダー。

8: デフォルトの名無しさん 2015/04/18(土) 00:50:42.52 ID:dyiDxr2Z.net
たしかに見に覚えがあるがプログラム書いてて一番楽しい時期でもある

10: デフォルトの名無しさん 2015/04/19(日) 13:46:48.22 ID:ESsvP1kn.net
1000行を超えるswitchを見たときは痺れた

11: デフォルトの名無しさん 2015/04/19(日) 14:31:13.67 ID:3NsiJz07.net
#include <stdio.h>
#define BUFFSIZE 7

int main(void)
{
char* buf;
char tmp;

buf = (char*)malloc(BUFFSIZE);

tmp = -126;
*(buf+0) = tmp + 0;
*(buf+1) = tmp + 72;
*(buf+2) = tmp + 0;
*(buf+3) = tmp + 103;
*(buf+4) = tmp + 0;
*(buf+5) = tmp + 89;
*(buf+6) = tmp + 126;

fputs(buf,stdout);

free(buf);

return 0;
}

12: デフォルトの名無しさん 2015/04/19(日) 14:48:21.22 ID:nqxUSETS.net
>>11
変数宣言先頭に書くな
たかだか7バイトmallocするな
ポインタのインクリメント使え
終端文字抜けてるぞ

13: デフォルトの名無しさん 2015/04/19(日) 14:54:48.57 ID:B0V38sso.net
>>12
終端ぬけてねーよ
よくみろはハゲ

15: デフォルトの名無しさん 2015/04/19(日) 14:59:48.34 ID:nqxUSETS.net
>>13
マジだw

あと一個
charは一バイトでもsizeof使え
Unicode対応の時に泣く
出れば指定要素を指定数分だけメモリ確保する方があったはずだからあっちの方が安全

20: デフォルトの名無しさん 2015/04/19(日) 16:12:46.60 ID:FgPTbLQc.net
なんだこのスレw

21: デフォルトの名無しさん 2015/04/19(日) 16:54:41.99 ID:H3AnyW4d.net
某一部上場企業で使われてる言語が日本語プログラミングのソースで吐きそうになったな
しかも1ファイル3万行とか普通にありやがるしそれこそ分岐しかしてねえ

22: デフォルトの名無しさん 2015/04/19(日) 17:04:27.02 ID:A/MgNyGP.net
日本語ブロクラミングって実務で使う場所あんのか!
需要なんて絶対無いと思ってたけどw

28: デフォルトの名無しさん 2015/04/20(月) 07:31:46.14 ID:l0+b2pIW.net
>>22
FileMakerで作られた信じられないくらい巨大な社内システムの
スクリプト部分が全部日本語だった。

あまりにも酷いので某○ECにリプレイスの見積をとったら、
「30億円くらいじゃないですかね」という回答だった。

いまでも絶賛稼働中

58: デフォルトの名無しさん 2015/05/02(土) 14:37:22.70 ID:xD347L3p.net
>>28
正直な経験で言うと、社内システムを開発外注して業務改善てのがゆとりな神経だと思う。
成功した会社を一つたりとも見たことがない

29: デフォルトの名無しさん 2015/04/20(月) 12:22:22.82 ID:Mmn5Ftfg.net
>>22
むしろ、日本語のほうが便利
変な先入観を捨てて使ってみるとわかる

どんな簡単なプログラムでも下手が作ればスパゲティ

23: デフォルトの名無しさん 2015/04/19(日) 17:10:13.35 ID:H3AnyW4d.net
あるんだななこれがしかも日本でも半端ない規模の会社よw
中身はcobolを日本語でラップしたような感じで。
「a=1」 というのを 「aを1に代入」って感じで組んでいく。脳が腐ると思ったわ。

24: デフォルトの名無しさん 2015/04/19(日) 17:32:24.76 ID:A/MgNyGP.net
誰得だなw
当初は誰でも保守できるようにしたかったのだろうか?
結果誰も保守できなくなった的な?

25: デフォルトの名無しさん 2015/04/19(日) 17:53:27.13 ID:xPXQDkXX.net
英語がわからないから日本語で書くという
アプローチは200%失敗する。

あー、そういやコードから日本語の仕様書を
作り出すとか言うソフトがあったな。
ね? 見事に失敗したでしょ?

26: デフォルトの名無しさん 2015/04/19(日) 18:29:17.86 ID:dhzBOV6W.net
Interdevelop Desginerは売れたのか
売れたんなら買った企業の評判を聞いてみたいところ

今のところ俺はステップ実行設計書にご縁がない
幸せだ

27: デフォルトの名無しさん 2015/04/19(日) 19:04:55.40 ID:Rt7hjrl3.net
日本語プログラムじゃないけど、ruby で6000行のプログラムなら見た事がある。

オブジェクト指向?何それ?っていう感じのコードだったw

30: デフォルトの名無しさん 2015/04/20(月) 12:48:14.68 ID:HTLIXLfD.net
などと下手糞が一丁前に語っちゃってます

32: デフォルトの名無しさん 2015/04/20(月) 13:53:08.80 ID:SsAC3a+p.net
ガラパってるな

33: デフォルトの名無しさん 2015/04/20(月) 16:31:22.14 ID:EfJAKFWG.net
大企業に限ってソースはダメなテンプレだよ。1ファイル5万行に及ぶクソコードと
分岐ネスト&goto乱発の超絶スパゲッティで某携帯会社のシステムは稼働している。
この会社で働いてた時は一時期プログラミング出来なくなって鬱で休職したわ。俺の知ってるプログラミングじゃなかった。

40: デフォルトの名無しさん 2015/04/22(水) 22:45:32.37 ID:+mudGifq.net
増改築を繰り返せばどんなシステムでもスパゲティになる

42: デフォルトの名無しさん 2015/04/23(木) 16:20:02.46 ID:wgFAW8nP.net
お前たちは真の絶望を知らない

46: デフォルトの名無しさん 2015/04/26(日) 13:23:54.32 ID:3kjvd8px.net
昔のMSDOS環境はメモリ利用領域500KBほどだよ
stackでガバガバ取ったら、あっという間にエラーで落ちるからさw

47: デフォルトの名無しさん 2015/04/26(日) 16:19:44.76 ID:T8rMi6ps.net
ロートルの何の価値もないXMS講座が始まるからDOSの話は止めろ

50: デフォルトの名無しさん 2015/04/29(水) 20:48:46.78 ID:zWk0Y6jT.net
んと、UNIXではmallocの領域とスタックの領域は重なった四角形の上辺と下辺から衝突する方向で成長する。
だから、どちらが大きな領域を取れるかというと対等であるのだけれど
ヒープの側はfreeした場合、管理領域に虫食い穴ができてしまう。
そうした事情があるので、仮想記憶領域をムダに成長させたくなければ
可能な限り大きなメモリーはスタックに確保したほうが合理的なの。

52: デフォルトの名無しさん 2015/04/29(水) 21:02:54.96 ID:a9t0k9yT.net
>>50
UNIXはそうかもしれないけど、LinuxもBSDもWindowsも違うよ。

53: デフォルトの名無しさん 2015/04/29(水) 21:24:24.10 ID:zWk0Y6jT.net
>>52

気になってlinuxのメモリモデル確認したら

テキスト(コード)、初期化、非初期化、(モート)、スタック

になってるじゃん。
ヒープが非初期化領域の末端に来て、反対側からスタックが衝突方向
だからLinuxもやっぱりUNIXと同じモデル。
ユーザーランドから見た論理モデルは変わってないじゃん。

54: デフォルトの名無しさん 2015/04/29(水) 21:34:48.30 ID:a9t0k9yT.net
>>53
どこを見たのか知らないけど、違うよ。

51: デフォルトの名無しさん 2015/04/29(水) 20:54:30.77 ID:ni+OWwPH.net
Windowsはスタックが1MBだったかな

59: デフォルトの名無しさん 2015/05/02(土) 14:43:12.43 ID:xD347L3p.net
switch分岐が5段連なった奴は絶望感が酷かったな
そのなかにたらたら転写、フラグ操作した上で、サブルーチンを呼び、サブルーチンでもまた分岐
調べると同じコードでフラグの設定値だけ違う

某地デジ

63: デフォルトの名無しさん 2015/05/06(水) 16:44:48.96 ID:+jUiP52g.net
変数の頭に$をつけなきゃならん言語は全てゴミ扱いでいいと思うの
というかC++以外滅びろ

64: デフォルトの名無しさん 2015/05/06(水) 17:23:42.32 ID:qhtEqerx.net
htmlとかも滅びてしまうが



http://toro.2ch.sc/test/read.cgi/tech/1429279230/
Related Posts Plugin for WordPress, Blogger...