目的別プログラミング言語の選び方を学ぼう
未経験からITエンジニアへ転職したいけれど、何から学習すればよいか分からない。そんなお悩みはありませんか?
ITエンジニアは学ぶことが多いので、気になったプログラミング言語を片っ端から学習しようとすると、いくら時間があっても足りません。
そのため、将来的に、どのようなものを作りたいかや、どのような仕事をしたいかによって、
学習するプログラミング言語等を学ぶのがよいでしょう。
ウェブサービスを作りたい
たとえば,Amazonや、楽天市場といったECサイトのウェブサイト、レシピ共有サービスのクックパッドやイラストコミュニケーションサービスのピクシブといったウェブサイトを作りたい場合です、
ウェブサービスの制作時の役割分担として、フロントエンドとサーバーサイド(バックエンド)があります。
フロントエンドでは、ウェブサイトのユーザーからどのように見えるかの部分である、ユーザーインターフェイスの部分を開発します。
サーバーサイドは、その名の通り、ウェブサイトを動作させるサーバー側で必要な機能の実装を行います。
規模が小さいプロジェクトだと、どちらも兼務する事も多いです。大規模なプロジェクトになるほど、より専門性が求められることから、役割分担をすることなります。
ウェブサービスを作る仕事の場合、転職後はフロントエンドとサーバーサイドのどちらか、または両方を担当することになります。
学習の段階では全体的な工程を把握するためにも、基本的なスキルセットを一通り身につけて、簡単なウェブサイトを1人で通して開発してみると良いでしょう
フロントエンド
HTML, CSS
文章構造を定義するための言語がHTML、そして、文書のレイアウトを制御するのがCSSです。
HTMLとCSSは、厳密に言うとプログラミング言語ではないのですが、ウェブのプログラミングをする上では、必須の言語となります。
JavaScript
ウェブサイトで、なんらかのアニメーションが実行されたり、ウェブページをリロードしなくても、情報が書き換わったり、情報更新を行ったことがある経験はないでしょうか?
HTMLとCSSでは静的なコンテンツを表示できますが、ユーザーの操作に応じて動的な処理を行うには、JavaScriptによるプログラミングが
実に世界の95%以上のWebサイトでJavaScriptが使用されており、利用シーンが極めて多いため初めて学ぶプログラミング言語としてもおすすめです
ウェブブラウザで動作させることができる、(ほぼ)唯一のプロラミング言語です。
HTML, CSS, JavaScriptについては、基本的には代替となるテクノロジがありません。ウェブブラウザが理解できるのは、HTML, CSS, JavaScriptだからです。ウェブサービスを作る仕事に付くたいのであれば、迷うこと無く学習をすることをおすすめします
Bootstrap
ウェブページの見た目は、CSSを使って自分で実装を行うこともできますが、手間が掛かります。
Boostrapは、表示先のウィンドウサイズに合わせてレイアウトを動的に変化させるレスポンシブデザインなど、よく使う定番のレイアウトを簡単に実装するためのCSSフレームワークです。
Bootstrapを使えば、デザイン性の高いサイトを簡単に作ることができ、アイディアを素早く形にすることができます。
CSSフレームワークは、流行り廃りが激しい分野ですが、その中でもBootstrpは長期に渡って使われているため、安心して利用できます。
サーバーサイド
フロントエンドの開発方法の流れを一通り理解したら、サーバーサイドの技術を身につけると、できることの幅が広がります
SQL
SQLは、データベースを操作するための言語です。
世の中のウェブサイトの殆どが、何かしらのデータベースを使っています。例えばECサイトであれば、顧客情報や商品情報を管理するのに必要です。
近年では、ActiveRecordを始めとする、ORM(Object-Relational Mapping)を利用することにより、SQLを意識することなくデータベースを扱うことができるようになってきています。
ORMは、オブジェクト(アプリケーション内の実体)とデータベースをスムーズに繋ぐための技術です。
しかしながら、不具合が発生した際のデバッグや、パフォーマンスを上げるためのチューニングはSQLを知らなければ難しいものです。そのため、最低限の基礎知識は必要です。
Ruby
サーバー側の処理を記述するためのプログラミング言語には Perl、PHP、Ruby、Python、Java等様々なものがあります。
HTML, CSS, JavaScriptのように選択肢がない言語と異なり、どれを使うかは意見が分かれるところです。一つの正解はありません。使ってみて好みだと思ったものや、就職したい企業で使っているプログラミング言語を選ぶのが良いでしょう。
どれを選んだらよいか決められない方には、Rubyをお勧めします。
日本人のまつもとゆきひろ氏が開発された言語ということもあり、日本語の情報がが充実していて人気が高いです。後述する通り便利なフレームワークRuby on Railsもあるため初心者の学習に適しているといえます。
Ruby on Rails
プログラミング言語Rubyでの開発を効率化するためのウェブアプリケーションフレームワークです。
どのウェブサイトでもよく使われる機能等をフレームワークが提供してくれることで、コード量を少なくすることができ、開発スピードが上がるため、実務では、何かしらのフレームワークが使われることが多いです。
数年で流行が去ってしまうフレームワークも多い中で、10年以上に渡りビジネスで利用されているため、安心して利用することができます。
サーバー技術
作ったウェブアプリケーションをインターネットに公開するためには、サーバーの構築や運用方法についても学ぶ必要があります。
heroku
まずは、手軽に始められるPaaS(Platform as a Service)を活用するのが良いでしょう。
ウェブサービスのソースコードを用意すれさえすれば、サービスを簡単にインターネットに公開できます。
特に、リリースしたばかりでアクセス数が少ないウェブサービスであったり、就職活動に使うポートフォリオサイトを掲載するには十分でしょう。
AWS
Amazon社が提供する、AWSです。習得には時間が掛かりますが、導入している企業が世界で最も多いクラウドサービスのため、余裕があれな習得しておくと仕事の幅が広がるでしょう。
スマートフォンアプリを作りたい
たとえば、Instagramのような写真SNSのアプリを作りたいと行った場合です。
iOS向けのアプリを作るのであればSwift、Android向けのアプリを作るのであれば、Kotlinが第一選択肢となります。
ゲームを作りたい
ゲームを効率よく開発するためにゲームエンジンを利用して制作することが一般的です。代表的なゲームエンジンには、Unityまたは、Unreal Engineがあります。
どちらを使うべきかについて、1つの明確な答えはありません。
就職したい企業、作りたいゲームが、どのゲームエンジンを使っているか、調査して見るのが良いでしょう。
シェアNo1であることから情報が多く、開発しやすいのは、Unityです。
また、3Dゲームだけではなく、2Dゲームも作りたい場合はUnityとなります。
どちらか選べない、決められない、というような方は、Unityから始めた方が敷居は低いのでおすすめです。
Unreal Engineは、優れたグラフィックのゲーム制作に定評があります。
入門レベルであれば、あまり気にする必要はありませんが、将来、ご自身で開発したゲームで大きな収益を目指す場合は、収益に応じたコストアップを考慮しておきましょう。(例:Unreal Engineは収入約1億円超えの場合5%のロイヤリティ発生)。
まとめ
目的別プログラミング言語の選び方をご紹介しました。FindUには、初心者の方におすすめのプログラミング入門講座の情報を多数掲載していますので、ぜひチェックしてみてください。