初めての プログラミング言語

フリーランスへの道

フリーランスエンジニアになるために最初に勉強すべきプログラミング言語

 

hillpoint
エンジニア半分、ブロガー半分。
複業フリーランスのhillpointです。

 

フリーランスエンジニアは、プログラミングできないことには話になりません。

なので、プログラミング言語を勉強するのですが・・・

プログラミング言語って、いっぱいあるんです。

プログラミング言語は、それぞれ特徴があって、システムやサービスを開発する際は、システムの用途や分野によって、どれが適している検討し、選択します。

また、会社員エンジニアであれば、会社でのエンジニア育成講習にて、その企業が得意とする分野で一番選ばれるプログラミング言語を選択します。

2個か3個は、演習します。

これから、フリーランスエンジニアになろうなんて人は、得意?という分野は無いので、なりたいエンジニアによって、決めると良いです。

一部、言っちゃいますが

アプリケーションエンジニア(Web系じゃない人)になりたい人は、まずはJavaです。

Web系エンジニアになりたい人は、JavaScriptは必須習得で、その後に、PHPもしくはRubyです。

それでは、詳細説明します!

 

専門用語について

このサイトでは、ITエンジニアが使う専門用語を使用しています。

アイコンがついている専門用語は、「知らないと恥ずかしいITエンジニアの用語集」ページに説明を記載しているので、専門用語の意味が解らない場合、リンクをタップして、説明を参照してください。

 

たくさんあるプログラミング言語

こちらは、エンジニアが選んだ「今後、スキルを磨きたいと思う言語」です。

 

 

これで、全部じゃないですが、エンジニアが勉強したいと思っている言語だけで、こんだけあります。

聞いたことあるやつもあれば、無いものもあるでしょう。

なお、全部、できるエンジニアなんかいません。

経験の長いエンジニアで、3個、4個できる感じですね。

 

フリーランスエンジニアになるために最初に勉強するプログラミング言語の決め方

多くのプログラミング言語から、最初に勉強する言語を選ぶのですが、最初に勉強する言語は、今後のプログラミングの基礎となるので、人気のある言語よりは、基礎として適している言語を選んだほうが良いです。

また、人気のある言語や新しい言語は、今後も使われるか?すたるか?が未知数なので、最初に勉強する言語としてはよく使われている言語が良いでしょう。

よく使われている言語を選べば、案件数も多いので、比較的容易に案件ゲットできます。

決め方の基準を説明します。

 

なりたいエンジニアの種類を決めておく

まず、エンジニアは、対応分野によって、いろんな種類があります。

エンジニアの種類によって、勉強する言語は変わってくるので、なりたいエンジニアの種類を決めておきましょう。

エンジニアの種類として、この記事見てください。

あわせて読みたい
ITエンジニア の種類
知っとるけ?IT系エンジニアの種類

続きを見る

 

フリーランスエンジニアとして最低限必要なスキルは先に勉強しておく

フリーランスエンジニアになる上で、最低限必要なスキルというものがあります。

OS、DB、SQL と HTML/CSS/JavaScriptといったWebまわり。

これらは、プログラミング言語を勉強する前に、使えるというレベルで勉強が必要です。

これら、最低限必要なスキルを理解した後、勉強するプログラミング言語を決めましょう。

また、プログラミング言語の勉強中は、これら最低限必要なスキルを使って勉強しましょう。

※ 使うことが大事。

 

エンジニアの種類別、最初に勉強するプログラミング言語

それでは、エンジニアの種類別で、最初に勉強するプログラミング言語のおすすめを解説します。

また、その言語の特徴を以下で現しますので、参考としてください。

  • 言語タイプ
    コンパイル型かスクリプト型か
  • 情報量
    勉強する上でWeb上や書籍での情報が多いか?
  • 難易度
    言語としての難易度
  • 案件量
    フリーランスエンジニア向けの案件の量が多いか?少ないか?
  • 代表フレームワーク
    その言語の代表的なフレームワーク

 

アプリケーションエンジニアになるために最初に勉強すべきプログラミング言語

アプリケーションエンジニアがよく使うプログラミング言語もいっぱいありますが

最初に勉強すべきプログラミング言語は、Javaです。

 

オブジェクト志向の王道Java

え?なんか古くない?と思うかもしれませんが、基礎となる最初の1個は、情報量の多いJavaがおすすめです。

Javaは、オブジェクト指向型言語の最初の言語なので、オブジェクト指向に関する説明も多いのが理由です。

なお、今時のプログラミング言語は、どれもオブジェクト指向型であり、新しい言語は、オブジェクト指向は、当たり前なので、説明も無いです。

まずは、Javaで、プログラミング言語の基礎と、オブジェクト指向の基礎を理解しましょう。

また、Javaは、今も利用率が高く、案件量が多いこともおすすめの理由です。

特徴内容
言語タイプコンパイル型
情報量非常多い
難易度普通
案件量非常に多い
案件単価普通
代表フレームワークSpring Framework

最初の第一歩のHello Worldは、こんな風に書きます。

 

私は、もっと最先端のプログラミング言語を勉強したい!という方は、Javaを習得後、2個目のプログラミング言語として、以下を勉強するのが良いです。

 

Googleが作った言語、Go

Goは、比較的新しい言語で、こんな特徴があります。

・文法がシンプルで書きやすい/読みやすい
・実行速度が速い
・並列処理に強い

なんか使い易そうですね。

Javaより、Goを勉強したほうがいいじゃない?となるのですが・・・

一個だけ、懸念あり。

Goが、これから、みんなに使われるか?というと、未知数です。

