プログラミングをはじめよう!

プログラミングが出来るようになるまで・・・・

20 1月

趣味と仕事の違い

趣味としてプログラミングを始める人も多いと思います。
自分でゲームを作ってみたいから、自分でちょっと使いたいツールを作りたいからといってプログラミングを始める人も少なくないと思います。毎日空いた時間にコツコツとつくっていくのが楽しいという人もいるのではないでしょうか。

趣味でプログラミングをする場合は自分がやりたいように、自分で満足できればよく、作ったものに対しての責任もなく、締切もありません。
本業がプログラマーという人でも仕事が終わってから自分の好きなプログラムを作るといった人がいます。
こうした人はプログラミングが好きだけど、仕事だとどうしても自分の好きなように作れず、また締め切りもあったりとプレッシャーがありますが、自分の趣味でつくるプログラムは好きに作れ、締切もないので楽しいからといって仕事とは別に趣味でプログラミングをする方もいるようです。

仕事としてプログラミングをするとなるとお客さんの満足が一番の目的となり、複数人での開発、そして開発を行う上での制約やコストや時間に制限がでてきます。
こうした制約に対応できるから仕事であり、自分で勝手にこっちのほうが良いのではないかと勝手に変えることはできません。

プログラミングをするのは好きなのだけど、たまにこうした制約ばかりだと楽しくなくなってしまうのでこうして自分の趣味の時間にプログラミングをなんていう人もいるようです。

02 12月

プログラマの考え方

筆者の個人的な見解ですが、プログラマにはどちらかというと理系の人が多いように感じられます。
・・・といっても、プログラミングは理数系の分野ではありません。
かといって文系の分野でもありません。
究極的な結論を述べてしまうなら、プログラミングやIT関係の仕事は「情報系」という新たな分野ということになるでしょう。
にも関わらずプログラマに理系が多いように感じられるのは、プログラミングには論理的な考え方が必要であるため、と言えるかもしれません。

すでにご存じかと思いますが、プログラミングはひとつの結果を作り上げるために、複雑な過程を組み立てる必要があります。
その過程で僅かでも間違いがあれば、プログラムは正しく動作しません。
数学の問題で言うなら、答えを導き出すまでの計算ですね。
そのため、プログラミングにおいて「~のような気がする」「おそらく~だろう」といったあやふやな考えはまかり通らないのです。
文系だと感覚優先にしがちなところでも、理系の人は論理で説き伏せます。
その点が、プログラマとして向いているのかもしれません。

筆者の知り合いにも典型的理系のプログラマがいますが、IT関係の話題で話が噛み合うことがなかなかありません。
2人ともIT関係について勉強したにも関わらずです。
筆者がIPアドレス分散国内サーバーの有用性を説明しようにも、彼はSEOではなくサーバーの仕組みから考えるため、どうしても視点にくい違いが生じるのです。

12 10月

プログラミング言語【Java】

では実際に使われているプログラミング言語をいくつかピックアップして紹介していきたいと思います。
前回も述べたとおり、プログラミング言語は世界に100以上もの種類がありますが、そのうち活用されているのは数えるほど。
その中でも特によく使われているのが、今回紹介するJavaかと思います。
いろいろな専門誌などで定期的に人気言語のランキングなどが紹介されていますが、必ずと言って良いほど上位にランクインするのが、このJavaです。

Javaはあまりに有名なので、プログラミングに携わっている人ならご存知かと思います。
有名かつよく使われているのは、それだけJavaの用途が幅広いためです。
動作させるにあたってOSに制限はほとんどありませんし、Webではもちろんのこと、最近ではAndroidでもJavaが利用されているほど。

Javaの長所は、プログラミング言語として魅力的であろう事柄にいくつか挙げられます。
そのうちのひとつが上記の用途の広さ。
他には、処理速度の速さもそうですし、互換性もそうですね。
用途が広く、速度は最速クラスで、互換性がある・・・これらはプログラミングにあたってなくてはならない特徴ともいえるかもしれません。

