yamata.programmer.blog

28歳 プログラマになるために通った道に落ちていた情報を発信します!

【駆け出しエンジニア必見】オススメのプログラミング学習方法

今回の記事を読んで欲しい方

  • 駆け出しエンジニアで学習方法に悩んでいる方
  • 未経験エンジニアで学習方法に悩んでいる方

今回は未経験や駆け出しエンジニア向けにおすすめのプログラミング学習方法についてご紹介していきたいと思います。

学習方法を紹介する前にプログラミングの種類と言語一覧

オススメのプログラミング学習方法をご紹介する前に、何の言語を学びたいかを決めましょう。

いくつか種類と言語を紹介するので、この中かこの中以外でも自分で探して選んでみましょう。

プログラミングの種類一覧

ますは種類から紹介します。

言語は種類を紹介した後で紹介します。

web系

web系のプログラマは、主にwebサイトやwebサービス、webアプリを扱うシステム開発を行います。

代表的なサービスで行ったらAmazonやYahooがあります。他にもアパレルショップのECサイトもweb系です。

web系の中でもまた2つに分かれます。

クライアントサイド

こちらは主にユーザが目に見える部分を構築するプログラマです。

言語はHTML、CSSJavascriptjQueryがあります。

これらの言語はセットで使うので覚える場合は全部覚えるようにしましょう。

サーバサイド

こちらは主にユーザが目に見えない裏側の処理の部分を構築するプログラマです。

例えばログインする機能や、ショッピングサイトで行ったらカートに追加や削除、購入する機能はデータベースという所を参照するので、ユーザから目に見えないところで処理されます。

言語は主にPHPPython、C、C#JavaRubyPerlがあります。

業務系

業務系は主にクライアントの会社が生産や販売の管理、情報の管理をするシステムを総称して業務系と呼んでいます。

顧客専用に開発する場合もあれば、自社パッケージを開発する事もあります。

言語は主にJavaC#、Cがあります。

あとはSQLの知識が必要となるので覚えておきましょう。

組み込み系

組み込み系は主に家電製品等の電子機器にマイコンや基盤を制御するプログラマです。

言語は主にC、C++C#Javaがあります。

主にC言語を使うことが多いので比較的コーディングが簡単ですが、家電製品などは動作が多いので、コード量が多くなります。

また言語だけでなくハードウェアの知識が必要になります。

アプリケーション系

2010年以降、スマートフォンも出てきました。

そのスマートフォンにもアプリがあり、そのアプリもプログラミングされてできています。

スマホアプリはAndroidアプリ、iPhoneアプリに分かれます。

AndroidアプリはC、Java、Kotlin、Perlがあります。

iPhoneアプリObjective-C、Swiftです。

ゲーム系

皆さんが一度は遊んだことがあるであろうゲームもプログラミングでできています。

言語は主にC++です。

プログラミング以外にも、グラフィックスやキャラの動作、音楽等の実装もあるので、プログラマとエンジニアだけでは完成させられないですね。

 

プログラミングの言語一覧

次に上記で紹介した言語を紹介します。

HTML、CSSJavascriptjQuery

web系のフロントエンドエンジニアを目指すのであれば、この4つの言語の習得は必須です。

HTMLはホームページの文字の表示、CSSはデザイン、JavascriptjQueryは動的コンテンツの作成に必要です。

PHP

PHPは、HTMLに埋め込む形のサーバーサイドの言語です。

Javascriptと少しにており、PHPはサーバーサイドで動きますが、Javascriptはフロントエンドで動作します。

PHPでプログラミングをする時はwebサーバーが必要となるのでご注意下さい。

また勉強するのであればHTML、CSSJavascriptの習得は必須となります。

Python

初心者にもわかりやすく設計されており、字下げの練習にも活用されます。

数学的なライブラリが多いため、人工知能機械学習によく使われる言語で、今後伸びていく言語だと自分は考えているので、言語選びに悩むのであればオススメです。

C、C++

C言語機械語に近い言語で、表現の方法が簡潔です。

習得は簡単ですが、何か物足りないと思うので初心者にはあまりオススメできません。

