ブロック ブロック

Blog

卒業生インタビュー

Hope for the best, but expect the worst.

Webエンジニアが使うプログラミング言語

   

WEB業界ではさまざまな言語がありますが、WEBエンジニアは主にどんな言語を使って仕事をしているのでしょうか。

多数ある言語のうち、WEBエンジニアとして活躍するのにプラスになる言語と求人で求められている言語についてまとめてみました。

■WEB業界で使われている言語

WEB業界ではさまざまな言語が使われており、求人の頻度順的にみていきますと以下のようになります。(2018年度現在)

・Java
・PHP
・JavaScript
・.NET(C#/VB)
・Ruby
・Perl
・Python

■【Java(ジャバ)】

まずは求人トップの言語としてJavaを紹介させていただきます。

求人だけに限らずプログラミング言語の作法を覚えるという意味でも初心者には(独学でなければ)お勧めします。

私も学習環境がいい方(学校などで長期間の研修が受けられる方)にはJavaをお勧めします。Javaで身につけたプログラミング言語の基礎は別の言語を学ぶ際に役立つことが多いため、色々な意味で潰しが聞きます。

私も今大学生だったら時間もあり、大学の授業でもやっていることがあるのでJavaを勉強しますね。

ここではWEBというくくりで紹介をしていますが、WEBに限らず、デスクトップアプリやスマホアプリなどでも使われており、おそらく全プログラミングの中でももっとも求人数が多い言語です。

近年では多少減っており、オワコンなどとディスる方もいますが、それでもまだまだダントツと言っていいレベルですので、後20年は安泰でしょう(笑)

求人の多さとしては

  • 言語自体の厳密さから特に業務系の大規模プロジェクトで使われやすい
  • プラットフォームを選ばす、あらゆる環境で動く
    (「Write Once、Run Anyware(一度書けばどこでも動く)」などと言われています)

などが原因でしょうか。

が、初心者が学ぶには非常に厳しく

  • 環境構築が大変
  • 言語自体も型指定をしないといけないので大変
  • いい加減な書き方をするとエラーですぐに落ちてしまうため大変
  • フレームワークも乱立していて癖があるため、大変

など色々と壁があります。

独学で学ぼうと思った場合、PHPなどある程度、他のプログラミング言語の基本を学んだ後で覚えるには非常にいいかと思います。

■【PHP(ピーエイチピー)】

PHPは初心者でもとてもわかりやすく覚えやすい言語です。

プログラミングをはじめるにあたって初めの一歩になる言語であるため、数多くの初心者向けのプログラミング言語が本になっています。

PHPはウェブアプリケーションを作るときに利用されていて、手軽に書くことができるため人気があります。

WordPressやECCUBEなどPHPを利用したCMSも数多くあり、プログラミングを高速で開発するときに使われるソフトウェアであるフレームワークも多数あります。

PHPの特徴は

  • 構文がシンプルで覚えやすく、初心者でもなんとかなる
  • WEBに特化しており、WEBで実行することであれば他の言語に比べて少ない行数で実行できる
  • 配列関連で便利な関数が多数用意されており、同じことを実現するのに他の言語と比べてラク
  • 求人も比較的多く、WEBでいうとJavaの次ぐらいに位置している
  • メジャーな言語であるため情報を調べやすく調べるのに困らない

というメリットがあり、WEB業界で重宝されていることになります。

このようにPHPを習得していると、WEBエンジニアとして活躍できる機会が増えますし、また、PHPと+他のスキルがあれば独自の技術でアピール材料にもなります。

一方でPHPには下記のようなデメリットをあげる方もいます。

  • CやJavaなどに比べるとインタプリタ型ということもあり、実行速度が遅い
  • 標準関数の引数の規則性などが比較的無秩序
  • 自由度が高いため、保守性(他人の書いたコードのメンテナンスしやすさ)が低いことも多々ある
  • セキュリティホールが数多く発見されている
  • 言語ヒエラルキーの中では下位に位置しており、PHPしかできないエンジニアはPHPer(ペチパー)とよんで迫害されることもある(汗)

私としてはやはり未経験者で学習環境のよくない方(長期間の研修が受けられず独学に近い方)にはPHPをお勧めしております。

■【.NET(ドットネット)】

.NetとはMicrosoftが提供している実行環境のことを言います。具体的なプログラミング言語としてはC#(シーシャープ)やVisualBasic(ビジュアルベーシック)などが使われます。

私も一番最初に覚えたプログラミング言語はExcelVBAでした。

一般的にはやや業務よりの求人が多いようです。

■【JavaScript(ジャバスクリプト)】

大昔(2000年前半)はマウスを移動した時に出てくる不要なアニメーションや音楽など「いらない」要素が強かったと思います。

jQueryやAjaxなどの技術が普及するにつれ、使いやすく、また様々な場面で使われるようになってきました。ただそれでも主に画面側の装飾やアニメーションなどで使われることが多く、どちらかというと単体で使われる技術ではなかった印象です。

2010年代の中盤以降ではAngular,React,nodeなどjQuery以外にも様々な技術が脚光を浴びるようになってきました。

現在のWEBアプリでJavaScriptがないものはほぼないと一定いいでしょう。特におしゃれなアニメーションやエフェクトなどではJavaScriptの技術が使われていることが多いです。

JavaやPHPをサーバーサイドエンジニアなどと言いますが、画面系の実装を行うエンジニアはフロントエンドエンジニアなどと呼ばれることが多いです。

フロントエンドエンジニアとなりますと発展的なCSSとこれらのJavaScriptの最新技術の使いこなしが必要になってきます。

個人的には技術的な隆盛が激しく、技術が陳腐化しやすい分野かと思っております。

■【Ruby(ルビー)】

国産のプログラミング言語で、PHP同様学びやすい言語です。

Rubyを使ってWEBアプリを作る場合、ほぼRubyOnRails(以下Rails)というフレームワークを使うことになります。

Railsの影響は非常に大きく、比較的新規のフレームワークはRailsの影響を受けたものが多いとされています。

PHPと並んで求人もそこそこあり、学習していく上でも情報量が多く、比較的優しい言語になりますので初心者にお勧めですが、

  • WEBでやる場合,RubyOnRails一択になりがち
  • WEBの学習=RubyOnRailsの学習になってしまう
  • 初心者にいきなりフレームワークはデメリットも多々あり、後々応用が効かない可能性もある

のような点から一番最初にRubyOnRailsを使うのはエンジニアとしてのキャリアを考えるとややリスクもあると感じます。ただ別の言語で覚えた後RubyOnRailsというのはいい選択ではないかと思います。

■【Perl(パール)】

古くからあるプログラミング言語の一種で、2000年前後などは一般のアプリはPerlとCGIという技術が使われたものがほとんどでした。

私も初めてお金をもらって開発した技術がPerlでしたね・・・

フレームワークを使っていれば別ですが、そうでない場合、ソースが非常にきたなくなりがちで、私も暗号解読のようなソースにしばしば会いました。

現在では一般のアプリはPHP,Rubyなどにシェアを奪われているようで、求人はかなり減少傾向にあり、これから積極的に覚えるメリットはないように思います。

ただLinuxには標準で入っており、アプリを作らずとも文字列操作などで柔軟な処理ができることからインフラ業務をする場合、覚えておくと重宝することも多いでしょう。

■【Python(パイソン)】

以前はWEB系の言語と言ってもPHPやRubyなどに比べるとほとんど注目されない言語だったように思います。(私が興味ないだけかもしれませんが・・・)

2017年ごろからAIや機械学習という技術が流行り始め、Pythonの人気も急上昇し、書籍や勉強会、企業研修などのニーズも非常に高まっています。

私も少し学習しましたが、比較的簡単な言語ですので他の言語を一つしっかり覚えていればそれほど苦戦はしないと思われます。

もともと数学に強い言語のようで統計の特殊な関数などが多数実装されています。

Pythonの求人は比較的高年収なものが多いですが、これはPythonを扱うような求人が、データサイエンティストやコンサルティングなどプログラミング言語以外の専門性も要求されることが多いからだと思います。

■言語選択に関して

基本的に独学でこれらのプログラミング言語を学ぶ方には学びやすさからPHPをお勧めしますが、PHPで言語の基礎を身につけた後は興味があるものを選んで行けばいいと思います。

大事なこととしては言語によってメリット、デメリットがありますので、一概に言語の信者になったり、ディスったりしないようにしましょう。

私もPHP最高!ということもあればPHPクソ!ということもあります。時と場合によって変わってきますので、メリット、デメリットをしっかりと理解することが大切です。

 

 - コラム

  関連記事

  おすすめ記事