<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
   <channel>
      <title>～ゲームプログラマー社長ブログ～</title>
      <link>http://blog.e-smile.ne.jp/prg/</link>
      <description>ひとり一人の能力開発に拘る組織作りを目指して
イースマイル代表取締役社長の塩住が、
若手エンジニアに、ブログでメッセイジを発信中！</description>
      <language>ja</language>
      <copyright>Copyright 2010</copyright>
      <lastBuildDate>Fri, 03 Sep 2010 09:04:10 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>「プログラム学習その７」</title>
         <description>みなさん、おはようございます。

再び、データーベースに話を戻します。

正しく動作させるには、
最終的なデーターが正確に合っていればＯＫです。

ただ、実際にデーターが変化していく過程においては、
なぜか想像していた内容と異なっていきます。

妙に不思議に感じるとき、これがデーターの不具合です。

そして、どんな時にそれが起こるのか？
その瞬間を掴むまでは、そのバグに悩まされます。

幾つかの条件が重なったときに、
起きる症状を見つけるのは、とてもやっかいな事になります。

できれば、データーを変更するとき、
すべてのログを残しておきたいものですね～

上書きのみでは、過去の状態の変化が、
全く分からなくなってしまいますから・・・

上書きの頻度が、頻繁に多くない限りは、
すべての過去ログを残すことをお勧めします。

そうすれば、いつ、どのプログラムが、
どんな値を書きこんだのか？
後で調べる手がかりになるからです。

又、あり得ないデーターを予測しておいて、
アラートを立てる方法もあります。

最小値や最大値だけでなく、
変化量に関しても調べるようにするとよいでしょう。

その分、システムの負荷は増えますが、
今どきは処理スピードを優先するよりも、
膨大なプログラムを管理するための、
チェックをしっかり入れた方が賢いと思いますよ～

バグが多いと商品サービスになりませんが、
システム全体の処理が遅いぐらいなら、
メモリーを増やしたりＣＰＵを早くするだけでも、
十分改善できるわけです。

又、ソフト的なエラーチェックが、
本番でも掛からないようになったなら、

デバッグ機能を外してしまえば、
パフォーマンス改善にもなります。

コンパイラーのスイッチのようなものを、
自前で用意するぐらいは、予め考えておきましょう。

話が、かなり長くなりましたが、
予測不可能なデーターのバグは、
殆どは、複数のプログラムからの書き換えが原因です。

身近な例ですと・・・

雨の日、コンビニに入るとき、
傘をたたんで、傘立てにいれた場合。

買いものを済ませて外にでるとき、
「あれ～傘がない！」

・・・誰でも経験あると思います。

要するに、誰かが、
自分の傘を持っていったのですが、
不思議なバグの多くは、所詮、そんなものばかりです。

複数で開発する場合、
自分のデーターは、自分しかいじらないこと、

複数の関数から、
共有の変数に対して書き換えしないこと。

もし変数や、受け渡しがある場合は、
その辺りのルールを明確にきっちりと仕様に残すべきです。

