こんばんは
ウチヤマです
プログラムのテキストを買うと
計算の仕方から、画像処理の仕方
また、サンプルプログラムに沿って作りましょう
ってのが山ほどあるけど
実際には、自分の作りたいものを考えた時
手が止まってしまいます。
明らかに簡単なプログラムなのに
もう最初っから、教科書とは違う!!動かない!!
ってなってしまいがちでうす。
結局、自分の作りたいものの全体図を
自分で考え、
他人のプログラムの、自分のプログラムに使えそうなところだけ
コピーしてきて、使うんだけど
それもそんなに甘くない。
そのブログラムが古かったり、
使われてる言語が違ったり、
裏で、パッケージをインストールしておかなければ行けなかったり、
そもそも、プログラムが間違ってるなんてことも、ザラにあるのです。
日本の、プログラマーの情報サイトであるQiitaで
色々な人が記事を書いているけれども、
古いもの
間違ってるやん!っていうものが結構あります。
誰かが検証する訳でもないし
プログラムの言語そのものにもバグがある時があるのです!!
もう、途方に暮れるしかないこの状況。
結局、自分で誰かのコピーをしてきて、動かしているうちに、
「あれ?ここを変えると表示が変わるぞ?この数字はここに影響するのか」
とか、
「重要だと思ってたここは、書き換えても何も怒らないじゃん。いらないじゃん」
と思って削除したら
後々、肝心なところで動かなくなって、必要性に気づく、とかです。
だから、
Windows95のメインの開発担当者の「中島聡」氏に言わせると
プログラムは、作っては壊し、作っては壊しの連続だ、と。
その意味は、
作って、取り入れて、数字を変えたり表示を変化させてみたりして
手を入れていくうちに、だんだん仕組みがわかってきて
(あ、もう一回最初から綺麗に書き直そうかな)と思うタイミングがくるので
それを、壊す、という表現になるんですね。
でも、この手法、
壊す前のプログラムなり、いじる前のプログラムなり
あと、壊した後、再構築したら動かなくなっちゃって、
壊す前のプログラムを見直したい時など
とにかく、色々なところにプログラムを残しておかないと
悲惨な結果になることは目に見えています。
そこで、必須となるのが、バージョン管理と言って
Githubという、無料で使えるWebのサービスを使うことになります。
これは、今までの変更を全部覚えていて、
どこのタイミングまで巻き戻すかを自由に「視覚的に」管理できるのです
これがタダ!!
でも、甘くはありません。
このGithub 全編英語。
しかも、解説してくれている書籍やブログがあるのですが
これも間違っていたり思うように動かなかったり、
ぜーんぶ消えてしまったり。
肝心なところが書いていなくて、「この人、ほんとに分かっているの?」って本まであります。
書籍なのに・・・
つまり、Githubも人が作ったものなので
癖もあれば、バグもある。
もう、プログラムというのは全編そういう世界です。
でも、このGithub
使えるようになってくると、非常に便利。
これも「中島聡」氏の使い方を教わったのですが
プログラムを動くところまで作ったら、
それを「branch(ブランチ)」という
メインをコピーした別のファイルを作ります。
そこで色々イジって、試して、
うまくいったら、本体に「マージ」と言って、
変更部分を合流させることができるのです!!
もし、訳がわからなくなってしまったら、
もう、そのブランチを削除してしまって、
もう一回ブランチを作るところから再開できるのです。
この手法で、ガンガン色々なものを試すことができるようになりました。
また、Webに変更点などを取っておけるので
家のパソコンで修正したものを、会社のパソコンでも反映させて
続きのプログラムを作るということが可能になります。
つまり、プログラムを個人で作っていこうと思ったら
Githubは必須!!
というお話でした。
さて、
なかなか、スコアシート作成サポートシステムが進まない
言い訳が続きます・・・