ただ、もちろん短所もあります。
例えば、コードにかなりの厳密さを要することなど。
厳密に書くというのはバグを防ぐためには当たり前のことではあるのですが、このためにコードが長くなったりディレクトリが複雑になるのを嫌うプログラマもいるようです。

25 8月

実際に使われているプログラミング言語

皆さんは、この世の中にプログラミング言語の種類は一体いくつあると思いますか?
前回「驚くほどたくさん」と表現した通り、数にすると実に数百にものぼります。
種類をたくさん掲載しているウェブサイトとしてはWikipediaが便利ですが、それだって掲載されている種類はほんの一部。
何故なら、プログラミング言語は今なお現在進行形で新しいものが生み出されているのですから。

けれど、そんな100も200も種類があっても、実際に広く利用されているのはそのうちの十数種類程度です。
何故なら、有名なプログラミング言語というものは、使い勝手が良く定評があるからこそ幅広く利用されるのであり、そこにマイナーな種類が入り込む余地はなかなかないのですから。

とはいえ、たった十数種類程度でもそれら全てを勉強するとなると随分大変なことのように感じられますね。
少しでもプログラミングをかじったことのある人ほど、プログラミングの大変さはご存知かと思います。
ですが前回述べたとおり、一種類でも言語を覚えてしまえば、次の言語は理解しやすくなるため新しく覚えていくのはそれほど難しいことではありません。
プログラミングを学ぶにあたって最も大変なのは最初だけなのです。

では世の中のプログラマはいくつの言語を習得しているのかというと、プログラミングを仕事にしている人であれば大抵の方が5種類は習得しているとか。
プログラミングの人気ランキングというのもあって、凄い人だとトップ10にランクインしている種類のものは全て習得している、なんて人もいるくらいです。
それだけ習得するようになったきっかけは人それぞれでしょう。
仕事でその必要性があったためかもしれませんし、個人的興味のためかもしれません。

28 6月

どのプログラミング言語から始めるか

プログラミングと一口に言っても、その種類は驚くほどたくさんあります。
外国で開発された言語や、日本で発展してきた言語。
もはや“コンピューター語”としかいえない理解しがたい言語や、人間でも分かりやすくなっている言語。
多くの言語の元になったものや、発展の末に新しく開発されたもの・・・などなど。

こんな数多くあるプログラミング言語の種類の中から、まずはどれを選んで始めれば良いのかというと、やはりC言語やJavaでしょう。
といっても、C言語もJavaも決して簡単なプログラミング言語ではありません。
むしろ、プログラミング経験皆無の初心者には難しい種類です。
では何故そんな難しい種類が勧められるのかというと、やはり理由はそれだけ一般的に使われているということが挙げられるでしょう。

一般的に広く使われているということは、この種類がプログラミングの基本でもあるということです。
実際、情報系の大学や専門学校などでも、早いうちからC言語やJavaを専攻できるようになっていたり必須科目に加えられているのです。

プログラミングの「プ」の字も知らない段階からこういった言語を学ぶのは、決して簡単なことではありません。
しかし、最初のこれさえ乗り越えられれば、他の言語を学ぶ際非常に楽になります。
C言語やJavaがプログラミングの基礎でもあるだけあって、他の言語を覚えるにはこれらを応用するだけで可能になるのです。
そのため、C言語とJavaの両方を習得しているプログラマも少なくありません。

14 4月

環境設定~ローカルサーバー

いざプログラミングを始めるには、まずそれが可能となるようパソコンの環境を整える必要があります。
もちろん、始めるプログラミング言語の種類にもよるので、以下に述べることが全てにあてはまるわけではありませんが。

例えば、数あるプログラミング言語の中でも比較的簡単だと言われているPHP。
簡単だと言われているにも関わらず、PHP開発のためには環境が重要となります。
何故なら、PHPは主にウェブサイト上で動くプログラミングなのですが、それはサーバーの力を借りているため。
サーバーがなくてはPHPをプログラミングしても動いてくれないということです。

