プログラミング入門;何を目指すのか?
プログラミングに入門して何を目指すのか?
これからIT業界でプログラマーで生きて行きたい。趣味でパソコンいじりをしたい。普通の仕事をしながら、自分の仕事にプログラミングを活かしたい。プログラミングに入門する方の目指すところは様々です。
若くて将来の仕事としてプログラミングに入門する方は、基本知識を身につけて、プログラミング会社に入るのが入門からの導線になるでしょう。それがプログラマー入門の第一歩となると思います。
しかし、それ以外のプログラミング入門は趣味というかた、自分の仕事に活かせる部分は活かしたいというレベルの入門者は、何もプログラミング会社に入門する必要はありません。エクセルVBAなどのプログラミングを覚えて、自分の趣味や仕事に応用していくというのでいいんじゃないでしょうか。
プログラミング入門といっても、何も肩肘張らずに軽い気持ちで入門しましょうよ!
コンピューターのプログラミングを学ぶと、コンピューターがいかに簡単なことの積み重ねで複雑な処理をしているかということがわかります。何も難しいことはしていません。簡単な処理の積み重ねが複雑な処理を可能にしているのです。プログラミング入門によって、その辺のことがわかるだけでもプログラミング入門した価値があるというものです。
複雑な問題を簡単な問題に分解していくプロセスは、プログラミングだけではなく実際の問題解決にも応用できるものです。是非、身につけたい手法だと思います。
プログラミング入門の心得
プログラミングに入門する人にありがちなのが、すごく緻密なプログラミングを出来るようになりたいと思って最初から難しいプログラミングに挑戦しようとすることです。入門の最初から難しいことが出来るはずもないので、そんなことはやめにしましょう。
プログラミング入門したては、簡単なプログラミングで腕を磨いて徐々に高度なプログラミングにチャレンジしていくしかないのです。入門したときから、すぐになんでも出来るなんてことはありえません。プログラミング入門で大切な心得は、慢心をなくすことです。
入門当初から難しいことに挑戦してしまうと、挫折を繰り返して、結局プログラミング入門をあきらめてしまうことにもつながりかねません。プログラミングに入門した当初は、簡単なプログラムでプログラムの仕組みと結果を経験していくことが大切です。いきなり複合技を身につけても、応用が利かなくなってしまいます。
次に入門の際に心得として覚えていて欲しいのが、「プログラミングを楽しむ」ということです。何か「入門」というと、修行や苦行というものを思い浮かべて、辛くて苦しいことを考えてしまいますが、そうではなく「楽しむ」姿勢を持って欲しいと思います。武道や宗教などであれば、やはり修行に耐えるという姿勢が必要かもしれませんが、プログラミング入門に関しては、耐えるとか頑張るという心構えよりも、プログラミングを楽しむという姿勢のほうがいいと思います。
プログラミング入門;オブジェクト指向入門
今回も「オブジェクト指向」ということに焦点を絞って入門してみましょう。
前回よりももう少し踏み込んだ内容になりますが、オブジェクト指向入門としてなるべく簡単な内容にしたいと思っています。オブジェクト指向という考え方は、プログラミングに限らず様々なことに応用の利く考え方なので、是非入門してみてください。
「オブジェクトとは?」
オブジェクト(object)という単語を辞書で調べると「(1)もの、(2)対象、(3)目的」の3つの意味があります。オブジェクト指向では、具体的に識別できるものなら何でもオブジェクトとして扱うことができます。
「分類と分解」
人間が事物、事象を理解する方法は2つあって、それは「分類」と「分解」です。例えば「人間」を例にとって考えて見ましょう。人間を分類する方法は様々で、男と女、社会人と学生、国別に日本人、アメリカ人、インド人、また年齢別に分類することもできます。
次に「パソコン」を例にしてみましょう。パソコンはデスクトップ型とラップトップ型、あるいはメーカー別に分類することも出来ます。もとのクラスを「スーパークラス」、分類したクラスを「サブクラス」と呼びます。デスクトップ型やラップトップ型はパソコンのサブクラスで、逆にパソコンはデスクトップ型やラップトップ型のスーパークラスといった具合です。
次に分解してみましょう。例えば「デスクトップパソコン」は本体、ディスプレイ、キーボードなどの部品から構成されています。さらに「本体」はマザーボード、メディア、電源などの部品から構成されています。これはオブジェクトを全体と部分としてとらえる方法です。
プログラミング入門;オブジェクト指向とは?
今回のプログラミング入門は、「オブジェクト指向」という考え方についてご紹介したいと思います。
ちょっと入門というには、難しい内容かもしれませんが、考え方自体は全く難しくありません。まずはオブジェクト指向というものを短い文章で定義すると、「オブジェクト指向とは、ソフトウェアの設計や開発において、操作手順よりも操作対象に重点を置く考え方。」となります。
ちょっと抽象的なので、具体的にしてみましょう。
私たちは日常生活でテレビやパソコンといったAV機器を何気なく「操作」していますが、そのテレビやパソコンの中がどのように動いているか「仕組み」は知りません。実際、テレビの仕組みを知らなくてもリモコンでボタンを押せば、電源が入ることは知っています。それだけで十分テレビを使いこなせます。
これがオブジェクト指向と言われるものの考え方です。テレビのトリセツにはリモコンの使い方は詳しく書いてありますが、テレビの仕組みについては一切書いてありませんし、また必要もありません。操作の仕方が分かれば十分だからです。
プログラミングにおいても、このオブジェクト指向というものが大変有効な考え方とされています。仕組みはわからなくても、操作方法がわかればOKというプログラムの作り方が、オブジェクト指向プログラミングと言われるものです。
P.S.私事で恐縮ですが、以前言ってたブログの引越し、1Uサーバーを販売しているサーバー販売会社でサーバーを買うことになりました。これから引越しのための準備に取り掛かりマース\(*^-^*)/
プログラミング入門;プログラムとは?
「プログラミング入門」というと、「入門」という言葉の響きの影響で、何か難しいことに挑戦する、とか修行するというイメージを持たれるかもしれません。「入門」という言葉に影響されずに、もっと簡単に捉えることが必要です。
「プログラムを作る」と聞くと、何か難しい特別な作業のような印象を受けるかもしれませんが、やっていることはとても単純です。人間からコンピュータに対して命令を出し、思ったとおりに操作するのが目的なので、犬に芸をさせたり、リモコンでビデオデッキのダビングをセットするのと原理的には変わりありません。
プログラミングで実際に難しくなるのは、思ったとおりにコンピューターに命令を出すこと。人間の場合なら、ある程度曖昧な命令でも相手が判断してくれて、思ったとおりの結果を出してくれることもありますが、コンピューターは融通が利かないので、少しの間違いでも全く違った結果を出してしまうのです。
プログラミング入門では、その辺がネックになるかもしれませんね。思ったとおりに言うことをきかないコンピューターに嫌気が差してしまうかもしれません。しかし、入門してすぐにコンピューターを思い通りに使えるわけがありません。最初は、簡単な命令から覚えて、徐々に複雑な処理に挑戦していく必要があるでしょう。
プログラミング入門とは言っていますが、まずはコンピューターがどのように動いているかの仕組みから理解したほうが、早いかもしれません。原理原則を学んでおけば、悩んだときにも戻る場所が出来ますしね。
プログラミング入門;言語の種類
今回のプログラミング入門は、プログラミング言語の種類です。前回、コンピューターはオンかオフかの信号しか判断できないといいましたが、そのための翻訳がプログラミング言語だと。
そのプログラミング言語にはいくつも種類があって、代表的なものではC言語、COBOL、BASIC、Java、PHPなど。まだまだ種類はいっぱいありますが、プログラミング入門としては、BASICがいいかもしれません。また実用的なところでは、Javaもいいかも。しかし、プログラミング言語は何を選んでも一長一短がありますので、プログラミング入門としては、「フローチャート」を使った概念図から学んだほうがいいと思います。
フローチャートという言葉は皆さん聞いたことがあると思いますが、ボックスと矢印を組み合わせた図のこと。そこに実行命令を書いて処理図を作るわけです。
フローチャートさえ出来てしまえば、あとはプログラミング言語に置き換えていけばいいわけですから。プログラミング入門には、フローチャート概念図の使い方を覚えていくのがいいと思います。フローチャートの描き方には、JIS規格もありきちんと覚えるのは大変だったりしますが、最初からプログラミングの単語や用語を覚えるよりは簡単だと思います。
私事ですが、最近ブログの引越しを検討していてセキュリティ対策のしっかりした専用サーバが欲しくて、サーバー販売会社に相談しています。けっこうブログの引越しってメンドクサイですよね。
プログラミング入門;言語
今回のプログラミング入門は、「プログラミング言語」です。
コンピューターは人間ではなく、ましてや日本人ではありませんから日本語は通じません。まことに残念なことですが、日本語で会話するのは基本的に無理だと思ってください(⌒▽⌒;
「でも、いや待てパソコンを使ってるけど、日本語入力で通じてるぞ!」
確かに、メールを打つときも、何か音楽を聴くときでも日本語で通じてるという意見もあると思います。しかし、それは日本語が使えるようにプログラムされてるだけで、コンピューター自体は日本語を理解しているわけではありません。実はコンピューターが理解できるのは、「オン」か「オフ」の信号だけなんですよ!
ちょっと基礎知識として「2進法」というものを説明しておきましょう。2進法とは「0」と「1」しか数字がありません。日常使っている10進法は「0」から「9」までの10個の数字を使いますが、2進法は2個だけ。10進法で「4」は、2進法では「100」と表されます。
少し入門としては難しくなってしまいましたが、プログラミング言語とは、コンピューターがわかるように言葉を翻訳するための言語だということです。だってコンピューターは、オンかオフかの判断しかできないわけですから。
しかし、コンピューターのすごいところはオンかオフかの判断をめちゃくちゃ早くできるということにあります。オンかオフなら、1秒間に何百万回の処理ができちゃうんですよ~( Д) ゜゜
プログラミングとは?
「プログラミング」いう言葉よりも、「プログラム」と云ったほうが聞きなれていると思います。コンサートや体育祭、競技会などの計画や予定が書かれている冊子は皆さん知ってらっしゃると思います。あれのことです。
もともと、何か催し物の実施予定を箇条書きに書いたものがプログラムです。それがコンピューターの分野では、プログラム(計画表)を作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為を「プログラミング」と呼ぶようになったわけです。
ちょっと簡単なプログラミングの基礎を見てみましょう。
10 a=5
20 a=a+1
30 IF a=10 THEN PRINT a ELSE GO TO 20
先頭にあるのは行番号です。最初の行で「a」に5という数値を入れて、次の行でaに1を加えています。3番目の行でaの値が10ならば、aの値を書き出す。そうでなければ2番目の行に戻る、というプログラミングの基礎です。
プログラミング入門としては、なんのこと?と云った感じかもしれません。でも、コンピューターがやっていることは上記のようなプログラミングを複雑に組み合わせたものを実行しているだけなのです。なんだか入門としては敷居が高かったかもしれません…(^-^;でも、プログラミングはそんなに難しいものではないので、これからもプログラミング入門として、様々な基礎知識をご紹介して行きたいと思います。