EZORISブログ
プログラムを作るとは
プログラムの作り方
プログラムを作る作業というのは、具体的に言うとどういう作業なのでしょうか?
プログラムを作ったことがある方なら、考えるまでもなくイメージできるものですが、
知らない方にとっては雲をつかむ(?)ような話かも知れません。
システムを開発会社に依頼するお客様にも、高いお金を払っているけど、具体的に何をしているのかはよくわからない、という方がいらっしゃるかもしれません。
■プログラムを作る作業
プログラムを作るという作業は「コンピュータに対する作業指示書を書く」作業です。
もちろん、コンピュータに対する指示ですから、日本語で書いても通じません。
Cとか、JAVAなどのような、コンピュータがわかる言葉(プログラム言語)で書きます。
(本当は、この後にコンパイラで翻訳する、という作業があるのですが)
しかし、書いている内容は「作業指示」に他なりません。
つまり、
・あれをこうしなさい
・こういう場合は、ああしなさい
・こうじゃない場合は、なにもしないでください
というようなことを順序だてて、延々と書いているのです。
ご存知のように、コンピュータは、人に比べて圧倒的に速く仕事をこなします。
それはもう、言葉でいい表せないくらいの速さです。
しかし、コンピュータは、指示されたことしかできません。
自分で考えて行動したり、その行動が正しいかどうかを判断したりすることはできないのです。
そこで、プログラムという作業指示書を正しく書いて、その通りに仕事をさせるわけです。
で、前述の通り「指示されたことしかできない」わけですから、作業指示書がちょっとでも間違っていると、「指示されたとおりに、間違えます」。
これがやっかいなところで、このためにプログラマはデバッグという作業を繰り返すことになるわけです。
言ってみれば、自分の作った指示書の間違いを自分で調べて修正している、ということになりますね。
■作り方は家内制手工業
こう考えると、プログラムを作るということは「家内制手工業(職人による「手仕事」)」と理解していただけると思います。
だからこそ、
・完成までに時間がかかる
・開発にかかる費用が高い
・作り手のレベル(プログラマの質)によって、品質に差が出る
ということになるわけです。
ご存知のように、18世紀後半の産業革命以降、工場での大量生産が始まり、コストが大きく下がるとともに品質が向上していきました。
プログラムの作り方についても、工業化によってコストを下げるとともに品質を向上させることはできないのでしょうか。
すべてのものがこういった方向に向かうわけではありませんし、今でも家内制手工業的なものづくりでなければできないものもたくさんあります。
しかし、ソフトウェアの工業化により「品質のよいプログラムを大量に生産する」という試みは昔から続いていますし、一部ではそれなりの成果も挙げています。
■ソフトウェアの工業化
残念ながら、ソフトウェアの工業化はまだまだ発展途上です。
その仕組みが確立されたと言うには、ほど遠い状況でしょう。
しかし、今後もこのような動きは続いていくものと思います。
プログラムを作ったことがある方なら、考えるまでもなくイメージできるものですが、
知らない方にとっては雲をつかむ(?)ような話かも知れません。
システムを開発会社に依頼するお客様にも、高いお金を払っているけど、具体的に何をしているのかはよくわからない、という方がいらっしゃるかもしれません。
■プログラムを作る作業
プログラムを作るという作業は「コンピュータに対する作業指示書を書く」作業です。
もちろん、コンピュータに対する指示ですから、日本語で書いても通じません。
Cとか、JAVAなどのような、コンピュータがわかる言葉(プログラム言語)で書きます。
(本当は、この後にコンパイラで翻訳する、という作業があるのですが)
しかし、書いている内容は「作業指示」に他なりません。
つまり、
・あれをこうしなさい
・こういう場合は、ああしなさい
・こうじゃない場合は、なにもしないでください
というようなことを順序だてて、延々と書いているのです。
ご存知のように、コンピュータは、人に比べて圧倒的に速く仕事をこなします。
それはもう、言葉でいい表せないくらいの速さです。
しかし、コンピュータは、指示されたことしかできません。
自分で考えて行動したり、その行動が正しいかどうかを判断したりすることはできないのです。
そこで、プログラムという作業指示書を正しく書いて、その通りに仕事をさせるわけです。
で、前述の通り「指示されたことしかできない」わけですから、作業指示書がちょっとでも間違っていると、「指示されたとおりに、間違えます」。
これがやっかいなところで、このためにプログラマはデバッグという作業を繰り返すことになるわけです。
言ってみれば、自分の作った指示書の間違いを自分で調べて修正している、ということになりますね。
■作り方は家内制手工業
こう考えると、プログラムを作るということは「家内制手工業(職人による「手仕事」)」と理解していただけると思います。
だからこそ、
・完成までに時間がかかる
・開発にかかる費用が高い
・作り手のレベル(プログラマの質)によって、品質に差が出る
ということになるわけです。
ご存知のように、18世紀後半の産業革命以降、工場での大量生産が始まり、コストが大きく下がるとともに品質が向上していきました。
プログラムの作り方についても、工業化によってコストを下げるとともに品質を向上させることはできないのでしょうか。
すべてのものがこういった方向に向かうわけではありませんし、今でも家内制手工業的なものづくりでなければできないものもたくさんあります。
しかし、ソフトウェアの工業化により「品質のよいプログラムを大量に生産する」という試みは昔から続いていますし、一部ではそれなりの成果も挙げています。
■ソフトウェアの工業化
残念ながら、ソフトウェアの工業化はまだまだ発展途上です。
その仕組みが確立されたと言うには、ほど遠い状況でしょう。
しかし、今後もこのような動きは続いていくものと思います。