Webエンジニアの吐き溜め

WebEngineerの吐き溜め

元Web系エンジニアが派遣業界にて奮闘するブログ

【2020年9月版】言語で迷っているプログラミング初心者はこれを読んで一考して欲しい

どうも管理人ことNANAです。
今回は、これからプログラミングを勉強してみたい人に向けての内容です。
それ以外の人も現役エンジニアも読んでみてください。
また、良くありがちなスクールの案内とか転職サイト、エージェントの紹介等は一切無いので読んでいってください。

Let's Go


-----ーーーーーーー



まずは、このページを開いていただきありがとうございます。
そして、このページを開いたということは少なくとも少しはプログラミングをしてみようかなって思っていらっしゃるということですよね。
今コロナ禍で非常に世界が厳しい状況ですが、正直エンジニアは常に不足しております。
そのため、このページを読んで少しでもエンジニアになろうかなと思って頂ける方が増えることを望んでいます。

タイトルの2020年9月版は、いつものクリック数を上げるための工夫です...( *´艸`)
(なんともSEO的に検索しにくいタイトルだことで。。。なので、この記事を見つけたアナタは天才だ)

多種類のプログラミング言語

今この世の中にプログラミング言語って何種類あるかご存じでしょうか。
僕には分かりません...
あぁ、調べていないから分からないということではなく、自分達にとって使いやすい言語がエンジニアによってどんどん開発されているからなのです。
そして、プログラミング言語というのは1つだけ覚えてたらいいものではございません。
言語には得手不得手がはっきりしています。
テレビとかの家電には組込系の言語、スマホアプリを作るならこの言語。のように大体決まっているのです。
例えば僕らみたいなITエンジニアが、大工さんのように家を作ったりと仕事を完璧にこなすことは難しい、適材適所ということです。

どれを勉強すれば・・・?

結論から言います。

自分が作ってみたい、携わってみたいものに使われている言語

これが真実。これが心理。
車関係ならCとか、Webでカッコイイページ作りたいならJavaScriptとか、AI作りたいならPythonだし、フリーランスになりたいならJAVAだしってね。
可能性って無限大なのよ。
まずは、そこの分析や市場調査をしてからですかね。

学習してはいけない言語

そんなものはねぇ!!

僕も仕事柄色んなサイトやブログを読むと「初心者はJAVAを触るな」とか書いてありますけど、僕から言わせてもらえれば関係ないですね。
ぶっちゃけ書いてある内容読んだら一理有るなと思わせられるんです。
書いてあることは理解できるけど、それは違うと思うんだ。


過保護すぎんだよアンタらは!!


環境構築やオブジェクト指向の概念理解で躓いて欲しくない。という思いから「辞めておけ」と書いているのかもしれない。
獅子は我が子を千尋の谷に落とすって言うでしょ?
やってみたい言語を触れなくて遠回りして何の意味があんの・・・?

エンジニアは上昇志向のある人が稼げますし、生き残れます。
ここで、「あーやっぱりあのサイトにJAVAは辞めておけって書いてあったな~。。。難しいから諦めるか~」という人はエンジニア向いていなi...ことはないけど、めげずに頑張ってください。
今時、めっちゃ色んな人が開設サイト作ってくれてるし、動画で学習もできる。
知恵袋だって、エンジニアの質問に特化したteratailだってあるんだよ!!
teratail.com


なので初心者で学習してはいけない言語なんてありません。

「ゲームセンターで格闘ゲームやってみたいなぁ~」っていう人に「格ゲーは難しいから音ゲーでゲーセンの雰囲気に慣れてからだ!」なんて甚だおかしい話よ?
同じゲームセンターにあるゲームという部類なだけ。
プログラミング言語もそう。畑が同じなだけで作っている野菜は全然違うのよ。


あえて言うなら

でも、でもね、ここまで読んでいても作りたいものも無いし、プログラミングも難しそうやな・・・という方に向けて私がオススメする言語が


\HTMLなのです/


え?言語じゃない?
そんなこと分かってますよ。
HTMLがハイパーテキストマークアップランゲージ(Hyper Text Markup Language)のマークアップ言語でありプログラミング言語では無いということを!!!

でもね、これから始めようと思う方にとって「プログラムって英語で書くんでしょ?」という概念は重くのしかかります。
それをツラツラと何百行と書いていくのは敷居が高いんです。
(倦厭しがちなのがこの辺というのを経験済み)


では何故、私がHTMLをオススメするかと言いますと。。。

\環境構築がいらない/


大体いろんなサイトに書いてあるんですけど「環境構築で心が折れると。。。
勿体ないですよね?折角やる気出して本なりサイトなり読んで知識付けたのに、プログラム書く手前で心折れるなんて。
それに比べたらHTMLは最高ですよ!!

パソコンさえあればいい

章タイトルにある通り、パソコン起動して、メモ帳が最初から入ってますよね?あれにアルファベットをカキカキしていくだけです。
(もしメモ帳が分からない人は、ちょっとプログラムやる前に色々パソコンの知識をつけてからの方がスムーズにいくかもです)

カキカキして、できた!なったらファイル名を「新しいテキスト ドキュメント.txt」から「index.html」に変えてダブルクリックしたら動きます。
自分が書いたHTMLが思っている通りに出たのか、エラーなのかがすぐに分かります。
HTMLの良さはもう1つあります。

成果が目に見えてわかる

人材派遣の営業やっていると組込系のエンジニアと面談する機会が結構あるんですけど、悩みとして結構聞くのが「自分たちの成果が目に見えない、どこに組み込まれているかは分かっているけど、それがどう社会に役立っているのかが分かりにくい」という悩みです。
それに比べて、HTMLはWebサイトを作るお仕事なので、こんな風に出来た!!とすぐ確認することができます。

HTMLに始まり・・・

でもね、HTMLはただプログラミング言語の敷居を1段登ってもらうだけなんです。
HTMLだけでは綺麗で立派なWebサイトはできないので「CSS」でHTMLで作ったもの(オブジェクト)の体裁を整えて、「JavaScript」で実際のサイトの動き(クリックしたらこの画面にうつる)などを勉強する必要があります。
ここまで学習が出来れば後はお好きにどうぞ!!という感じです。
(勿論途中でやりたい言語が見つかればそれを勉強することをお勧めします)

組込系であればCやC++に、そのままWebの道を進むのであればPHPRuby等を学べばいいと思います。
そしてフリーランスになりたければ今(2020/9/18)使用言語ランキング1位のPythonなど選択肢は様々です。

プログラミング言語は方言である

選択肢は様々とは言えどもまた覚えなおしかぁ。。。
と思ったアナタ!

私たちは今日本語を喋っていますよね。
例えば東京の標準語を喋っているとします。
そうしたら他の言語っていわゆる方言みたいなものなのです。
中には何言ってるか分からないレベルの方言がありますけどねw
ベースの日本語は同じだけど、語尾とかが少し違うだけなのです。

例えばの例で、「もしHogeという変数(文字を入れる箱)に1という数字が入っていたら、1が入ってます!と出力する」プログラムを書く場合

JavaScript

<script>
  int Hoge = 1;
  if ( Hoge = 1 ) {
    document.write(“1が入っています!”);
  }
</script>


【C】

#include <stdio.h>

int main(void){
  int Hoge = 1;
 
  if ( Hoge = 1) {
    printf("1が入っています!");
  }

  return 0;
}

違いといえば、JS(JavaScript)であれば 「script」が、Cの場合「#include「stdio.h」」になっていたりで、中身のif(もしも)という部分ってほとんど変わってないんですよ。
なので、1言語の書き方をある程度学べば、あーなるほどあの言語で言うところのあの部分ね!と互換できるのです。
Helloって言われたら脳内で日本語に直すとこんにちはね!と考えるみたいな感じ。
なので、まずは何か1つ言語をマスターというかある程度のレベルまで上げてみてください。


まとめ

ここまで読んで頂きありがとうございます。
そんなアナタには、僕がマンツーマンで言語のレッスンをしてあげまs...
とまぁ置いといて、結局自分が興味あるとか作ってみたい!と思うものに使われている言語を学ぶのが一番モチベーションが続くのでまずはそれの調査と需要などをチェックしてみてください。
繰り返しになりますが、それが無い場合はHTMLを学んでみることをお勧めします。