プログラミング雑感

MSDNライブラリとか読むのがいまだに慣れない。
あの膨大なAPIを参照するのにはある程度概要を俯瞰できてないとダメな気がするんだがそうなると鶏が先か卵が先かな事態に。
まぁその辺はやってるうちに分かってくるもんだが、IDEの使い方とか、GUIの作り方とか、イベントハンドラどうこうとか、自分が躓いたのと同じようなことを後輩に聞かれたりするんだがなんでできるようになったというとやってるうちに慣れていったとしか言えなかったりする。


プログラミングの入門書なんかだとHello World!から始まってCなら変数、制御文、関数、ポインタ…みたいな感じで進んでいくけど別にK&Rを読み終えたところでアルゴリズムを知らないとなかなかまともなプログラムもままならない。

勉強しはじめた頃のイメージとしては、そのうちGUIも作れるようになるんだろうかくらいだったが、カリキュラムが終わったところでオブジェクトがどーでリンカがどーでという話を聴いても作ってるプログラムはCUI
JavaでちょっとGUIをやったがVisualEditorこそあれど結局ボタンの位置1つ決めるのにも細かく指定が要ってゲンナリした記憶がある。で、これはGUI作れるけど実行ファイルとか*1にはできないのかとかまた微妙なところで詰まる。
あとはOpenGLか、あれはあれで座標系がどうのでどひゃーと思った記憶はある。そして相変わらず後ろにはコンソール画面が出てる。
SDLも触りかけたけど今度はDLLとか環境変数とかでよく分からんことに。
結局C/C++ではWindows以外でGUIは触ったことないけどとりあえずGUIを作るのにwindows.hとかの存在というかWindowsプログラミングというのを知る機会が無かった。というか全体的に必要な知識が無かった。


はじめてVisualStudioを触ったときはC++のプロジェクトを作って、ウインドウが出てすげー!とか思ったがそんでこれをどうしたらどう動くの?とか今度はIDEの使い方で大苦戦。Stdafx.hって何よとか、このウインドウはどこで定義されてどうなってるのかとか、参考書もなしに触ってみたところでなかなか分かるものでもなく、結局CUIなプログラムを作ってた。
GUIとなると基本的に描画とイベント処理の敷居が高い気がするなぁ。
C#を触るようになるとかなり直感的に操作ができるせいもあってやっとまともにGUIを作れるようになった。なんか環境が良くなっただけで実力があがったわけではない気が激しくするあたりがちょっと悲しい。


たいしたIDEを使わずに単体で動くGUIのプログラムを作って、実行ファイルもちゃんとアイコンとか付いてて…というイメージは結構学びはじめの人はみんな持ってる気がするんだけど、その辺をうまいこと説明してる本とかサイトとかって無いよなぁとか思ったり。
同じようにたとえばC#にしたってC#の文法を解説してる本とVisualC#.NETを解説してる本とが完全に分かれてて、しかもよく目に付くのは後者の方で、MSDNライブラリの活用の仕方とかもあんまり体系的に書かれてるものを見たことがない。俺が知らんだけだろうか。


まぁ数値計算とか画像処理とか、研究レベルでは別に使い勝手のいいGUIプログラム作る必要はそんなにないからそうなんだろうかなぁ。
ゲームプログラミングの本とかにはその辺も色々書いてあったりするんだろうか。


なんというまとまりのない文章…


ランキング→   

*1:VMとかいう突っ込みはさておき