プログラミング言語の種類と選び方
はじめまして、WEBエンジニアのVAN(@vantech8)です。
このnoteは、これからプログラミングを学習する方に向けて、プログラミング言語の種類と選び方について解説をしていきます。
プログラミング言語の種類が多くて、どれから始めればいいかわからないという方に、なぜこんなに種類が多いのかというところから順に説明していきます。
はじめに自己紹介
僕は、未経験からプログラミングスクール、メンターを経て、エンジニアに転身して
現在はフリーランスエンジニア(4期目)として活動しています。
未経験からエンジニアになったこと、フリーで仕事をしていることからプログラミング学習方法やエンジニアになる方法について質問を受けることが多くなって来ました。
僕自身、開発以外の部分でもこのIT業界に何か貢献したいという気持ちが芽生え、SNSでプログラミング学習者やエンジニアに転職したい方に対して情報発信をはじめました。
twitterとnoteを中心に発信しているので、役に立つなと思ったらいいね、フォローしてもらえると、発信を続けるモチベーションになります。
では、本題に入りましょう。
なぜこんなにプログラミング言語の種類があるか
これからプログラミングを始める方は、そもそもなんでこんなにたくさんの言語があるか不思議に思われるかもしれません。
まずはその理由について解説いたします。主な理由は以下の2つになります。
役割や得意分野が違う
それぞれの言語には役割や得意分野が存在します。例えば、みなさんがPCやスマホでデザインを表示するための言語や、ユーザのツイートの情報を保存するために、データの受け渡しを行う言語など。役割によって、言語の選択肢が変わって来ます。
また、同じような役割の言語でも、数学的な計算が得意なものやプログラマーが比較的書きやすい文法のもの、処理速度が早いものなど。言語によって得意分野も違います。
プロの現場では作りたいものや開発メンバーの状況に合わせて、言語を選択していくことになります。
コンピュータの進歩で新しい技術が登場している
ここ近年、コンピュータの小型化と処理速度の飛躍的な進化が著しい状況です。それによって、私たちの生活を変える様々な技術が登場しています。例をあげるとAI、ブロックチェーン、VR、ARなどはみなさんも耳にしたことがあると思います。
新しい技術が増えれば、それに適した言語が選択されたり、新しく言語を開発されることになります。みなさんの身の回りのサービスは、どんどん高機能なものになるに連れて、適材適所で言語を選択する必要性が増してきています。
どうやって言語を選ぶのか?
では、どうやって最初に学習する言語を選択すればいいのでしょうか?
選び方の手順と注意したいポイントについて解説していきます。
目的から逆算して言語を絞る
まずは目的から逆算して、言語を絞っていくところから始めましょう。
目的は大きく2つあると思います。作りたいサービスを開発できる言語から選択するパターン、なりたい職種から言語を選択するパターンです。
途中で目標が変わってしまってもOKなので、まずは目的を決めてそこから言語を絞っていくことが大切です。
学習環境が整っている言語を選択する
目的から言語が絞れたら、勉強のしやすい言語を選択することをおすすめします。
なぜかと言うと、言語によって教材の量やネットの情報の量、開発人口が大きく違います。
1つ目の言語を習得するまでが一番挫折が多く、エンジニアに転職するためには突破しないといけないハードルです。なので、なるべく初学者向けの教材やサービスが整っている言語を選択しましょう。
将来性や単価の高いものを選ぶのは注意が必要
その言語の将来性や単価の高さは言語選びにとって重要な項目ですが、それを意識しすぎるのはあまりおすすめしません。
それによって、目的にあまり合わない言語を選択していたり、学習難易度の高い言語を選択してしまって、途中で挫折してしまう方をたくさん見てきました。
まずは、サービスを作りきること、エンジニアとして就職することを第一に言語を選択することをおすすめします。
結局何からはじめればいいの?
ここでは職種別におすすめの勉強法を紹介します。
フロントエンドエンジニアの場合
html、css、javascriptの基礎をトレーニングしましょう。基礎が固まっていない状態でReact.jsやVue.jsに手を出すのはあまりオススメしません。
まずは基礎を固めて、デザイナーさんが作成したデザインからきちんと実装する力をつけることが重要です。
バックエンド(サーバーサイド)エンジニアの場合
RubyまたはPHPから学習するのがおすすめです。RubyならRuby on Rails、PHPならLaravelなどのフレームワークも一緒に学習しましょう。
フロントエンド言語(html、css、javascript)よりも、上記の言語とフレームワークの学習に重きを置くことをおすすめします。
簡単なものでもいいので、0からオリジナルのアプリケーションを開発するトレーニングをおすすめします。
インフラエンジニアの場合
LinuxとAWSの学習をメインで取り組みましょう。インフラエンジニアの場合は理論的な部分も重要になってきます。サーバーの仕組みやネットワーク周りの学習をしながら、代表的なサーバー構成をどんどん構築していくことが良いトレーニングになります。
IOSエンジニア、Androidエンジニアの場合
アプリを開発したい方は、選択できる言語が絞られています。
iOSの場合はswift、Androidの場合はjavaを勉強することになります。
目的が決まってない方はフロントエンドかバックエンドがオススメ
もし、なりたい職種がないと言う方はフロントエンドかバックエンドから学習することがおすすめです。
理由は学習しやすい環境が整っていること、他のことに応用がきくことが挙げられます。実際に学習を初めていくうちに視野が広がって、自分の向き不向きややりたいことが見えてくると思うのであまり慎重になりすぎず、はじめの一歩を踏み出すことが大事です。
さいごに
今回はプログラミング言語の種類と選び方について解説しました。
みなさんの欲しい情報を提供することは出来てますでしょうか?
こんなことを聞きたかった、こんなテーマでnoteを書いて欲しいなど要望がありましたら、お気軽にコメントやDMお待ちしております。
もし役に立ったら、シェアやいいね、リプなど反応をもらえると発信を続けるモチベーションになるので、よろしくお願いします。
この記事が気に入ったらサポートをしてみませんか?