プログラム言語は実際に使っていると出来るようになってくる。やっぱり、手を動かして何かを作ってみることが大事。
新しいプログラミング言語も、少しずつでも継続していると段々と出来るようになってきます。
プログラミング言語は、本だけ読んでもやっぱりなかなか身につきません。この「身につく」という感覚は手を動かして実際にプログラムを作ることによって、得られるように思います。
この2週間くらいSwiftでiOSの端末から会計データを保存したサーバーに画像を送る処理を作っていました。最初はエラーが多く出て時間がすごくかかるのですが、個々のパーツが出来てくると、段々と進捗が速くなってきます。Swiftも触り始めてもう2年ぐらいですが、近づいたり遠ざかったりでした。
ここ最近2週間くらい集中して触っていたら、感覚が戻ってきた以上に、随分この言語の使い方についてわかってきたように感じました(もちろん、まだまだ全然ですが。)。
新しい機能を作ろうとすると、直接その部分の知識だけではなくて、その周辺の知識も必要になります。これが、プログラミングの壁を高くしている一つの理由だろうなとは思います。
例えば、今、C#で動く会計ソフトのサーバーにiOSから領収書などの画像データを送るもの仕組みを作っているのですが、最初は上手く動きません。それで、エラーの内容を確認したいのですが、別の端末からのネットワーク経由でのデータの送信であるため、デバッグが出来ません。デバッグモードではないので、ブレークポイントを設定することが出来ません。
それで、初めてlog4というログを出力するオープンソースのツールを使ってみたのですが、これを使えるようにするために、2-3日くらいはかかったように思います。
実際に動くプログラムを作ろうとすると、その周辺環境は様々なため、それに合わせて動くようにするために、結構沢山の関連知識が必要になるのです。そして、その関連知識が重要なのです。関連知識がないと動くプログラムは作れません。
プログラミングは本を読むことも大事だと思うのですが、本だけ読んでもほとんど頭に残りません。頭の良い方は違うのかも知れませんが、少なくとも私の場合は、読んでもほとんど後で使えません。。
作ったプログラムは実際に使った方がよい。ただでも提供した方がよい。
それと作ったプログラムやサービスは、やっぱり実際に使った方が良いですね。実際に使うことで、プログラムは育っていきます。不具合を修正したり、足りない機能やこれがあった方が良いなという機能を追加して、コードが段々大きく、そして複雑になっていきます。
それが、蓄積になるのですね。私はプログラミングのこの蓄積していく部分が好きで、これがプログラミングを続けて行こうと思った理由の一つです。プログラムは一度書くと、何年でも動きます。そして、それに手を加えていくことで、少しづつでも良くしていくことが出来るのです。つまり、プログラムはスキルとして生産手段でもあるのですが、(ここが難しいのですが)良いプログラムであれば資産として残るのです。
ここが、税務や法律、語学などのプロフェッショナルとしての仕事と異なるところです。
うちの事務所では、送ったり受け取ったりした郵便物をデータベースで管理しています。データベースと言ってもそんなに上等なものではなくて、ウェブのシステムに何を受っとったと文字で記録しているだけです。
でも、文字だと「税務署からの書類」とあったりして、最近、実際に送ったり受っとった郵便物が何だっけとなることが、時々あります。
色々な会計事務所がありますが、郵便物の受取の管理はどうやっているのでしょう。
これを写真を取って画像で保存しておけばもっとわかりやすくなるのではないかと言う試みです。
(宣伝)
弊社で作っているウェブで動くクラウドの会計ソフト「七夕」はこちらです。
七夕
給与計算のシステムはこちらです。
七夕給与
(車のほとんど走っていない朝の表参道)