どのプログラミング言語が、流行するか?は、解らないんです。

ただ、使いやすいだけでは決まらないんです。

勉強はしたものの、使う機会が無い。。。では、あまりに悲しいです。

なので、Javaを勉強後、2個目のプログラミング言語として勉強するのが良いです。

特徴内容
言語タイプコンパイル型
情報量少ない
難易度やさしい
案件量少ない
案件単価高い
代表フレームワークGin,Echo

最初の第一歩のHello Worldは、こんな風に書きます。

 

データ分析や解析系に強い、Python

Pythonも、最近人気のプログラミング言語です。

・文法がシンプルで書きやすい/読みやすい
・標準ライブラリが充実
・さらに幅広い用途に使える外部ライブラリが豊富

標準ライブラリと外部ライブラリが豊富なことから、AI機械学習にも向いているという特徴があります。

特徴内容
言語タイプスクリプト型
情報量多い
難易度やさしい
※ただし、AI・機械学習は難しい
案件量AI・機械学習を中心に割とある
案件単価高い
代表フレームワークDjango,flask

最初の第一歩のHello Worldは、こんな風に書きます。

Pythonの構文は、とてもシンプルなので、AIや機械学習の分野だけでなく、Web系にも使われることが多くなっています。

スクリプト型の言語なので、PHPに変わって、流行するかも?しれません。

 

Webエンジニアになるために最初に勉強すべきプログラミング言語

Webエンジニアになろうとしている人は、まずは、JavaScriptを習得してください。

もう、JavaScriptは、Webエンジニアにとっては、なくてはならない必須スキル。

JavaScriptに加えて、PHPもしくはRubyを勉強してください。

なぜなら、JavaScriptは、クライアント側で動く言語なんです。

しかし、システムやサービスを開発する際には、サーバ側にもプログラムが必要になります。

サーバ側で動くJavaScript(Node.js)もあるのですが、まださほど案件数がありません。

将来はわかりませんが、まずは、今、よく使われているPHPもしくはRubyを勉強しましょう。

どっちが良いか?は、特徴を説明するので、気に入ったほうが選んでください。

 

簡単、便利、PHP

PHPは、Web用に作られたプログラミング言語です。

・文法が比較的容易で、誰でも習得することができる
・スクリプト型言語なので、書けば動き、デバックも簡単
・HTMLに埋め込んで使うことが可能

PHPは、とにかく、Webで使うのが簡単な言語です。

特徴内容
言語タイプスクリプト型
情報量多い
難易度やさしい
案件量多い
案件単価安い
代表フレームワークLaravel,CakePHP

最初の第一歩のHello Worldは、こんな風に書きます。

PHPは、Web用の言語なので、HTMLの中に、<?phpと?> で囲って、プログラムを記述します。

また、他のプログラム言語同様、ファイルを作って、その中にクラスやメソッドを作って書くこともできます。

 

日本の宝、Ruby

Rubyは、日本人のまつもとゆきひろさんが作った、日本製のプログラム言語です。

こんな特徴があります。

・文法が短く、シンプルで簡単
・日本製なので、日本語の情報が多い

Rubyは、Ruby用フレームワークのRuby on railsを使うことによって、簡単にWebアプリケーションを開発できます。

特徴内容
言語タイプスクリプト型
情報量日本語で多い
難易度やさしい
案件量割と多い
案件単価割と高い
代表フレームワークRuby on rails

最初の第一歩のHello Worldは、こんな風に書きます。

シンプルですね。

Rubyは、日本のWebサービスを提供するスタートアップにとても人気です。

PHPとRuby、どちらもシンプルで簡単にWebアプリケーションが作れるという特徴です。

どっちが良いか?と言われると

新しいことやってみたい、スタートアップの仕事してみたい!という人は、Rubyかな。

新しいだけにこだわらず、幅広く、Web業界で仕事がしたいという人は、PHP。

 

スマホアプリのエンジニアになるために最初に勉強すべきプログラミング言語

スマホアプリを作るエンジニア。

ちょっと特殊と言えば、特殊ですが、案件・需要はあります。

スマホアプリは、簡単そうに思うかもしれませんが、結構難しい。

なので、スマホアプリを作るエンジニアになるんだったら、スマホアプリ用言語でスマホアプリ開発に特化した勉強する必要があります。

Androidアプリ向け Kotlin

これまで、Androidアプリは、Javaで作られていました。

2017年にGoogleが、KotlinもAndriod公式開発言語に追加したことで、一気に人気となった言語です。

Kotlinでも、Andriodアプリが作れるということです。

Javaよりもコードの記述量が少なくなるので、人気となっています。

特徴内容
言語タイプコンパイル型
情報量まだ少ない
難易度難しい
案件量少なめ。案件はAndroidアプリ開発のみ
案件単価高い
代表フレームワークサーバー開発もできるので、spring系で使えるフレームワークもある。

最初の第一歩のHello Worldは、こんな風に書きます。

 

iPhone向け Swift

iPhone向けのアプリ開発用の言語です。

特徴としては、「モダン」だそうです。

シンプルで、読みやすく、書きやすい

特徴内容
言語タイプコンパイル型
情報量まだ少ない
難易度難しい
案件量少なめ。案件はiOSアプリ開発のみ
案件単価高い
代表フレームワークサーバー開発もできるので、Swift用のフレームワークもある。

最初の第一歩のHello Worldは、こんな風に書きます。

Swiftやるなら、Macが必要です。

以上 「フリーランスエンジニアになるために最初に勉強すべきプログラミング言語」でした。

-フリーランスへの道

© 2021 CuF. Powered by AFFINGER5