プログラミングを素早く身につけるには?
「プログラムってなんかやっておいた方が良さそう」
「プログラムやっといた方がいいよって言われた」
こんな理由から独学でプログラムを学ぼうとしている場合、痛い目に会いますので引き返したほうがいいでしょう。
まるで今日からランニングしようと決心したのに「3日坊主」という言葉のまま3日で終わってしまうかのように、今まで多くの戦士たちが志半ばにして挫折してきました。
私もそのひとりでした。
専門用語を連発するプログラムの世界は、初心者には決して優しくないのです。
大学一年生の授業で、C言語が必修でした。理系の学部でしたが、そもそもなぜC言語を学ばなければいけないのかよくわからなかったんです。とても優秀な教授が、「これくらい理解して当然でしょう」という勢いで授業は進んでいきました。教授自身が執筆した教科書は、必要最低限の説明とソースだけで、なんのことだかチンプンカンプンでした。もともとC言語をやっていた人以外は、ほぼ全員がC言語の「ポインタ」の授業でつまずきました。
これがきっかけで私はC言語に挫折。「プログラム嫌い」になった訳です。
時は私がプログラミングできるようになる5年前のことでした。
(その時歴史が動いた風)
その後、会社に入るとC言語の研修がありました。会社からお金をもらっている以上授業をサボるようなことはできません。眠気をこらえながら、ここでもやったC言語の演習はこういうものでした。
ループ機能を使って、
*
***
******
********
**********
こんな感じの*のピラミッドを表示しなさい。
というものでした。
これをやる意味が全くわかりません。
だってコマンドプロンプトの真っ黒い画面に
*
***
******
********
**********
ですよ
さんざん悩んで1時間かけて作ったプログラムの結果が
*
***
******
********
**********
・・・教科書通りに画面に出力された結果が
*
***
*****
********
**********
これができたからなんやっちゅうねん!と思いました。
こういうわけで、プログラムをつまらなく思ってしまうと全く吸収できません。ひどく退屈な仕事だとしか思えませんでした。
しかし本来プログラミングは楽しいものです。
その後、アセンブラ、VB、JAVA、ASP、ColdFusionといった言語を学んだのですが、「プログラミングがおもしろいな」と感じられたのはJAVAを学んだときでした。
JAVAもやはり、当初C言語を学んだときと同じで、出力結果が黒い画面に数行出てくるだけでつまらなかったのです。
しかし、その時がきたのは、研修の最後でWEBショップを作っているときのことでした。
データベースとWEBページをJAVAで連動させて、ループ処理を使って書いた結果が、こういう風に出てきた時でした。
商品情報のHTMLが自動的に繰り返されている!!
そうか、amazon の商品紹介欄はこうやって作っていたのかっ
→これがわかったときモーレツに感動しました
なんて便利なんだプログラムー!
はたからみたらループで*のピラミッド作るのも商品の表示も本質的には同じループなんでしょうけど、具体的にこうやって使えるものだとわかると楽しいです。
この時からその後学んだ言語も、覚える力が格段に上がりました。ドラクエでいうなら、はぐれメタルをどくばりで倒したような、爽快なレベルアップです。
これは、プログラムを組まないとできないことだ。プログラムができるとこういうことができるようになる。ということがハッキリわかったからです。プログラムを学ぶ意欲が、この時からまるで変わりました。
こういうわけで冒頭にあったようなモチベーションでプログラム学習に取り組むよりは、
「プログラムを組めるとこれができるようになる」
何ができるようになるのかハッキリさせてから学習に取り組まれるのをオススメします。
たとえば作りたいシステムをWEB上で探し、それと同じサンプルソースが載っている本を探し、書き写します。動かしながら覚えることで「おれってばこんなことできるようになったじゃん」とモチベーションを上げましょう。個人的には画面デザインをきれいに作りこむとモチベーションが格段に上がります。このメソッドはこんな機能とか、プログラムの歴史などは後から学んでも全然OKです。
一度きっかけをつかむと、プログラムはあんなこともできるしこんなこともできるから、楽しんで覚えられます。
自分の思っていたことがプログラムを使ってできるようになると感動
重要なのは目標の明確化。プログラムができるようになると何ができるようになるのかっていうことの理解です。
ユーザーインターフェースには徹底的にこだわるべし!
インターフェースがこれからのWEBにはどれほど重要かというお話。
僕は今、農家のおじさんたちが使うWEBシステムを販促しています。直接生産団体に行って、携帯電話やパソコンを使ったWEBアプリの操作説明などしてます。
農家のおじさんというと平均年齢は50過ぎ
「○○さんは若いからねぇ。」というと大体40歳くらいです。
もう数年前から販促していますが、やっとのことで農家の人が「システムをやってみるか!」という気になってくれても、システムのインターフェースのまずさでつまずいてしまうことは多いです。
たとえばログイン認証の画面で、ユーザIDとパスワードをなんとか入力してもらっても、「ログイン」という言葉の意味がわからずに怒ってシステムを辞めてしまったおじさんもいます。
その後、ボタンのラベルを「開始」にしたことでその問題はクリアしました。
メニューのラベリングがいかに大事かということを切実に悟りました
また、毎日のように「○○のボタンはどこにあるのさ?」といった内容に答えるコールセンター業務もやっています。直接農家の方が操作を見ていると、WEBでつまずくポイントがわかってきます。
ボタンと機能が多すぎてわからないという意見が8割。項目名の意味がわからないという方が3割。
画面があちこち飛ぶので、ADSLであっても画面の切り替えが一瞬白くなることが慣れない人には苦痛。
なにもこれらは相手が農家の人だからというわけではないと思います。
最近ヒットしているWEBサイトはわかりやすく単機能なもの。もっといえば、パソコンではなくハードそのものが使い方を語るものがヒットしている。iPodとかニンテンドーDSとかWiiとか。
「メールは孫とするが、iモードは使ったことない」という人、多いです。
しかし、一方でこんなこともあります。
むしろ不得意な人が「これなら俺にもできんべな(できる)」と言ってくれたときには、その団体の中で爆発的に普及します。キーマンの人は、ITに不慣れであることが多いです。直感タイプが多いからかな、と思いますが、今のWEBは直感的に動く人からだいぶ遠いのだと思います。
逆に技術者は「こんなこともできるから」と、ついつい機能とボタンをすぐに増やしたがってしまいます。
ひとつの指標は、機械に強くない女性でもなんなく使いこなせるもの。そのためのインターフェースのデザインは、ボタンを削れるものは削り、機能を削れるだけ削り、とてもオシャレで簡便なものを追求しましょう。
良いデザインと悪いデザインをハヤク見極めるには?
http://www.campaignforrealbeauty.com/
今ハヤリのDoveのキャンペーンサイトより
本家の映像も衝撃的ですが、この画像もいいッスね。
Before-Afterが非常にわかりやすい。
この写真を持ってきて話したいのは
「女性の美」についてでもなく、PhotoShopの補正技術でもありません。
今や本屋にいけば写真補正などのデザインのノウハウ本が溢れかえっています。その数ある指南書の中で良書を早く見分けるのは重要。
僕の部屋にはタイトルだけ見て本を買い、じっくり家で読んでみたら全然よくなかった本が溢れかえっています。
この数々の本選び失敗経験をもとに、このブログを読んでくださっているみなさんへのオススメ。
ズバリ、デザインの基本をハヤク身につけるための良書は
冒頭の写真のようにBefore-Afterが明確になっている本です。
Beforeがわかると悪いデザインの原因がなにかわかるし
Afterがわかると良いデザインがなにかがわかるからです。
■ポイント1
Afterだけ学ぶとわかった気になりますが、自分の作ったものの
どこを直せばもっと良くなるのかわかりません。
■ポイント2
Before-Afterの表現はパンフレット制作などでも、「新商品のどこがいいのか」とか「このシステムを導入するとどう改善するのか」といったことをわかりやすく説明するのに有効です。
■ポイント3
Before-Afterの表現はとても端的で、その表現ができる人は、内容について深く理解していないと表現できません。
そういうわけでBefore-After
写真補正、サイトの色合い、文章、パーツ制作、ムービーなど、必要要素をできるだけBefore-Afterで語っている本または雑誌を選びましょう。
ちなみに研修や学校に通わないかぎり、細かいテクニックは本から学んだりする必要がありますが、決して本代をケチらないようにしましょう。
これから一生使える技術なので、本を見ないで身につける時間を換算したら数千円なんて安いもんです。(若手は会社で理由をつけて領収書を切るという技を覚えましょう)