今は、iPhoneのプログラミングは意外とできる。コツコツやれば誰でも。

 プログラミングは意外と誰でも出来るという話です。

 スーパープログラマーがやるような、AIとか将棋の対戦とかのすごい難しいことは置いといて、一般的な事はすごくハードルが下がったような気がします。会計システムなんかは、コツコツやれば、シンプルなものは結構簡単に出来る様な時代になりました。

昔は、プログラム言語もすごく難しかったので、動くものを作るだけでも相当に大変だったと思います。最近は色々わかりやすいものが出てきて、それ程コンピューターの深いところに知識がなくても動くだけのものなら、簡単にできるようになりました。

 iPhoneのプログラミングも以前はObjective-Cという非常に難しいというか、「取っ付きにくい」言語の習得が必要で、なかなかハードルの高いものでした。私も以前に挑戦したことがあるのですが、メモリー管理というのがあり、メモリー・リークの処理の仕方がよく分からず挫折しました。

どれくらいObjective-Cという言語がわかりにくかったかというと、Appleがわざわざ新しい言語を出したくらいです(多分)。私もObjective-Cをやろうとした時、それまでにC#やJavaの経験が何年もあったのですが、かなり格闘しましたがわかりませんでした。(私の努力が足りなかっただけなのかも知れませんが。)

 他にもSwiftはスピードが速いなど色々と特徴があるのかもしれませんが、Objective-Cが難しすぎて、iOSで動くデバイスのプログラムの参入障壁が高すぎるが、Swiftと言う新しい言語を作った主な理由ではないかと思っています。

Swiftは直感的なオブジェクト指向言語でわかりやすいです。C#やJavaと似ていて、言語自体がメモリー管理をしてくれるので、メモリー管理をプログラマーがする必要はありません。これがC言語を経験していないJavaやVB以降のプログラマーには画期的です。

今は、iPhoneの会計アプリをリリースしようとして、少しずつプログラミングを続けているところです。1年ちょっと前に買ったMacbook Airを使って、通常の業務の合間を見て、地道に作業を勧めています。

このアプリでは、レシートをカメラで撮影すると、事務所のサーバーに転送され、事務所のスタッフがクラウドの会計システムに入力します。お客様は、このアプリから、この結果の財務諸表が見れるというシンプルな仕組みです。

この仕組みはそれ程画期的なものではないのですが、それでも、お客様には便利になりますし、事務所にもiPhoneやサーバー周辺のプログラミングの技術が蓄積されるので、良いことなのではないかなと思っています。

 それにしても、プログラミングのハードルは下がりました。コツコツやれば、サーバー側とスマートフォンなどの端末側のプログラミングも一人の人間が出来る時代になってしまいました。

****************************
本も色々買って勉強したのですが、この「親切すぎるiPhoneアプリ開発の本」がすごく良かったです。この本のステップ(39あるのですが)を一つ一つ実際に手を動かしてやってみて、今まで分からなかった基本的なタッチの部分や全体のフレームワーク的なものが随分わかるようになりました。

iphoneapptextbook

本は沢山読む事を競うものではない。

読書で自分を高める

本をたくさん読む事自体は全然OKだと思うのですが、手段と目的が入れ替わってたくさん読む事を目標にしてしまうのは、本末転倒です。本を読む楽しみがなくなってしまうので、むしろ有害な気がします。1日1冊とか、まず1000冊読むとか、量を目標にするのは、一時的には良いかも知れませんが、量を目的にしてしまうと本の中身を考える余裕がなくなるので、楽しくないです。

例えで言うなら、旅で行った国や町の数だけを競争するようなものです。楽しんで旅行をしてて結果そうなったのなら良いのでしょうが、数だけ集めても順番が違うように思います。

本は、沢山読むほうがえらい、難しい本を読めるほうがえらいみたいな考え方が一部の知識人と呼ばれる人たちの中にはあるようにも感じますが、私はそんなふうには思いません。

読書は、本来楽しみながらするものです。色々な世界に触れて、知識や人生の幅を広げるものです。

難しいことをやると決めて、それを書く。あとは淡々とやる。

どうせやるなら、少し難しいことに挑戦した方が、負荷がかかるし成長します。

なので、まずはやりたいことを考えてみます。次に、それが現実に可能かどうか考えて、大変だけどやれそうかなと思ったら、やると決めてみます。成功確率が半分くらいのものなら、十分にモチベーションは保てるので、やる価値ありだと思います。

できれば、そういうのを自分のノートか日記か何かに書いてみるのもいいと思います。そうすると、自分が自分の人生で何をしようとしているのか、毎日の生活の中でどこに向かった努力するべきなのか、普段あまり意識しなくても、無意識でちゃんと考えています。

書くのは重要ですよね。書く事は考える事ですから、書く事によってその人の性格、しいては、人生の方向が決まっていったりするように思います。逆に、何も書かないという事は、世の中の外からの刺激に対して、反応的な時間の使い方を決めているという事ですから、ちょっともったいないように思います。書かない事によるコストの大きさは、時間を無意識に何年も使ってしまうという意味で、実は思ったよりもはるかに高いのかもしれません。

ホームページをデザインすると言うことは、自分が仕事で何をするかという事を考えなおすという事。

仕事のホームページを作るためにPhotoshopを使ってみる事にしました。とは言っても使い方はまるでわからないので、今、本を買って勉強しているところです。

それなりのホームページをきれいに作るには結構時間がかかります。Photoshopやイラストレーターなどのソフトの使い方をおぼえる時間まで含めると、粗削りの簡単なものでも30時間から50時間くらいはかかるのでは無いでしょうか。

それでもプロの作るものにはきれいさやセンスでは到底及びません。ホームページを作るためにソフトの使い方から始めるのは、もう、仕事としてやると言うよりは、趣味になってしまっていると言われてしまうレベルです。それよりは仕事を50時間多くこなした方が、いいと言う考え方もあると思います。

でも、人にお願いするとホームページはなかなか思った様なものを作るのが難しいのです。数回くらい細い修正をお願いして、そのうち、イメージとはちょっと違うけど、これ以上手をかけると悪いから、「まっいっか」となってしまいます。

visualcommunicationbook

デザインやビジュアルには、文書にはない訴求力があります。文章ではうまく伝わらないコンセプトを直感的に伝えてくれることがあります。言い方を変えると、ホームページのデザインを考える上ということは、自分の仕事は何かということを改めて考え直して形にしなおしている作業だと言うことも出来ると思います。つまり、自分の強みは何か、自分はこの仕事で世の中に何を提供しようとしているのかを改めて考えて、他人にわかるように説明しようとしているわけです。

私の場合は、キレイに整頓された帳簿は整理整頓されてキレイに掃除された部屋のように、ビジネスを効率的にするし、やっている人間を幸せにしていると思っているので、そういう帳簿を提供するサービスをしていきたいと思っています。

ですので、ホームページでは、これを上手くビジュアルでわかるように出していく必要があります。(どこまで上手くできるかは別なのですが。。。)そうすると、ホームページで、どんなイラストや写真を用いるか、どこを強調するかなどが決まります。

そう考えると、デザインすると言う事も、自分の考えをまとめて外にわかりやすく表現していくという意味で、文章を書くのと同じ事なので、それなりに正当化できるのかなと思いました。