C++は、C言語オブジェクト指向化したプログラミング言語です。

学ぶならC++からやった方がいいですね。

Java

Javaスマホアプリや業務系等、全ての種類の開発に対応していますが、習得に時間がかかりますし一番難しい言語です。

逆に言えばJavaさえ習得できてしまえばどんな言語にも対応できる能力が習得できるので、厳しい道を乗り越えられる自信があればチャレンジしてみるといいかもしれません。

Ruby

Rubyは日本の方が作った言語で、スクリプト言語コンパイル・実行しなくても動作する)でオブジェクト指向の言語です。

ECサイトSNSが作れます。

TwitterRubyRuby on Railsというフレームワークで作られています。

Perl

Perlは、Rubyと同じスクリプト言語Rubyと比較し処理速度が速いです。

フリーソフトのため導入が比較的楽ですが、Perlは結構古い言語なので、勉強するのであればPHPRubyの方がオススメです。

Kotlin

Kotlinは、Javaを簡潔にしたオブジェクト指向プログラミング言語です。

Javaと互換性があるので、Javaの言語を呼出せます。

Androidアプリ開発でKotlinは使います。それ以外の場合はJavaで開発することが多いみたいですね。

Objective-C、Swift

Objective-CとSwiftは、主にiPhoneアプリ開発で用いられます。Swiftは恐らく一番新しい言語です。

元々、iPhoneアプリ開発はObjective-Cという言語が使われておりました。

しかし、この言語には独創的な表現が含まれており、開発者からしたら扱いづらかったようです。

こういった経験から、AppleObjective-Cをより扱いやすくしたSwiftを開発。

初心者に扱いやすく、モダン(コードが読みやすくて書きやすい)であるとよく言われています。

新しい言語なのでわからない事を解決するのは解決しづらいかもしれませんが、学ぶなら一番オススメの言語です。

 

オススメのプログラミングの学習方法と注意点

長くなりましたが、オススメの学習方法と注意点をお伝えしていきます。

オススメの学習方法

書籍を読みつつ付属の練習問題等で学習する

学習したい言語の書籍を買って学習する方法です。

まずは1周普通に読んでみて、2周目でサンプルコードを書いたり、付属の課題をやってみましょう。

また書籍でわからない事はググりましょう。ググり方については下の記事を参照してください。

yamata-pgblog.com

Progateで学習する

初学者の勉強方法では有名なProgateでの学習方法です。

学習を進めているとわからない事や練習問題で躓くかもしれませんが、ググりつつ理解して進めましょう。

yamata-pgblog.com

ドットインストールで学習する

動画学習のドットインストールもオススメです。

一つ一つの動画が短いので、隙間時間を使って効率的に学習できます。

Progateと比較し、環境構築が必要なため実践的な環境で勉強することができますが、動画なので練習をするときに一時停止が必要で面倒なのと、環境構築自体が難しいと感じてしまうかもしれません。

 

プログラミング学習の注意点

暗記はNG

プログラミングは知識を持っておくのは確かに重要です。

しかし暗記しても量が膨大で思い出せないですし、ググった方が速いです。

ここはこの文を使おうという目的(例えばここはif文を使おうとか、何を使うか)を思い出すのは自分の暗記した引き出しから、やり方はググるという方法が効率がいいですね。

yamata-pgblog.com

最初から苦手意識を持たない

誰でも最初は初学者です。最初に挫折してもしょうがないので、自分はダメだと思わないで気にせず学習を進めましょう。

自己肯定感が下がってしまうと挫折の原因にもなりますので、自分を卑下しないようにしましょう。

その他注意点も以下の記事にまとめてあります。併せて読んでみてください。

www.yamata-pgblog.com

自分の作りたい物に最適な言語を見つけて、無理せず作成していこう!

いかがでしたでしょうか。

自分が何を作りたいのか、まずは考えてみましょう。

その後にその作りたい者に最適な言語は何かを考え、学習しながら作成していきましょう。

この記事を参考にしていただき、作成の手助けにしていただければ幸いです。