プログラミング 入門
こんにちは。引地啓です。
今回なんですが、プログラミングの入門編を記事に書こうと思います。
プログラミングとは何ぞや?と思っている人もいると思うので、プログラミングの根本的な概念を説明していきます。どんなことでも、根本や概念を理解することで、本質を理解することができ、効率良く学習を進めることができるようになります。
この知識が土台となり、土台がしっかりすることで、より中身の技術が磨かれます。
その土台となる知識をしっかり身につけましょう。
プログラミングとはそもそも何なのか
コンピューターのプログラミングとは、コンピュータープログラムを作成することにより、人間の意図した処理を行うようにコンピューターに指示を与える行為です。
コンピューター上でのプログラムの意味
コンピューター上でのプログラムは、「コンピューターがするべき仕事の手順や内容が書いてある文章」という意味になります。
まず初めに何をして、次に何をして、という指示が、「コンピューターが理解できる言葉で順番通りに書かれているもの」という事です。
料理を作るレシピや仕事のマニュアルのようなものだと、イメージしやすいと思います。
プログラミングの本質
プログラミングは、「もっとこうだったらいいのに!」や「こんな機能が欲しい!」という、お願いを叶えることができる行為です。
例えばFacebookやLineなどのアプリも、「もっと手軽に友達と体験を共有したい!」とか「もっと簡単に連絡を取りたい!」という願いから、プログラミングを使って実現したものです。
プログラミングとは、コンピューターに仕事を代わりにしてもらうためのもの
プログラミングも魔法ではありませんので、何でも出来るわけではありません。
ただ、コンピューターは人間の思考速度とは比べ物にならないくらい性能を持っているので、人間では到底叶わない仕事をしてもらうことができます。
例えばTwitterでは膨大な数のユーザー登録管理・投稿の管理・投稿にいいねを付けるというような行為がリアルタイムに行われていますが、これらを人間が実現するのは100%不可能です。
コンピューターという超高速処理を実行できる道具にどう働いてもらうかを的確に指示することで、とても大きな影響力を持たせることができます。
つまりプログラミングの本質とは、人間だけでは到底叶えられないお願いをコンピューターに仕事をさせて実現することです。
プログラミング言語はなぜ必要なのか
コンピューターはすべての情報を0と1で扱っています。コンピューターが直接理解できるこの0と1が並ぶ情報を「機械語」といいます。
ただ、機械語は直接人間が見てもスムーズに理解することは不可能です。
そこで、人間に書きやすく、または機械語にも変換しやすい、いわば「中間の言語」として、プログラミング言語というものが作られました。人はプログラミング言語の書き方を覚えることで、様々な命令を表現することができるので、コンピューターに効率的に指示を出せるようになります。
プログラミング言語は、最終的にコンピューターが理解できる形の「機械語」に変換されて動作しています。
プログラミング言語はなぜ豊富なのか
プログラミング言語は、コンピューターと会話するために必要な言語です。
人間同士が会話するために使う日本語や英語などは「自然言語」と呼ばれていますが、プログラミング言語もこれと存在理由は同じです。
ただし、プログラミング言語はどんどん新しい言語が生まれてきます。
「もっと難しくても良いから、処理を早く実行できるものがほしい」
「もっと子供でも分かるように簡単に書けるようにしたい」
などと様々な思惑を持った人たちの手で、それぞれの言語が開発されているのです。
今では比較的なマイナーなプログラミング言語も合わせると、200種類以上もあると言われています。
プログラミング言語に、文法の違いはあるのか
プログラミング言語は、文法も規則的でシンプルです。例を挙げると、自然言語の場合は
画面に「こんにちは」という言葉を映してください
REFLECT HELLO
のようになります。
あくまで例ですが、ほとんどのプログラミング言語で動作を動詞と目的語の単語で表します。
動詞を先に持ってくるのは、コンピューターが主に英語圏の国で開発されたからです。
しかし、プログラミング言語はコンピューターを操作する命令を伝えるための言語です。つまり、コンピューターへの命令を正確に表現できるようシンプルに表現できるようになっています。
プログラミング言語はどんな種類があるのか
僕たちの世界では、日本人には日本語で、アメリカ人には英語で、ドイツ人にはドイツ語でというように、話す相手によって適切な言語が必要になります。
プログラミングの世界でも同様で、用途に応じて色々なプログラミング言語というものがあります。
プログラミング言語は、「C言語/C++」「Java」「Ruby」「PHP」「Python」「JavaScript」などが代表な例です。
プログラミング言語診断には「診断アプリ」を使おう
実際に、自分にはどの言語があっているのか。たくさんありすぎて選ぶのに苦労すると思います。
僕も、最初はJavaから始め、Pythonをやってみて、JavaScriptに触れて、HTMLでWebを作ってみたりしました。けれど全部中途半端になってしまっています。
皆さんはそうならないように、「診断アプリ」を使ってみてください。
初心者が最初に知っておくべきプログラミング言語は?
絶対にこのプログラミング言語でないといけないわけではありませんが、おすすめの言語は、「HTML」「CSS」「JavaScript」です。
HTMLは、Webの基礎プログラミング言語です。そしてCSSは、HTMLで作成したWebページに色付けたり、見出しを作ったりするプログラミング言語です。
そしてJavaScriptは、Webページに動きを付ける言語です。Webページに動きを付けることで、検索している人の目を引いたり、その人の行動を促す効果があります。
質の高いWebサイトを作るために必要な言語です。
プログラミング学習で得られる3つのメリット
①ITの土台は
ITの土台はもちろんプログラミングにあります。プログラミングを学ぶことで基礎的な要素は網羅できるのはもちろん、「問題的解決能力」も磨けますのでマーケティングやデザインスキルの学習スピードは格段に上がります。
この「問題解決能力」が高いと、IT以外のすべての仕事や、仕事以外のことでも共通に約立つ能力です。
余談ですが、女性は共感を求め、解決は求めないなんて言われてますね。この問題解決能力は、正しい所で使えてこそ「能力」なので、気になる女性にまで乱用しないように気を付けましょう!
②プログラミングで「ロジカルシンキング」を磨く
コミュニケーション能力は、一見プログラミングに全く関係ないように感じますが、コミュニケーションスキルの中で重要な「ロジカルシンキング」に関しては、めちゃくちゃ鍛えられます。
パソコンはロジカルの塊です。ロジックが間違った時点でエラーが出るので、ロジカルに物事を捉えられなければ解決できません。トライ&エラーを繰り返す中で確実にロジカルシンキングを身につけることができます。
③「お金を作る」プログラミングの創造性
プログラミングで学べるスキルには「お金を作る」というスキルがあります。お金を作るということは「0→1」で何かを作るということです。プログラミングは0から1を創造する思考を身につけることができます。
LineやTwitter、Facebookは十数年前には無かったですが、今や数百億というお金を生み出すプラットフォームとなっています。これらはもちろんプログラミングで作られています。
例が極端ですが、実際エンジニアの平均派遣時給は、未経験でも2400円、スキルのある経験者は5000円はくだらないというデータがあります。つまり、プログラミングスキルを習得することは、効率的な「お金を作る」手段になり得るのです。
もちろんフリーランスエンジニアになり、頑張れば高収入も目指せます。
フリーランスでうまくいけば、「自由な時間」まで手に入れることができます。
もし今からプログラミングを勉強し始める人は、何も知らない0の状態から始めるより、簡単な最低限の知識を身につけた上で始めた方が、効率良く覚えられますので、自分で色々調べるのもいいと思います。
最後まで見ていただきありがとうございます。
今後ともよろしくお願いします。
またお会いしましょう。