趣味でのプログラミングについてあれこれ思う

http://d.hatena.ne.jp/higayasuo/20090204/1233724189

職業プログラマという言い方がなんかぴんとこないような。もちろん、会社以外でプログラム書いてる人ってのは好きでやってるからこそ向上するスピードが速いと思う。好きこそ物の上手なれってね。

でも、趣味のプログラミングだけではやっぱりどうしても触らない部分がたくさんある。例えば、データベースとかネットワークとかのプログラミングは趣味でのプログラミングではやらなかったタイプのものだ。8bit時代からプログラムをする人間にとって業務アプリってのはとても遠い存在。仕事でもなきゃ一生触ることがなかったもの。それがデータベースやネットワークだった。

もちろん、今ではサーバーサイドのサービスを提供するためにゲーム開発であろうとも必要になったりする。例えばオンラインハイスコア機能とかね。でもそれはあくまでも付加的なものであってメインではない。やはり仕事で触っていなければここまで使えるようになったとは思いにくい。

だからこそ職業プログラマという言葉の定義は難しい。自宅でプログラミングをする人でもWebアプリのプログラミングをしない人はたくさんいるからかみあわない。言語そのものの習熟等は加速すると思うけどね。だからこそJavaC#といった業務系でよく使われる言語でも趣味のプログラミングをするのをオススメしたい。



http://d.hatena.ne.jp/nowokay/20090204#1233742330

去年21才になったきしださんが14年後を思うエントリ。

そういう意味では時代についていかなくはなってきた。

きしださんなら時代が俺についてこれなかったくらいの勢いが欲しいだろJK。


プログラムの要素というのは、言語・プロセス・ストレージ・ネットワークであるといえる。

8bitマイコン世代、ベーマガ世代からするとプログラマに必要なものは順番に

  1. ディスプレイデバイスへの表示
  2. ジョイスティック等のユーザーの入力
  3. リアルタイム性の考慮
  4. BGM
  5. 効果音
  6. ネットワーク
  7. データベース

となっておりまする。偏ってるとかいわない。人によって欲しいものは違うんだから。みんなが好きなコンピュータゲームだって立派なプログラミングの結果ぞ。業務アプリだってそうだし、テキストエディタとか便利なツール群だってそうだ。組込だって趣味でも行う人はたくさんいる。特に組込はリアルな世界を動かすのでどう考えても楽しくないわけがない。

表現の範囲が広いからこそプログラミングは楽しいのではないかな。ブロードバンドが普及してからのほうがゲームやツール等の開発の情報が入手しにくくなったような気がするのは気のせいだろうか。業務アプリの情報はすごい勢いで増えてると思うけど、パソコン通信時代のほうが情報はあったような。なかったような。


業務アプリよりゲームのアプリのほうが楽だよね!といったらid:yone098さんに全力で否定された。ネトゲ以外はスタンドアロンなので悪いときはすべて自分が悪いこと、デバッグがマルチユーザーが当たり前な業務アプリより容易なことでそう考えたんだけれども。難しいのはゲームのバランスとかいかに楽しませるかという調整のほうだと思う。

Webアプリだって原始的なCGIで一から作るとなったら大変だと思う。さまざまなライブラリやフレームワークがあるから楽になっているのであって。一方でゲームはそんなのがなくても標準APIを組み合わせても十分作れる。どう考えてもゲームのほうが楽という証だろう。また、ゲームのコアのシステムを毎回フルスクラッチで作る人が多いと思うが、それだけこの部分をいじっているだけで楽しい作業だったりする。楽しすぎてシステムいじってばっかりでゲームが完成しないというのは良くあるお話だ。

もしWebアプリのほうが2Dゲーより作るのが楽だと思わない人がいるなら、それはただ単にフレームワークやライブラリの不備というお話だと思う。ゲームでも便利なフレームワークが用意されたとき、そのときもWebアプリのほうが楽とはたぶん誰もいわないだろう。


  ̄ ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
           O 。
                 , ─ヽ
________    /,/\ヾ\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|__|__|__|_   __((´∀`\ )< というどうでもいいお話だったのサ
|_|__|__|__ /ノへゝ/'''  )ヽ  \_________
||__|        | | \´-`) / 丿/
|_|_| 从.从从  | \__ ̄ ̄⊂|丿/
|__|| 从人人从. | /\__/::::::|||
|_|_|///ヽヾ\  /   ::::::::::::ゝ/||
────────(~〜ヽ::::::::::::|/