オブジェクト指向だろうが、そうでなかろうが、
この辺りが、すべてのキモになることは、
ＩＴだけでなく、普段の仕事でも感じますね～(^^;;

結果が出ない人の多くは、
繋ぎの部分が、あまり上手でないと思います。

少なくても会話の量を増やすか、
書面に残して、相手との意思の疎通を計って下さいね～

今日も「いいスマイル」で行きましょう！
</description>
         <link>http://blog.e-smile.ne.jp/prg/2010/09/post_964.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/09/post_964.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">プログラミング（概論）</category>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Fri, 03 Sep 2010 09:04:10 +0900</pubDate>
      </item>
            <item>
         <title>「暗記より応用を増やす！」</title>
         <description><![CDATA[みなさん、おはようございます。

昼間も熱いですが、夜も熱いですね～
東京都心の熱帯夜は（最低気温２５度）
４８日目となり、最多記録を更新したそうです。

孫さんも、後継者を育てる方針（夢）を持っているようです。
社内大学を作るなど、
これからの教育についても話されていました。

高度成長期の日本は、
上を目指し、後から追いかける立場でした。
よって暗記７割、応用３割の学習でもよかった。

でも今の日本は上位にいるのですから、
暗記３割、応用７割でなければ、
この先の成長も見込めないでしょう。

「なるほど！・・・なっとくです」

でも、相変わらず日本の教育は暗記がメインです。
自分の頭で考えることが、少ない現実なんですね～

「う～ん。残念で仕方ありません。」

では、応用力を増やすには、
どうすればいいのでしょうか？

成毛さんのこちらの本によれば、
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4047102393/founder-22/
" target="_blank">自然科学を勉強しなさいと書かれています。</a>

自分で物事を予測し、
それを実際に行って結果を検証して行く作業です。

歴史を重んじる人も多いのですが、
複雑な今日においては、未来にどこまで通用するのか？

成毛さんやバフェット氏などは、
その辺りに多少の疑問を投げかけています。

成功している人の特徴として、
まわりと逆の行動をとることが挙げられます。

例えば、天才と呼ばれるような人たちは、
幼児期に問題も多く、

学校にもいかず、
親からの教育を受けて育った人もいるぐらいです。

天才とはいかなくても、
個性やオリジナリティーを身につけようと思うなら、

やはり自分らしい考えを持つこと、
人とは違った行動をとるなど、

予測不可能なことに挑戦しなければ、
応用力も付きません。

若いみなさんは、
人に迷惑をかけない範囲で、(^^;;
もっと思い切りよくやってみましょう！

当たり前ですが・・・

まわりには普通の人が多く、
同じような行動をとり、一般的な考えに流されていたら、
普通の人になってしまうのでしょう。

普通が悪いわけではありませんが、
今の平凡な毎日に満足していないのであれば、
個性を追求してみましょう！

「いいスマイル」で行きましょう！]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/09/post_963.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/09/post_963.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Thu, 02 Sep 2010 10:05:55 +0900</pubDate>
      </item>
            <item>
         <title>「ゴッホのような画家になりたかった」</title>
         <description>みなさん、おはようございます。

孫さんの小さい頃の夢の一つは、
画家になることだったそうです。

有名になってお金を稼ぐのではなく、
自分の好きな絵をひたすら描きたい。

死んでからその才能を認められた、
ゴッホを尊敬しているようでした。

よく「お金は後から着いてくる」
と言われますが、

やりたい仕事に無欲で打ち込めば、
自然と後から結果も出てきます。

目の前のお金に魅了されて、
流されるような行動をとっていると、
結局は、何も掴めないものです。

生活が苦しいからといって、
無難な仕事につき、夢を追いかけないのは、
結局、人生なにもやり遂げられないと、
孫さんも言われてました。

もし、今の仕事に夢を掛けているならば、
もっと質をあげるように、
努力することをお勧めします。

貰うお金が変わらなくても、
仕事の質をあげることは、
無欲の自己投資にも繋がります。

これを「Giveの永久ループ」と、
勝手に名付けてみます。(^^;;

ビッグチャンスを掴もうとするならば、
「Give and Take」ではなく、
常に、Give,Give,Give・・・です。

ギャンブルが得意な人なら、
この経験をしているはずです。

今日も「いいスマイル」で行きましょう！

これも、まわりの人に笑顔を、
Give,Give,Give、しているんですよね～(笑)
</description>
         <link>http://blog.e-smile.ne.jp/prg/2010/09/post_962.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/09/post_962.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Wed, 01 Sep 2010 09:03:50 +0900</pubDate>
      </item>
            <item>
         <title>「ソフトバンク／孫さん」</title>
         <description><![CDATA[みなさん、おはようございます。

円高対策も虚しく、
あっというまに、元に戻ってしまいましたね～(^^;;

政府も日銀も、ここまで効果がないとは、
予測していなかったのでは？

先日のカンブリア宮殿には、
<a href="http://www.tv-tokyo.co.jp/cambria/list/list20100830.html" target="_blank">孫さんが出演していましたね～</a>

彼の生い立ちを見ていると、
若いころ死と向き合っていたりなど、
パワーの源を理解できた気がします。

人生や仕事の充実度は、
人それぞれ異なると思いますが、

夢中になれる時間の長さによって、
成長の度合いが変わると、私は思っています。

「選択と集中」という言葉にあるように、
一つのことを掘り下げていくことは、
とても大切なことです。

そして仕事の成功でもうひとつ大切な要素は、
人のために尽くすというこです。
それも純粋な気持ちで損得勘定なしです。

孫さんも、自分の熱意は、自己満足であり、
そして、それは人に対して役立つこと、
人のためになることだと番組でも、
おっしゃっていました。

そこには、打算もなければ、駆け引きも不要、
自己犠牲も気にならないのでしょう。

利己主義で動く人は計算高く、
自分の都合を優先させますが、
このような人は孫さんと正反対と思います。

又、番組最後の場面では、
高校生たちに熱いメッセイジを伝えていました。

私も４４才になり、
最近、強く感じることですが、

気がつけば、あっという間に、
５０才、６０才になっています。
人生は、やはり短いものですね～

以下は、孫さんの番組中の貴重な言葉です。

金言１：本気で仕事を好きになれ
金言２：幸運の確率を高めよ
金言３：志高く

今日も「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_961.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_961.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Tue, 31 Aug 2010 09:45:14 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習その６」</title>
         <description><![CDATA[みなさん、おはようございます。

今日は、先日の続きです。

プログラムよりもデーターを知る方が、
具体的な理解が深まります。

これは、システム全体の設計から、
コーディングまで、どの工程についても、
同じことが言えます。

プログラミングのテストやデバッグ工程では、
何らかの入力に対して、正しい出力が得られるか？
ということに注力しています。

つまり、ソースの読みやすさとか、
どのようにプログラムが組まれているのか？
製品の最終段階では、求められていません。

どんな状況でも正確に、時間内に動作すれば、
製品チェックはＯＫです。

ということで、結果重視≒データー重視です。
よって、データーについての捉え方を、
しっかり、みなさんには習得して欲しいと思います。

※実際は、綺麗なプログラムの方がバグも少ないです(^^;;

では、データーをどうのように扱うか？
その基本を説明して行きたいと思います。

まず最初は、<a href="http://www.sophia-it.com/content/%E3%82%A2%E3%82%B5%E3%82%A4%E3%83%B3" target="_blank">アサイン（assign）定義です。</a>

何をどう定義するか？

すべては、ここから始まり、
最終的に商品の品質が決まる、重要な部分でもあります。

具体的にひとつのデーターを決める場合には、

１．データー形式
２．データー長さ（桁数）
３．データー変化（固定or可変、最小値～最大値）

このような要素を決める必要があります。

例えば、年号のデーターを定義する場合を、
ここで一緒に考えてみましょう。

１．データー形式は、１０進数の整数とします。
２．データーの長さは、キャラクター型で４桁。
３．データーの変化は、１ずつ増える（可変）0000～9999（最小値～最大値）

と仮定した場合。
ここでシステムの問題が直ぐに出てきますね～

まず、紀元前を表すことができません。
もうひとつは、10000年は、0000年になってしまいます。

どちらも、無視できるレベルではありますが、
ここでは、わざと例外エラーを取り上げてみました。

このように、データーを一つ定義するたびに、
問題がおこるかどうか把握する必要があります。

俗に言われる、システムの仕様というのは、
このような定義によって、決まっていきます。

尚、これをプログラムで対応する場合は、
エラー処理という形で実装します。

9999年から、10000年に変わる瞬間に、
なんらかのメッセージを出力するなど、
if文でチェックを入れます。

このように見ると、データー設計が、
実は、プログラムの基本でもあり、
品質を決める重要事項でもあります。

今日も「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_960.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_960.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Mon, 30 Aug 2010 10:22:44 +0900</pubDate>
      </item>
            <item>
         <title>「９．２Ｋ完走」</title>
         <description><![CDATA[みなさん、おはようございます。

休日出勤のみなさん、
お勤めご苦労さまです。

昨日は朝からジムにいき、
６０分かけて９．２Ｋを完走しましたよ～
iPod nanoの選曲もばっちり決めて、らくらく完走できました。

ふと気がつけば、
足のふくらはぎがかなり張っていて、

これ以上走るには、
もっとトレーニングが必要そうです。

フルマラソンンの選手は、
この４倍の距離を、倍のスピードで走るのですから、
もの凄い練習量をこなしているのでしょう。

先週の私は、物凄く忙しく、
一週間分のニュースを、まとめて確認しました～

相変わらず、１１１才のお年寄りの事件や、
若者の失業率の悪化など、根本的な問題が山積みです。

又、小沢氏の出馬も決まり、
経済や円高への対策も少し時間がかかりそうです。

猛暑と円高、
どちらが続くのでしょうか~(^^;;

又、ひとつ目に留まる記事がありました。
ソフトバンクでは、社内に大学を作ったそうですよ～

「正直、羨ましい・・・(^^;;」

サラリーマン終身雇用が崩壊したいま、
公務員以外、時代に合わせたスキルを身につけるしか生き残れません。

とはいえ、自ら進んで勉強することも難しいでしょう。

私は会社という環境を利用して、
仕事に集中できるようにしていますが、

これが自宅だったら・・・
やはりダラダラと過ごしてしまうでしょう。

ソフトバンクのように、
会社という身近なところで学べるのは有難いことですね～

もし、自宅で勉強するなら、
<a href="http://www.nhk.or.jp/kokokoza/index.html" target="_blank">ＮＨＫ高校講座</a>や、
<a href="http://www.dougaku.tv/" target="_blank">動学.tv</a>のような、
動画や音声のサイトを利用するのもお勧めですね～

それではみなさん、よい休日を！
「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_959.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_959.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Sun, 29 Aug 2010 10:54:51 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習その５」</title>
         <description><![CDATA[みなさん、おはようございます。
休日出勤のみなさん、お勤めご苦労さまです。

夏休み最後の休日は、
家族でどんな過ごし方をしますか？

子供のころの記憶を思い出してみましたが、
な～んにも思い浮かびませんね～(^^;;

夏の風物詩といえば、
お化けや妖怪など怪談話ですが、

こわ～いもの見たさで、
こちらのＤＶＤをかりてしまいました。
<a href="http://www.amazon.co.jp/gp/product/B002JXBHKI/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=466449256&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=B00067HCXU&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=06VT6Z8PTWS78C1KG1J5" target="_blank">「ソウ」「ソウ２」「ソウ３」</a>

最後は、かすれた低い声で、
「Game Over!!」

これが決めセリフ。(><;;
「あ・・・こわ！」

もし、よろしければ、どうぞ！

プログラム学習における、
意外な盲点は、データーの知識です。

プログラムとデーターで、
どちらが大切で重要かといえば、
実は、データーのほうです。

正しいデーターの形、その変化が分かれば、
あわせてプログラムは作れます。

つまり、データーは最終結果であり、
求めるその物なのです。

そして、プログラムの書き方は、
何通りもあります。

例えば、Ａ＋Ｂ＝１０

１０というデーターを計算する方法は、
たくさんありますよね～

Ａ＝１、Ｂ＝９
Ａ＝２、Ｂ＝８
Ａ＝３、Ｂ＝７

人によって、プログラムのソースが異なる原因は、
このような性質から起こるのです。

プログラムでつまずく場合は、
データーをしっかりイメージできていないことも、
ひとつの原因です。

是非、データー構成、データーの変化、
ここを頭でシミレートできるようになれば、
プログラムも完成したようなものです。

今日も「いいスマイル」で行きましょう！

]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_958.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_958.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">プログラミング（概論）</category>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Sat, 28 Aug 2010 09:19:46 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習その４」</title>
         <description><![CDATA[みなさん、おはようございます。

先日、私が専門学校の授業で利用していた、
カリキュラムが検索に掛かったそうです。

<a href="http://www.game-programer.com" target="_blank">こちらのコンテンツも、
よければ、ご覧になってくださいね。</a>

昨日は、わざと日本語でプログラムを書いてみましたが、
それは、大切なことを伝えたかったからです。

言語そのものは、機能を備えているだけで、
とくに難しいことではありません。

日本でプログラムが掛ければ、
それを、他の言語に置き換えればよいのですから・・・

では、何が難しいのかと言えば、
作ろうとするプログラムそのものを、
日本語でも表現できない壁があるだけです。

図や言葉でプログラムを表したものを、
設計図、仕様書と呼んでいますが、

作りたいものを、表現できるようになれば、
ＳＥにも、プログラマーにもなれるのです。

よって、プログラムで挫折する人のほとんどが、
作ろうとしている物のイメージが曖昧なだけです。

相手は、あくまでもコンピューターですから、
きめ細かに指示を出さないと動いてくれません。

それが顕著に表れるのがバグですね。
バグがでたとき、原因を追及できないときがありますが、
これは、不足の事態、例外などを予測できていないからです。

したがって、バグが取れる瞬間、
「あ～、そっか・・・」と、
気づかされることばかりです。

今日も「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_957.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_957.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">プログラミング（概論）</category>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Fri, 27 Aug 2010 09:56:23 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習その３」</title>
         <description>みなさん、おはようございます。

円高、株安、雇用の回復は厳しい状況ですが、
私たちの仕事は、徐々に増えていますね～

私たちのような仕事は、
雇用が増加しないままの方が、
注文が増えるのかも知れませんね～


プログラムのフロー制御では、
大きく２つの種類があります。

ひとつは、分岐処理。
もうひとつは、繰り返し処理。
この２つで、殆どのプログラムが掛けるでしょう。

分岐は、if else です。

if（条件式）{
	Ａの処理
} else {
	Ｂの処理
}

条件式を満たせば、Ａの処理
そうでなければ、Ｂの処理
たった、それだけのことです。

繰り返し処理は、for ループ処理です。

for（条件式）
{
	Ａの処理
}

条件式を満たせば、Ａの処理を行う。
つまり、繰り返し処理にになります。

言語によって、
書き型の形式はさまざまですが、
処理フローは同じです。

では、1～10まで足すプログラムを、
日本語で書いてみましょう。

繰り返し処理（初期値として、Ａ＝０、Ｃ＝１とする。Ｃが１０を越えるまで繰り返す。）
｛
	Ａに、Ｃを足す。
	Ｃに、１を足す。
｝

勝手な言語ですが、
これで、繰り返し処理から抜けた時は、
Ａの値は、５５になるはずですね。

実際の言語に拘る必要はありません。
自分で理解できる、日本語で意味を理解しましょう。

では、同じプログラムを、
ちょっとアレンジしてみます。


繰り返し処理（初期値として、Ａ＝０、Ｃ＝１とする。無限大に繰り返す。）
｛
	Ａに、Ｃを足す。
	Ｃに、１を足す。

	分岐処理（もしＣが１１になったら）
	｛
		ループ処理を、中断する。
	｝それ以外｛
		なにもしない。
	｝
｝

変更点は、上のプログラムと比較して下さい。
Ａの値は、同じ結果になると思います。

今度は、無限ループにして、
途中で、処理を中断するかどうか？
分岐処理を加えてあります。

では、最後にＣ言語で書きますと・・・

for(a=0,c=1;c&lt;=10;)
{
	a = a + c;
	c = c + 1;
}

もうひとつは、こちらです。

for(a=0,c=1;;)
{
	a = a + c;
	c = c + 1;

	if( c == 11 ) {
		break;
	} else {

	}
}

※変数の型宣言は省略

みなさんどうですか？
これで分からない人は、
おそらくいないと思います。

プログラム学習の初期段階では、
簡単で短いものに触れるようにしましょう。

実際に日本語に置き換えることができれば、
どんなプログラム言語にも変換できます。
大切なのは、その本質を知ることですよ～

今日も「いいスマイル」で行きましょう！

</description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_956.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_956.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">プログラミング（概論）</category>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Thu, 26 Aug 2010 11:19:13 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習その２」</title>
         <description><![CDATA[みなさん、おはようございます。

この暑さと円高は、
どこまで続くのか分かりませんね～

日本だけが貧乏クジを引かされ、
経済の回復が遅れるのは、「いかがなものでしょうか？」
ちょっと古いセリフですね。(^^;;

<a href="http://www.amazon.co.jp/%E5%8F%B2%E4%B8%8A%E6%9C%80%E5%BC%B7%E3%81%AE%E6%8A%95%E8%B3%87%E5%AE%B6%E3%83%90%E3%83%95%E3%82%A7%E3%83%83%E3%83%88%E3%81%AE%E6%95%99%E8%A8%93%E2%80%95%E9%80%86%E9%A2%A8%E3%81%AE%E6%99%82%E3%81%A7%E3%82%82%E3%81%8A%E9%87%91%E3%82%92%E5%A2%97%E3%82%84%E3%81%99125%E3%81%AE%E7%9F%A5%E6%81%B5-%E3%83%A1%E3%82%A2%E3%83%AA%E3%83%BC-%E3%83%90%E3%83%95%E3%82%A7%E3%83%83%E3%83%88/dp/4198624763" target="_blank">
こちらの書籍を読むと、
「バシット」筋が通って不安も解消しますよ～
</a>

史上最強の投資家、バフェットの教訓は、
目からウロコの連続です。

ここで、最初の一文を紹介します。

『ルールその１、絶対にお金を損しないこと。』
『ルールその２、ルールその１を、絶対に忘れないこと。』

これを、汎用性のあるプログラムにすると、
以下のようになります。

『ルールその１、○○○○○○○○○○○○○○○。』
『ルールその２、ルールその１を、絶対に忘れないこと。』

○○○の部分は、変数ですね。
では、この○○○に、他の言葉を入れてみましょう！

○○○＝健康に気をつけて、体調管理をすること。
○○○＝その日の仕事は、必ず、その日に終わらせること。
○○○＝人に嘘をついたりしないこと。

どうでしょうか？

こんな感じに置き換えてみると、
この教訓（プログラム）の素晴らしさを実感します。

何を入れても、それなりに的を得ています。

どんな変数に置き換えても、
それなりの出力結果が得られることが、
アルゴリズムとしての完成度が高い証拠です。
やはりバフェットは天才ですね。(^^)/

では早速、言語体系についてお話しますね。

最初は、どんな言語でも、
お決まりの、「Hellow World!」の出力です。

C言語
printf("hello, world");

C++
std::cout << "Hello World";

JAVA言語
System.out.println("Hello World");

PHP言語
echo "Hello World";

Perl言語
print "Hello, world";

JavaScript言語
document.write("Hello World!!");

VB言語
MsgBox "HelloWorld!"

PASCAL言語
WriteLn('Hello, world!');

<a href="http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7" target="_blank">
こんなリンクもありましたよ～</a>

約100種類でしょうか？
びっくりしました～(^^;;

これらを見ると、どうでしょうか？
共通している部分と、異なる部分がありますね。

当たり前ですが、Hello World は同じ、
実際に文字を出力する関数名が異なるだけです。

これも言語が異なるのですから、
当然といえば、当然ですね。

でも、どの言語でも目的は同じです。
後に続く文字「Hello World」を表示して下さい。

私たちからすると、
文字を表示してくれる関数は、どんな名前かな？
それさえわかれば、あとは、実際の文字を渡すだけですね～

このように、基本的な関数は、
どんな言語にも標準で備わっています。

そして、その記述方法は、
「関数名」＋「表示する文字」の形式をとります。

※アセンブラでは、異なります。

みなさん、どうでしょうか？

たくさんの例を、こうやって見ていると、
抽象的に物事を捉える事ができます。

具体的な意味よりも、
その機能を読み取りましょう！

国語で言えば、主語＋述語
の関係と捉えてもＯＫです。

プログラムは逆さで、
述語＋主語となっています。

今日も「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_955.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_955.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">プログラミング（概論）</category>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Wed, 25 Aug 2010 01:31:40 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習その１」</title>
         <description><![CDATA[みなさん、おはようございます。

今日から数回にわたって、
プログラミングを、お伝えしていきます。

ちなみに、こんなサイトを教えて貰いましたので、
みなさんも、よろしければどうぞ！
<a href="http://www.mext.go.jp/programin/ " target="_blank">小学生向けの学習サイトだそうです！</a>

まず、プログラム学習は、
大きく２つに分かれます。

１．言語体系
２．アルゴリズム

１の言語体系とは、CでもJavaでもアセンブラでも、
すべて同じ性質を持っています。

やりたいことは決まっていて、
記述方法が異なると思ってください。

これを日常の言葉でなら、
「こんにちは！」と相手に挨拶をしたい。

目的は、挨拶です。
英語でいうなら、みなさんご存知「Hello」となります。

言語体系を何かひとつでも覚えれば、
実は、他の言語の学習も容易になります。

２のアルゴリズムは、
具体的なアプリケーションとなります。

「掲示板を作る」「レースゲームをつくる」
これらは、それぞれのノウハウが必要になります。

したがって、言語の複数習得よりは、
時間がかかります。

とはいえ、アプリケーショにも、
共通の部分は沢山ありますから、
アルゴリズム単位で、応用は効きます。

まとめると、初心者の方は、
まず、言語体系から入って、
プログラミングの作法を覚えましょう。

アルゴリズムは、その後からついてくるものです。
くれぐれも、この２つを同時に考えないように・・・
急に難しくなってしまいます。

言語体系は、やさしいもの。
アルゴリズムは、経験を通じて学んでいくもの。

まずは、このようにイメージしましょう！

そして今回は、
言語体系のみ解説して行こうと思います。

今日も「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_954.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_954.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">プログラミング（概論）</category>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Tue, 24 Aug 2010 08:43:43 +0900</pubDate>
      </item>
            <item>
         <title>「プログラム学習方法」</title>
         <description><![CDATA[みなさん、おはようございます。

相変わらず、筋肉痛の私ですが、
筋トレも含めて、痛い＝効果あり
・・・ということから、(^^;;

どんな苦しみも、
なんだか心地よく思ってしまいます。

さて、プログラム学習方法というと、
初心者にとっては、なんだかハードルが高く感じてしまい、
なかなか手を付けない人も少なくありません。

そういえば、新卒の就職支援を、
政府がバックアップするそうです。

一人でもおおく、
このＩＴ業界に入ってくると嬉しいですね～

プログラムやシステム設計には、
論理的な仕事のノウハウが詰まっていますから、

仕事の基礎が身につけられる、
素晴らしい職種のひとつでもあると思います。

特別、複雑なことをしなくても、
さわりだけでも体験すれば、

「あ～仕事って、こうだよね～」と感じるでしょう。

ひとりよがりかも知れませんが、
一人でも多くの人に学んでほしいと思い、
今回は、こちらの書籍を紹介します。

ＰＨＰの絵本
<a href="http://www.amazon.co.jp/PHP%E3%81%AE%E7%B5%B5%E6%9C%AC-%E6%A0%AA-%E3%82%A2%E3%83%B3%E3%82%AF/dp/479811264X" target="_blank">アマゾンのリンクはこちら。</a>

レンタルサーバーを借りれば、
簡単にＨＰを公開できます。

そこに簡単なプログラム機能を付け加えれば、
遊びとしての楽しさも増します。

まだプログラミングを体験してない人は、
この機会にどうぞ！

全ての言語に共通する、
学習方法を少しずつお話していきます。
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_953.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_953.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Mon, 23 Aug 2010 19:02:30 +0900</pubDate>
      </item>
            <item>
         <title>「６．５Ｋ完走」</title>
         <description><![CDATA[みなさん、おはようございます。

休日出勤のみなさん、
お勤めご苦労さまです。

昨日は、ジムで４５分かけて、
６．５Ｋを完走しましたよ～

iPod nanoと、新しいスニーカーの効果もあり、
割と楽に走れていますね～

あとは選曲をしっかりやれば、
１０Ｋぐらいまでなら走れそうな気がします。

ただ途中で、スローな曲などが入ると、
急に疲れがでます。不思議ですよね～(^^;;

ロック系など、早いリズムで、
勢いのある曲なら、どんどん走れます。

「♪１、２、１、２、１、２、１、２」

でも、一時間連続で走るなんて、
なんだか凄いですよね～

ちょっと時間が無駄な気もしますが、、、

走ったあとの爽快感を考えれば、
そんなこともありません。

ちなみに私の休日は、
電子工作から、コボラーとなっています。(^^;

今、２本目の例題プログラムを打ち込んだところですが、
この章では、SORT 命令が出てきます。

SQL文もどきを、プログラム内に記述できるのですが、
歴史的にみれば、SQL言語は、完全にCOBOLからきてるでしょう。

<a href="http://ja.wikipedia.org/wiki/SQL" target="_blank">やはり、そうでした・・・</a>

SORT	RECORD
	ON	ASCENDING	KEY	INDEX
	INPUT	PROCEDURE	BEFOR-PROC
	OUTPUT	PROCEDURE	AFTER-PROC.

しかも、ソート前とソート後に、
関数を呼び出すことが掛けます。

コールバックのような仕掛けができるのですが、
なかなか、COBOLもやりますね～
SQL文が組みこめるとは想像外です。

尚、変数定義は、
ファイル内では、全てグローバルです。

良くも悪くも、
しっかり変数名を付けることは、
後々、ソースを調べるのには便利です。

Grepで検索するときなど、
不要な行を出力することも少なく、
絞り込みができるでしょう。

プログラムのバグの殆どは、
タイプミスとか、思い込みとか、勘違いとか？

頭の中のイメージや、設計では合っていても、
書いてるうちに乱れて行くものです。

おそるべし、人なんです。(^^;;
そして、信じることと、疑うことが交錯します。

今日も「いいスマイル」で行きましょう！

]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_952.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_952.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Sun, 22 Aug 2010 10:00:00 +0900</pubDate>
      </item>
            <item>
         <title>「米国の長期失業」</title>
         <description><![CDATA[みなさん、おはようございます。

休日出勤のみなさん、
お勤めご苦労さまです。

米国では８５０万人もの職を失い、
現在でも、その一割の８０万人程度しか、
雇用が改善していません。

その要因として、
海外の現地の雇用を増やしているそうです。

今や市場開拓は、自国ではなく、
今後の可能性が見込める海外なのでしょう。

また、残念ながら優秀な人材の質、量ともに、
インドや中国の方が上です。

ハーバードへ通う日本人留学生は、たったの５名だとか？
<a href="http://www.yomiuri.co.jp/kyoiku/news/20100311-OYT8T00417.htm" target="_blank">「日本人学生　存在感薄い」ハーバード大学長会見。</a>

つまり、これが現状であり、
世界の未来を表していると思います。

つまり、大学のことではありますが、
将来の企業像として見ることもできますね。

どの企業も生き残りをかけて、
毎日が真剣勝負をしています。

必然的に将来の理想を求めて、
中身はどんどん変わっていきます。

でも、私たち個人は、
そのスピードには、全く追いつけません。

人は、簡単に考えや行動を変えられないものです。
たとえ変えようとしても、時間が掛かります。

ここが、雇用問題の根本的な要因で、
高い壁になっていることは、
だれもが、痛いほどよく分かっています。

結局、その人ができる内容の仕事を、
国は用意するしか方法がなくなります。

でもこれは、時間の先延ばしとなるだけで、その場しのぎ。
不景気がくるたびに、この問題が表面化するのでしょう。

雇用なき回復は、先進国の大きな重荷となり、
じわじわと、国の体力を失っていきます。

先進国のデフレ、新興国のインフレ、
バランスをとるための中心点は、
どこだか分かりませんが、

日本を含めて、先進国で働く人は、
ここが正念場です。

今日も「いいスマイル」で行きましょう！
]]></description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_951.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_951.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Sat, 21 Aug 2010 10:51:58 +0900</pubDate>
      </item>
            <item>
         <title>「働き方と、長期失業」</title>
         <description>みなさん、おはようございます。

曇りで、日差しが弱くなっただけでも、
かなり涼しい感じがしますが、

まだまだ、この暑さは続くそうですね～

先日は、ゲーム業界の方で会食をする機会があり、
かに道楽に行ってきましたよ～

かに、かに、かに三昧！

こんなにたくさんのカニを食べるなんて、
過去にも記憶にないですね～(^^;;

さて、働きかたのスタイルは、ひとそれぞれですが、
毎日のことだけに、成長カギになることは、意識して下さい。

私のスタイルを押しつけるつもりもありません。
個々でよい流れを作って頂ければ、それでいいですよ～

ただ、基本的なことは必須になりますから、
新人のみなさんは、しっかり身につけましょう。

笑顔で明るく、健康で元気よく働くことや、
礼儀正しい言葉づかいや、社交性などは、
社会人として、注意してください。

人も猫と同じように、警戒心があります。
この人と仕事をしても、うまくいかないだろう・・・

と思われ続ければ、これが長期失業に繋がるものです。
知らないうちに、気づかないうちに・・・

今日も「いいスマイル」で行きましょう！


</description>
         <link>http://blog.e-smile.ne.jp/prg/2010/08/post_950.html</link>
         <guid>http://blog.e-smile.ne.jp/prg/2010/08/post_950.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">生涯現役（未来のエンジニア像）</category>
        
        
         <pubDate>Fri, 20 Aug 2010 11:39:27 +0900</pubDate>
      </item>
      
   </channel>
</rss>