ですが、ウェブサイトを作るにしてもPHPを開発するにしても、サーバーにアップロードするまでは個人のパソコン上で作るのが通常の方法ですね。
ある程度形が出来上がるまではサーバーにはアップロードしません。
しかし、PHPはサーバーにアップロードしないと動いてくれず、また正常に動くかどうかの確認さえままなりません。

ということは、いちいちアップロードしながら開発しなくてはならないのか・・・
いやいや、未完成のものをアップロードするわけにはいかないし・・・

というわけで、PHP開発のために必要になるのが、ローカルサーバーと呼ばれるものになるわけです。
ローカルサーバーとは、個人のパソコン内でサーバーの役割を果たすツールです。
レンタルサーバーのように他者からのアクセスを受け入れることはできませんが(設定によっては可能です)、PHPを動かすといった機能においてレンタルサーバーと同じ役割を果たします。
そのため、もしPHPを始めるのであれば、まずはローカルサーバーをインストールする必要があるのです。

08 2月

プログラミングが楽しいと思う瞬間

プログラミングをしていて楽しいと思える瞬間は、なんといってもそれを上手く実行出来た瞬間でしょう。
プログラムというのは記述を僅かにミスしただけでも正常に実行されません。
プログラミングしたてのものを実行したところで、最初のうちは使い物になりませんから、何度もデバッグを繰り返しては間違いを修正していき、そうしてやっとの思いで実行可能となります。
こういった努力と忍耐の先に成功があるのがプログラミングというものですから、そりゃあ上手くいったときには嬉しさもひとしおでしょう。
プログラミング初心者であればなおのことです。

さらに、プログラミングで楽しいと思える瞬間のもうひとつが、そのプログラムを有効活用できているときでしょうか。
プログラムは手動だとたいへん面倒な作業を自動化してしまうもの。
それを手軽に、かつ素早く行うためにプログラミングというものがあるので、有効活用している瞬間というのはその便利さに惚れ惚れするほどです。
作業にかかる時間がどれだけ短縮されたかなど、数字で計れることがあれば、プログラミングの良さをより実感できるでしょう。

最近は仕事や家庭でパソコンを使う人が多くなりましたね。
しかし、その中でもプログラミングする人はほんの僅かだと言います。
プログラミングは特別な技術のように思われているためですが、実はエクセルにも付属しているくらい(マクロといいます)一般的なツールです。
つまり、殆どの人がパソコンを使いこなせていないとも言えるのです。

皆さん!プログラミングは便利で良いですよ~。
この楽しさはプログラミングしてみないと分からないかもしれませんね。

21 12月

プログラミングを簡単に始めたい

最近、個人的な興味もあってPHPを始めたいと思っています。
PHPはプログラミング言語の一種で、数多くあるプログラミング言語の中では比較的簡単な種類と聞きます。
・・・が、やはり初めてのうちはそう簡単にはいかないもの。
他の種類のプログラミング言語でも齧っていればある程度は取り組みやすいものですが・・・まぁ最初のうちは仕方がありませんね。

PHPや他プログラミングを始める場合、初心者の方々なら大抵は初心者向けのテキストやリファレンスサイトを利用するでしょう。
しかし、プログラミングを始めてみると判るのですが、1ページ開いた途端そこに書かれているのはまるで暗号。
意味も判らずちんぷんかんぷんです。

それ以前にも他の種類のプログラミング言語を齧っていれば有利というのは、その暗号や意味が判るということ。
それがないプログラミング初心者にとっては、どのテキストも不親切なこと極まりないように感じられるかもしれませんね。

私自身、例え比較的簡単なPHPでも、文法の意味などよりもむしろ作成例から学ばせていただきたいと思えてなりません。
こう書けば何ができる→こう応用すればこんなこともできる・・・というように覚えていけたなら、どんなにプログラミングを楽しく感じられるだろうと思えてならないのですが。

