おすすめってあるのかな…
上記、お悩みの方に向けた記事になります。
システムエンジニアの業種に携わって10年近くになる私が思う身に着けておいたほうがいい言語を紹介します。
ただ、やはりどの言語を使用するかは自身がどういった分野で活躍したいかなどによって変わったりしますので、まずどういうエンジニアになりたいかを決めたほうがいいです。
今回、ご紹介するのはWebアプリケーションにおけるプログラミング言語のおすすめを紹介していきたいと思います。
まず、どういったエンジニアになりたいか考えよう
エンジニアにもいろいろあります。
インフラ系を得意とするエンジニアだったり、ソフトを作るエンジニアだったりといろいろあります。
今、私が思うに流行っていそうなのはWebエンジニアかなと思っていますので、今回はWebエンジニアに焦点をあててお話していきます。
さて、Webエンジニアにしてもこれもまた複数に役割が分かれたりします。
細かくするといろいろありますが、大きく分けると以下の2つです。
・フロントエンドエンジニア
どちらのエンジニアになりたいかによって、使用するプログラミング言語が変わってきます。
Webアプリケーションはクライアントサーバモデルが基本になります。
まず、Webエンジニアを目指すのであれば、プログラミング言語を学ぶ前に全体の構成を掴んでおいたほうがいいでしょう。
上記踏まえた上で自分自身がどっちをやりたいか、どっちが興味あるのかを決めてから勉強したほうがいいかと思います。
もちろん、両方やりたいから両方勉強するというのもありだと思います。
しかし、完全初心者の方であれば中途半端に両方進めるよりかは、先にどちらかを勉強して概ね理解した後にもう片方の勉強をしたほうが効率がいいかと思います。
それぞれどういったものかを説明していきます。
バックエンド
サーバ側のエンジニアになります。サーバサイドエンジニアとも呼ばれたりします。
よくある基本的なWebアプリケーションですと主にデータベースに対してデータを登録、更新、取得、削除がメインになります。
よく画面で名前を入れたりして検索したりしますよね?
サーバはクライアントからこの名前で検索してほしいという要求を受け取ると、その情報をもとにデータベースに検索しにいきます。
そして取得したデータをクライアントへ返却するイメージです。
こういったやり取りを行ったりしています。
フロントエンド
クライアント側のエンジニアです。
よくクライアントサイドエンジニアとも呼ばれます。
案件によりますが、場合によってはデザイン部分も担う形です。
主な役割はWEBの画面を作るイメージです。
ログインのフォームだったり、入力のフォームだったりと見た目の部分がメインです。
テキストボックスやラジオボタンなどを画面に配置して、それぞれ押下した際にどういう動きをするかなども作成したりします。
後はサーバへの問い合わせの部分ですね。
プログラミング初心者におすすめな言語
概ねどんなエンジニアになりたいかイメージが沸いたら各々どれがいいのか見ていきましょう。
バックエンド
サーバサイド側で有名どころはjava、PHP、Rubyあたりが挙げられます。
いろいろありますが、結論から言いますと一番おすすめするのはjavaです。
理由は以下の3つになります。
②昔からある言語なので、ネットで情報があふれている
③javaで開発されたWebアプリケーションが多い
順に解説していきます。
①javaを理解できれば、他の言語も概ね理解できる
最近の言語はほとんどオブジェクト指向になっています。
オブジェクト指向を勉強するときにほとんどがjavaを例にして説明されることが多いので、javaの勉強をしながらこれらの知識を身に着けていったほうがいいです。
後、どの言語も環境は各々違いますがプログラミングを行う上での、基本的な文法はほとんど同じです。
if文で分岐させたり、for文で繰り返したりなどです。
javaに限らずですが、基本的にな書き方自体は何か一つの言語を勉強すれば問題ないです。
なので、もしサーバサイドのプログラミングを一から勉強しようとするのであれば、Javaがおすすめです。
②昔からある言語なので、ネットで情報があふれている
Javaは今では有料になり、今後は減っていく傾向になるかもしれませんが、数年前まではJavaの開発がほとんどでブログなどいろいろ情報が豊富にあります。
(有料といっても、商用利用でなければOpenJDKという無料で使用できるものがありますので勉強目的であればお金はかかりません。)
最近の新しい言語を使用するよりかは、たくさん情報があるプログラミング言語からはじめると困ったときの解決方法がネットにたくさんありますので勉強もしやすいかと思います。
なおかつ、サーバサイドエンジニアでJava未経験な方は少ないと思いますので、もし近くにサーバサイドエンジニアの知り合いがいるのであれば、技術的な内容を教えてもらえるかもしれません。
③javaで開発されたWebアプリケーションが多い
今でもJava開発されたWebアプリケーションのシステムが多くあります。
新規開発案件では、減少していく可能性はありますが、今後別の言語で作り直しすることがあった場合に既存のシステムの内容を理解できるように知っておくといいです。
フロントエンド
フロントエンドのエンジニアですと、バックエンドとは違いそこまで種類がないかと思っています。
基本的に以下の知識は必須でしょう。
CSS
javascript
・HTML
テキストボックスをどう配置したり、ボタンをどこに配置したりなどWEBページの基本的な構造をHTMLで作成します。
・CSS
文字色や文字の大きさ、背景色などWEBページに装飾を施す役割を持っています。
・javascript
ボタン押下時の挙動、何か選択したときに動作させたりなど、WEBページに動きをつける役割をもっています。
簡単に書きましたが以上の内容は勉強しておくべきかと思います。
ここ最近ではフロントエンドのフレームワークとしてReact、Angularといったものがあり、今後フロントエンドエンジニアとしてステップアップしていく過程でこれらフレームワークに接することも出てくることでしょう。
フレームワークとは、開発していく上で簡単に実装が可能なツールのようなものです。
厳密にいうともっといろいろあるのですが、今は上記のようなイメージでいいです。
開発効率を上げるためによく使用されます。
どちらのフレームワークも基本的には上記で挙げた3つがベースになりますので、まず上記の知識はしっかり押さえておいたほうがいいです。
まとめ
プログラミング初心者または未経験者が勉強しておくといいおすすめ言語を記載しました。
バックエンドですとjava、フロントエンドはHTML、CSS、javascriptといった感じですね。
バックエンド側はたくさん言語があるので迷いがちですが、最近の流行りだとPythonもいいです。
AIや画像解析などでよく使用されており、シェアもどんどん拡大していっています。
なおかつ、javaと違って環境構築も楽なので、こちらもおすすめではあります。
上記でも記載しましたが、プログラミングしたい!と思われた方はまず自分がどんなエンジニアとして活躍していきたいか決めましょう。
もし、どっちのエンジニアに決めかねている方は、SEのフリーランス求人サイトを確認してみて、給料とかどちらのほうが需要があるか確認して決めてもいいと思います。
案件の募集とかでもだいたいサーバサイドエンジニア募集!とか言語はjavaでとか書かれていたりするので。
ただ、今回紹介した言語は参考程度に受け取ってもらって構いません。
既に別の言語を始められているのであれば、コロコロ勉強内容を変えるよりかは今勉強していることに集中しましょう。
コメント