プログラミングを勉強してみたいけど、どの言語を学べばいいのか全く検討もつかない…
分かります、ボクもそうです。なので自分の方向性を見定める目的で、網羅的に調べてみました。
1つ1つの言語はあまり深堀りせずに、カタカナはなるべく置き換えてまとめていきます。
HTML
マークアップ言語(サイトを構造化する言語)です。HTML5からWebアプリに高度な機能を持たせることができるようになった
CSS
こちらもマークアップ言語です。Webサイトの装飾が主な役割で、JavaScriptやHTML5と組み合わせることで動的なWebアプリを開発できます。
PHP
Webアプリ開発でトップシェア。主にスクリプト言語。HTMLと親和性が高いです。JavaScriptがブラウザ上で動作するのに対してPHPはサーバー上で動作します。修得するとWordpress制作案件を担当できます。ECサイトやオウンドメディアの構築にも向いています。
Ruby( Ruby on Rails )
読みやすく初心者が修得しやすい言語。汎用性が高く、Webサイトやアプリ、SNSなどで活用可能。クックパッドや食べログもこれで作られています。
Rubyを使う際は開発をより簡単にスピーディーにする「フレームワーク」という道具を使いますがその主流が「Ruby on Rails」です。需要が高く、求人界隈でもRubyというよりRuby on Railsが使えるかが鍵になります。
人気過ぎて逆に他のフレームワーク(Sinatraなど)を使えたほうが案件獲得しやすいと主張されているフリーランスエンジニアの方もいらっしゃいます。
現状SNSやお仕事のマッチングサービスなどの開発で需要が高く、またリモート環境での案件量が多いのが特徴です。
JavaScript
Webコンテンツで使用し、汎用性高くシェアも高い
SQL
データベース言語で、様々な派生があります。WordpressではMySQLを使用。ほとんどのシステムやアプリはデータベース(DB)を用いるので、職種やポジションによっては修得の必要度が高くなります。社内で単独でWeb領域を担当するなら必須。
Java
大規模システムでの需要が高い、オブジェクト指向言語。Android開発でも使用します。OSに依存しません。
Kotlin
JavaベースのAndroidアプリ開発の専用言語
Swift
iOS、MacOS向けアプリの開発のための言語。Apple開発のXcodeという開発環境を使うため、Windowsでは使えません。
Bash/Shell
Unixのコマンド言語。サーバーを扱う際に使います。
Python(パイソン)
AIやディープラーニングでも使用される言語。高い可読性と書きやすさが特徴。本体は小さく、様々なライブラリに対応しています。
R
データ解析・統計の解析に特化した言語。Pythonに劣らない拡張機能、ライブラリを持ちます。Rstudioという開発環境を使用。
C#
C言語系オブジェクト指向言語。Webアプリ、Windowsアプリ。ゲーム開発で使われる「Unity」でも使われます。
C++
C言語系オブジェクト指向言語。大規模システム開発などで使用。
Unity
ゲームアプリ開発で人気エンジン。ゲーム起動時にロゴを見たことある人も多いはず。C++をベースにエンジンを記述。Unityscript(JavaScript)とC#とBooの3つのプログラミング言語に対応しています。
VBA
マイクロソフトのOfficeのアプリで活用できる言語。 Visual Basic for Applicationsの略。様々な処理を自動化できる。Excel自動化(マクロ)で使われている言語がVBAです。RPA( Robotic Process Automation )が流行っていますがVBAでできることも多いです。