こんなことを言ってしまうと、基礎さえ判らないで何がプログラミングだと上級者に叱られそうですが、始まりから理解できないようでは意味がありませんから、やはり私が望むようなテキストもあってよいのではないかと思います。

28 10月

プログラミング初心者なら

就職難の今の時期、プログラミングの知識や技術を持っていればそのスキルが評価されて、プログラミングのスキルが無いよりは比較的簡単に就職できるでしょう。
しかし、実際にプログラミングを任されるとなると、ブラック会社の如く社員の健康よりもクオリティと納期を優先させられるという過酷な日々を送ることとなるかもしれない・・・
あなたならどちらを取りますか?(笑)

とまぁこのような選択肢を用意してみたところで、プログラミングの技術は一朝一夕には身に付くものではありません。
また、個人的に勉強してみたところでなかなか理解できる内容でもありませんので、勉強するにはやはり大学や専門学校、もしくはせめてプログラミング専門のスクールなどで勉強するのがいちばんです。

ネット上にはプログラミングについて説明しているサイトは多々あります。
これらでの勉強は、プログラミングを1から学ぼうとする初心者にはお勧めできません。
プログラミングは実際に作ってみて、コンパイラしつつ覚えていくものなのですが、こういったサイトではプログラミングの構造から説明しているのです。

構造は基本ですから、説明の方法としては間違いではないのですが、プログラミングや構造の考え方すら知らない初心者が見てもちんぷんかんぷんでしょう。
書いてあることを読むだけではなく、それを判り易く説明してくれるプログラミングの上級者が必要となるのです。

ネット上にある各種プログラミングについてのサイトは、何かひとつプログラミングをできる人が、他の種類のプログラミングを勉強しようとする場合に有用となるかと思います。
プログラミングは種類は異なっても、基本的考え方が似通っているものが多いですからね。

17 8月

続々・プログラマという仕事

お盆でしたね。
皆さんは充実した休日をいかがお過ごしでしたでしょうか。
私は毎年の如く墓参りと親戚への挨拶を済ませて来ました。
ちなみに、プログラミングの仕事をしている例の彼はというと・・・お盆なんてものは無いのだそうなΣ( ̄口 ̄;)
お盆だからといって仕事を休めないということです。
「世間の人はいいね~」と例に漏れず愚痴っていましたよ。
「こちとらカレンダー通りに働いているのに・・・」と。
いや、彼はカレンダー通りでさえないのですが(日曜日もプログラミングの仕事が入っていたそうな)

そんなわけで、プログラマという仕事についてのお話しは前回で一旦終わらせたつもりだったのですが、彼のお盆の仕事状況をお知らせすべく、こうして三度プログラマについてお話しすることに相成ったわけであります。

プログラミングで作成するものにも様々あるように、プログラマなる仕事にも様々あります。
なにもゲームをプログラミングするばかりではありません。
私の知り合いの彼の場合、サーバー関係のお仕事となります。
私は彼の仕事についてそれほど詳しくはないのですが、なにやらサーバー運営に携わりつつ、プログラミングもしているのだそうですね。

サーバー運営ということは、管理でもあり、メンテナンスも行う必要があるのですが・・・
先日の15日、世間ではちょうどお盆で賑わっている日曜日に運悪くメンテナンスが入ったのだそうで。

・・・運悪く、というのは語弊があるかもしれませんね。
顧客が仕事を休んでいるときを狙ってメンテナンスしなくてはならないため、お盆というかっこうのチャンスにメンテナンスが無いはずがなく、彼のお盆は毎年仕事のため予想済みのことではありました。

彼は言います。
プログラマにお盆なんて有って無いようなもの。毎年のことだからもう諦めた。
・・・と。
しかし、彼の両親や親戚はやりきれないことでしょう。
プログラミングを仕事にすると、このような世間とのズレが生じることは否めないのですね。

プログラミングをはじめよう!