「プログラミングに興味があるけど、まず何から始めればいいの?」
この記事はそんな人が、プログラミングを学び始める前に知っておくべきことをお伝えしていきます。
プログラミングとは、プログラムを書くことです。
ではプログラムとはなんでしょうか?
そこから知ることで、あなたの理解は深まります。
プログラムでどんなことができるのか。
あなたがスキルを身に付けると、どんなお仕事に就けるのか。
勉強するためには、何から始めればいいのか。
いきなり勉強を始めてしまうと、色々なものを見落としたままになってしまうかもしれません。
未経験の人が知っておくと得をする情報をまとめているので、この記事を読んでプログラミングを学ぶための準備を整えてください。
プログラムってそもそもなに?
プログラムという言葉は日常でもよく聞くと思いますが、それが何なのかはよく知らないという人も少なくはありません。
ひと言でいえば、
「コンピューターが理解できる言葉で書いたお仕事の仕様書」
これがプログラムです。
例えばアメリカの人にお仕事をお願いする時に、仕様書を日本語で送ってしまったら、相手はお仕事にとりかかることはできないでしょう。
アメリカの人に英語でお仕事をお願いする時は英語の文章を書くように、コンピューターにお仕事をお願いする時はプログラムを書かなければなりません。
プログラムで指示をもらえば、コンピューターは想像もできないようなスピードで何万件もの計算やデータ処理をしてくれます。
プログラムを書くための言葉がプログラミング言語
あなたが初めてプログラミング言語を見た時は、とても難しそうに見えるかもしれません。
色々な記号が出てきて、なにやら暗号のようにも見えるでしょう。
ですが、とても理解できないようなものではありません。
プログラミング言語のベースは英語なので、あなたが見たことのある単語もたくさん出てきます。
プログラミングのお仕事は多種多様
あなたが普段から使っているパソコンのソフト、スマホに入っているアプリや動画、そんな様々なものを動かしているのがプログラムです。
そのプログラムを書いている人たちは、プログラマーと呼ばれています。
ひと口にプログラマーと言っても、その中にもたくさんの種類がありますので、これから代表的なものを紹介していきます。
色々なサイトを作るWebプログラマー
あなたが普段から目にするホームページやショッピングサイトといったWebサイトを作っているのは、Webプログラマーの人たちです。
Googleでほしい商品や見たいページをどんどんクリックして、色んなページを巡るネットサーフィンをした経験は、あなたにもあるのではないでしょうか。
そんなことができるのも、この人たちが組み上げたプログラムのおかげです。
Webプログラマーが主に使用するプログラミング言語
html css javascript PHPなど
パソコンやスマホのアプリを作るアプリケーションプログラマー
アプリケーションプログラマーは、さまざまなアプリのプログラミングを担当する人たちです。
twitterやinstagramのような有名アプリを作る時にも、このアプリケーションプログラマーは欠かせません。
スマホにダウンロードして使うものや業務用に使うものなど、開発するアプリにも色々な種類があります。
iPhone向けとAndroid向けで使用する言語が違ったりと、たくさんのプログラミング言語を使うのも特徴です。
アプリケーションプログラマーが使用するプログラミング言語
PHP Java C C# Swift Kotlinなど
ゲームを動かすゲームプログラマー
ゲームプログラマーは、想像のとおりゲーム制作に携わるプログラマーです。
キャラクターの動きやゲームのステージを作るために、グラフィックに関する知識も求められるでしょう。
勉強しないといけないことも多いお仕事ですが、近年のスマホゲームの流行もあって人気のお仕事になっています。
ゲームプログラマーが主に使用するプログラミング言語
C++ C#など
家電などを動かす組み込み系システムプログラマー
組み込み系システムプログラマーが扱うのは、家電やカーナビなどに組み込まれているシステムです。
エアコンや洗濯機のような、あなたにとって身近な家電もこの組み込み系システムで動いています。
組み込み系システムプログラマーになると、そんな家庭用品から最新機器まで幅広いシステムを扱うことになるでしょう。
組み込み系システムプログラマーが主に使用するプログラミング言語
Java c C# C++など
大型コンピューターを動かす汎用系システムプログラマー
汎用系システムプログラマーは、高性能な大型コンピューターのプログラムを扱っています。
大企業や政府機関がお客さんとなることも多いでしょう。
企業や行政の情報漏洩が大きな問題になる中で、信用を背負って大きな仕事を引き受けられることにやりがいを感じられるお仕事です。
汎用系システムプログラマーが主に使用するプログラミング言語
COBOLなど
お仕事は大きく分けると3タイプ
プログラマーのお仕事は大きく分類すると、
- Web系
- オープン系
- 汎用系
と言われる3つのタイプに分かれます。
先ほど紹介したお仕事がどの分類にあたるのかも見ていきましょう。
Web系の特徴
Web系プログラマーの主なお仕事は、たくさんのお客さんが見るホームページやショッピングサイトなどの開発です。
サイトを上手く表示することができるかどうか、利用する人にとって使いやすいサービスを提供できるかが問われます。
オープン系の特徴
オープン系プログラマーのお仕事は、業務系アプリケーションの開発です。
企業にとってITを活用したコストダウンがますます重要になってくる中、オープン系のプログラマーはそれに役立つシステムの開発を求められています。
汎用系の特徴
汎用系プログラマーのお仕事は、汎用機と呼ばれる大型のコンピューターの開発です。
大手企業の顧客情報を扱うことも多く、信頼性が何より大切になります。
それに応えられる汎用系システムプログラマーは数が少なくなっていて、重宝されることになるでしょう。
プログラマーのお仕事と3つの分類
紹介したプログラマーのお仕事の中には、3つの分類のうち2つをまたぐようなお仕事もあります。
例えばアプリケーションプログラマーのお仕事には、Web系あたるものやオープン系にあたるものもあり、必ずどちらかに分けられるとも言い切れません。
お仕事の分類の見分け方としては、
- たくさんのお客さんが見たり使ったりするシステムの開発→Web系
- 業務用システムの開発→オープン系
- 大型コンピューターの開発→汎用系
と考えるとよいでしょう。
プログラミング言語はたくさん
プログラマーのお仕事の種類はたくさんありますが、プログラミング言語の種類はそれ以上です。
全部は紹介しきれないので、ここではWeb系、オープン系、汎用系に分けながら代表的な言語を紹介します。
Web系プログラマーがよく扱う言語
html
htmlという名前は(Hyper Text Markup Language)の略で、Webサイトを作るための言語です。
現在インターネットで見られるサイトのほとんどは、htmlで作られていると言っても言いすぎではありません。
ホームページの中にある、クリックすると別のページに飛べるリンクは、あなたも普段からよく使っていると思います。
それもhtmlの技術のひとつです。
css
cssは、htmlにデザインを加えるための言語です。
htmlで骨格を作り、cssで装飾してWebサイトを作るのが一般的な方法なっているので、htmlとcssはセットで使われます。
例えばホームページの背景やカラフルな文字の色、ボタンのデザインなどを作っているのがcssです。
javascript
Javascriptは、Webサイトに様々な機能を加えるプログラミング言語です。
例えばあなたが、これから行きたいお店のホームページを見る時、地図アプリを開かなくても拡大したり、クリックして動かせる地図を見たことはないでしょうか。
それもJavaScriptを使った機能のひとつです。
また扱いやすくした簡略版のフレームワークというものが多く存在し、代表的なものにjQueryがあります。
なお、この後で紹介するJavaとJavaScriptは全く別の言語です。
Ruby
Rubyは日本で開発されたプログラミング言語で、比較的簡単にアプリの開発ができるのが特長です。
Rubyで作られたものの代表には、有名なレシピサイトのクックパッドやグルメ口コミサイトの食べログがあります。
PHP
PHPも、日常で目にする様々なところに活用されている言語です。
例えば、ホームページから直接商品を買えるところには、PHPを使ったショッピング機能が使われています。
また会員制サイトに登録した時に、「Facebookアカウントでログイン」と出てくるのを見たことはないでしょか。
それもPHPを使った機能のひとつです。
色々なところで使われているプログラミング言語で、需要が高いことが特長です。
オープン系プログラマーがよく扱う言語
Java
Javaの特長は、色々なものに使えるプログラムが書けるところです。
プログラミング言語によっては、作ったプログラムがこのパソコンでは使えないという場合もないわけではありません。
そんな中でJavaのプログラムは、パソコンだけなく冷蔵庫や洗濯機、テレビやカーナビなど、色々なところで使うことができます。
勉強するのは比較的難しいとも言われますが、お仕事の幅の広いプログラマーになれるのが魅力です。
なお、この前に紹介したJavascriptとJavaは全く別の言語です。
C
この言語はC言語と呼ばれている、歴史の長い言語です。
この後で紹介するC++やC#のように、C言語から発展したプログラミング言語もあります。
コンピューターのOS開発やロボットなどの組み込み系にも使われている点が、大きな特徴と言えるでしょう。
こちらも勉強するのは難しい部類ですが、C言語を学習するとコンピューターを深く理解することができます。
C++
C言語の発展型の言語として、こちらのC++もあります。
C言語より効率よくプログラミングができるように色々な機能が追加されています。
特長はC言語と一緒に使うことができるところで、C++とC言語の両方を使ってひとつのプログラムを作ることも可能です。
C#
C#はマイクロソフトが開発した、C言語の発展型のプログラミング言語です。
対応できる領域も広く、ダウンロードしないタイプのWebアプリや、ダウンロード型のアプリ、ゲームなどさまざまなものを作れるのが特長。
マイクロソフトは今も積極的にC#の開発を続けているので、対応できる領域も次々に増えています。
汎用系プログラマーがよく扱う言語
COBOL
COBOLは汎用系システムで多く使用されている、歴史あるプログラミング言語のひとつです。
計算が得意で、他のプログラミング言語では誤差が生じるような場合でも厳密な計算ができます。
しかし現在では教えてくれるスクールも少なく、COBOLを扱えるプログラマーは貴重な存在と言えるでしょう。
プログラミングを学ぶ前に
プログラミングを身に付けるとできるようになるお仕事や、プログラミング言語の種類を知って、少しずつイメージが膨らんできたでしょうか?
あなたがこれからスキルを身につけようと思っていたら、その前にまず考えてほしいことがあります。
「何を作るためにプログラミングを学ぶのか」
これをぜひ、明確にしてください。
作りたいものが明確でないと、勉強する言語が選べなくなるだけでなく、勉強を始めてもモチベーションを保つのが難しくなります。
作りたいものをひとつ選んでみよう
ここまで紹介してきた6つのお仕事で作れるプログラムは、
- ホームページやショッピングサイト
- アプリ
- ゲーム
- 家電やカーナビ
- 大型コンピューター
に、使われるものでしたが、これ以外にもたくさんものを作ることができます。
プログラミングは何かを作るための手段ですから、まずはあなたが作りたいものを決めて、そのために必要な言語を学びましょう。
迷って決められない時は
「そう言われても、どれを選べばいいか分からない。」
もしそんな状況なら、まずはホームページやショッピングサイト作りを目標にすることをおすすめします。
そのために必要なhtml・css・Javascriptといった言語は、
- 勉強を始めやすい環境が整っている
- 学んだ内容が他の言語でも活きる
- 他の言語よりも比較的簡単
といったメリットがあるので、未経験から始めるのに適していると言えるでしょう。
未経験からプログラミングを学ぶ方法は?
プログラミングを学ぼうと思っても、初心者のままいきなり業界に飛び込むのは大変です。
就職先を探す時だけでなく、知識がないままお仕事を始めようとすれば、たくさんの苦労が待っているでしょう。
今は未経験からプログラミングを学ぶための方法も充実しているので、まずはスキルを身に付けることをおすすめします。
そのための方法は、大きく分けると次の3つがあります。
学習サイトを利用する
気軽にプログラミングを学ぶためのおすすめの方法は、学習サイトを利用することです。
始めるだけなら無料というサイトも少なくはありません。
これからプログラミングを始める人にとって、最もハードルが低い方法と言えるでしょう。
おすすめのサイトはこちらです。
Progate |
日本で作られたプログラミング学習サイトで、これまでの利用者は世界で160万人、100カ国以上に翻訳されているサイトです。 無料で受けられるレッスンも少なくないので、まずプログラミングがどんなものか体験する意味でもおすすめです。 |
ドットインストール |
一つ一つのレッスン動画が3分以内の動画で提供されているプログラミング学習サイト。 すきま時間を利用して気軽に勉強を進められます。 6,000本以上の動画からあなたが学びたいものを選べます。 |
プログラミングスクールを利用する
あなたがプログラミングを本気で身につけようと思ったら、プログラミングスクールに通うのがおすすめです。
初心者がつまずきやすいポイントをしっかりフォローしてもらいながら、計画的に学習を進めることができるでしょう。
ひとりで悩んで挫折することなく、短期間でプログラミングを習得することができます。
おすすめのスクールはこちらです。
TechAcademy |
プログラミングやアプリ開発を学べる大手のオンラインスクール。 アプリ開発やWebデザインなど学べるジャンルも豊富で、学習期間も選択できる多彩なコースが魅力です。 オンライン受講で、全国どこからでも受講できます。 |
ゼロイチプログラミングスクール |
プログラミング初心者が、Web系プログラマーになるために必要な3つの言語(html css javascript)を身に付けることに特化したスクールです。 javascriptは扱いやすい簡略版のjQueryというフレームワークに的を絞って学習することで、より初心者にとって学びやすいスクールになっています。 オンライン受講で、2ヶ月という短期間で卒業できるのもポイント。 |
書籍を利用する
プログラミングを学べる書籍もたくさん出版されています。
学習の大事なステップである、実際にコードを書いてみるというパートが充実している本もあり、金額的にもお手頃という点がメリット。
一方で学習サイトと同じく、分からなくなると一人で悩み続けてしまいがちな点や、学習ペースを自分で管理しなければならない面もあります。
おすすめの書籍はこちら。
1冊ですべて身につくHTML & CSSとWebデザイン入門講座 |
制作の手順に沿って、実際に手を動かしながらhtmlとcssが学べる書籍です。 よく使う機能だけに的を絞った内容で、初心者でも気軽にプログラミングを体験できます。 |
プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業 |
プログラミングの必要性や学習法について学べる本です。 「プログラミングを覚えたいけど、一回見て絶対無理って思った。」 そんな人は勉強を始める前にこの本を読むと、役に立つかもしれません。 |
書籍は最新のものをチェック
書籍を買う時のチェックポイントは、情報の新しさと評価の高さです。
初版の発行日と、買った人の感想を参考にして選びましょう。
例えばAmazonで買う場合は、本の詳細で初版発行日を確認し、レビューで買った人の感想を確認することができます。
たくさんコードを書いてみよう
プログラミングの勉強を始めたら、とにかくたくさんコードを書くことが大切です。
教材を眺めているだけだと、いつまで経ってもスキルは身につきません。
学習サイトやスクール、書籍にあるサンプルコードを、実際にプログラムとして書き写してみましょう。
プログラムを自分で書いた量だけ、あなたのプログラミングスキルは成長していきます。
プログラミングを上達させる2つのコツ
「プログラミングを身に付けるためのコツはなんですか?」
そう聞かれれば、
- パズルのようにプログラミングを楽しむこと
- 検索力を身に付けること
この2つが挙げられるでしょう。
プロの人たちも実際に、分からない情報を毎日Google検索で調べながらプログラムを組み上げています。
普段から使っているネット検索をうまく活用すれば、あなたも効率よくプログラミングを進められるようになるでしょう。
パズルのように組み上げる
実際のプログラムを見てみると、英語と記号で書かれた長い文章のように見えると思います。
その中のひとつひとつの記述が、コンピューターにどんな動きをしてほしいのかを表しています。
「この記述とあの記述を組み合わせると、どんな風に動くのか。」
プログラミングはそれを考えながら組み上げるパズルのような作業です。
その感覚を掴めると、プログラミングを楽しめるようになるでしょう。
まずは記述の意味を学ぶことから
プログラムを作っている記述の意味を学ぶことは、パズルのピースの形を調べるようなものです。
どんな形をしていて、どんなところに使えそうなのか。
それが分からないままだと、パズルを組み上げることはできません。
まずは記述の意味を学ぶことから始めましょう。
実際に試しながら組み上げる
記述の意味が理解できると、色々なサイトやアプリを見た時に、
「ここはきっとこの記述に、別のこの記述でこんな効果をかけているんだろうな。」
という予測を立てられるようになります。
それができるようになったら、そっくりなものを自分で作ってみましょう。
上手くいかないところを直しながら近づけていくことが、プログラミングの効果的な学び方です。
分からなかった時は検索しよう
上手くいかないところを直そうとすると、必ずと言っていいほど分からない問題に直面します。
そんな時にあなたを助けてくれる頼もしい味方が、Googleなどの検索エンジンです。
効果的な検索の方法を身に付けて、問題が起こった時はすぐに検索する癖を身に付けましょう。
知りたい内容をキーワード化する
検索エンジンを活用する時に重要なのは、「どんなキーワードで検索するか」です。
まずはあなたが今抱えている問題を、検索するためのキーワードに変換しなければいけません。
今回はあなたがWebサイトの背景に格子状の背景を作りたいと思っていて、そのやり方が分からないとしましょう。
その問題をキーワードに変換してみてください。
たとえば
html 格子 背景
といったキーワードが思いつくでしょう。
入力するキーワードの順番を変えてみる
ほしい情報が出てこない時は、他のキーワードに入れ替えてみるのも有効な方法です。
そんな時はサジェストキーワードを活用してみましょう。
サジェストキーワードとは、Googleなどの検索エンジンに文字を打ち込んだ時に表示される、よく一緒に検索されているワードの一覧のことです。
その中から近しいものを選んで検索すると、あなたの求める情報のヒントが見つかるでしょう。
関連キーワードを見てみる
検索結果の一覧を、一番下までスクロールしてみましょう。
そこにもキーワードと一緒によく調べられている関連キーワードが表示されています。
サジェストキーワードと合わせて、こちらも検索に利用してみましょう。
html 格子 背景
の関連キーワードで、
CSS 格子 背景
というものが見つかりました。
今度はこの検索結果を見てみましょう。
色々なキーワードで検索してみよう
今回の検索では、
- 格子の背景を作っていたのはhtmlではなくcssだったこと
- cssで格子状の背景を作る方法
の2つが分かり、問題を解決することができました。
作りたいものを決めて真似しながら、分からなかった時は色々なキーワードで検索することが、プログラミングを勉強する時のコツになります。
検索で100%解決するとは限らない
ただ、検索だけでいつでも解決できるわけではないのも事実です。
あなたの検索のやり方が悪いのではなく、あなたがほしい答えがネット上にはないこともあり得ます。
学習サイトや書籍でプログラミングの学習を進めている時は、行き詰まったらまず検索をしてみましょう。
それでなかなか上手くいかないと感じたら、あなたに教えてくれる先生がいるプログラミングスクールの利用もおすすめします。
プログラミングを身に付けたら
あなたがプログラミングのスキルを身に付けると、色々な選択肢が手に入ります。
これからの時代はますますネットが中心になりますから、プログラマーは今まで以上に必要とされるでしょう。
プログラミングを身に付けた人は、どんなところで働いているのでしょうか。
ここではあなたの将来勤めるかもしれない職場の一部をお伝えしていきます。
Web制作会社
主にホームページやショッピングサイトのような、Webサイトを制作している会社です。
Webのトレンドは変化が早いので、それに合わせながら常に新しい知識を吸収して、スキルアップを続けながら働くことができる場所と言えるでしょう。
企業から直接お仕事をもらうところもあれば、大手制作会社や広告代理店を通してお仕事をもらっているところもあります。
システム開発会社
システム開発会社は、その中にもたくさんの種類があります。
業務用のシステムやスマホ向けのアプリ、汎用系の大型コンピューターなど、会社によって作っているものは様々です。
会社によって必要とされる言語も全く違うので、就職を考える時は事前に確認しましょう。
ソフトウェア会社
コンピューターを動かすためのソフトウェア開発や販売を主に行う会社です。
お客さんに合わせてオーダーメイドで開発する場合もあり、自社での内勤だけでなく、お客さんの会社に出向して仕事をするケースもあります。
ゲーム制作会社
その名のとおり、ゲームを制作している会社です。
近年のソーシャルゲームの人気もあり、ゲームプログラマーの求人を出している企業は多く、未経験者や経験の浅い人でも転職できる可能性はあります。
しかし専門的なスキルが必要になるため、ある程度のプログラミングスキルを身につけておくべきなのは間違いありません。
知識や技術を持っていれば、就職や転職を目指す場合も有利になるでしょう。
フリーランスプログラマー
プログラミングのスキルを持っていれば、本業のかたわらで副業プログラマーとして収入を得ることもできます。
社内でプログラミングスキルを持った人が不足しているので、副業でやってくれる人に外注したいという企業はこれからもどんどん増えるでしょう。
学習を重ねてプロレベルのスキルを身につければ、月10万円以上の副収入を得ることも決して難しくはありません。
まとめ
プログラミングの世界がどんなものか、身に付けるとどんなことができるのかを知って更に興味が湧いてきましたか?
プログラミングを学ぶ前に知っておくべきポイントは、
- プログラミングとはコンピューターにお仕事をさせるプログラムを書くこと
- プログラマーのお仕事はWeb系、オープン系、汎用系に分かれ、たくさんの種類がある
- プログラミング言語もたくさんある
- プログラミングを学ぶ時は、まず作りたいものから決める
- プログラミングを身に付けると、色々な働き方の選択肢がある
の、5つでした。
プログラミング上達のコツは、
- パズルのようにプログラミングを楽しむこと
- 分からないことがあれば検索を上手に活用すること
この2つです。
プログラミングについてもっと詳しく知りたいと思ったら、ぜひ関連記事も見てみてください。
コメントを残す