結構迷った!プログラミング言語選び!
こんばんは。地元のファーストフード店で3時間滞在して、プログラミング勉強中の私です。
先月から、Webサービス開発を目指して勉強しているのですが、今回は、私が迷った「プログラミング言語選び」について書きたいと思います。
一言で「プログラミング言語を勉強する」と言っても、言語は数百種類もあり、それぞれ向いている開発があるらしいです。。
あまり違いは無いように思ったのですが、知人に聞いてみると、「プログラミング言語」=「言語」として考えると、私が大まかに考えていた「プログラミング言語を勉強する」ということは、「他国の言語を勉強する」に等しいということでした。
つまり、勉強する言語は、英語なのか、フランス語なのか、ポルトガル語なのか、中国語なのか、、挙げたらキリがなく、まずは的を絞ることが重要でした。
そう考えた時、私には選ぶ前にやることがありました。
それは、どんなプログラミング言語があって、学習した方が良いのはどの言語なのか?ということです。
例えば、ブラジル人と会話したいのに、中国語を勉強していたらお話にならないので、目的と手段を明らかにしたかったのです。
主流のプログラミング言語とは・・
まず調べるべき事は主流とされている言語の情報収集。
私なりに調べた結果は、
Go・・プログラミング学習している友人が良く口にしていたプログラミング言語で、平均年収が高く、習得も容易だとネットに載っていました。2016年の人気ナンバー1の言語らしい。なんか良さそう!
Scala・・オブジェクト指向言語と関数型言語の特徴を持っている言語・・・え?何言ってるか分かんないです。ははは。海外のインターネット会社で多く扱われているのに、国内では人材不足で、収入が多い言語。・・・扱える人が少ないなら、困った時に誰にも聞けないので、PC初心者の私にはまだ早い!却下!
Ruby・・日本人が開発した言語なので、日本語の学習サイトと書籍が充実しているプログラミング言語。Webアプリ開発に向いている言語。・・めっちゃ良さそう!
Python・・人工知能や深層学習に向いているので、今後更に人気になるプログラミング言語。・・確か、地域でやっているプログラミングスクールはPythonだっだような・・これから学ぶなら良さそう!
C・・書籍を多く目にするのでメジャーな言語。ネットの口コミでは「難易度が高い・初心者向きではない」など、ネガティブなことが書かれていました。・・先輩方の意見を参考にして、候補がらは外そう。
PHP・・HTMLに埋め込み可能で、Web開発で良く使用されているスクリプト言語。また、関数が豊富で、初心者学習に向いている!らしい。これも候補ですね。
Swift・・Apple社(iPhone)向けのプログラミング言語。iPhoneアプリに主に使用されており、人気の言語。・・iPhoneもMacも使っているけど、スマホアプリが目的ではないので優先順位は低くしよう。
Kotlin・・文法(記述ルール)がシンプルで、コードも書きやすくい新しいプログラミング言語。Androidの公式言語として注目されている言語。・・Android使っていないので対象外かな〜。
・・・というように、ちょっと調べただけでも数種類。中には聞いたこともない名前もあって、改めてビックリでした。
そもそも、私の目的とは・・
ここまで、言語によって特徴がある事は理解できました(なんとなく)。
実際に勉強するプログラミング言語を選ぶとなると、私も目的に適している言語を学びたいです。アラサーとなっていて、学習で遠回りもしてらればいので、スタートはいつもより慎重になります(学習って、時間もお金もかかるので・・)。
私の目的は「Webアプリケーションの開発」です。
まだまだ分からない事ばかりですが、サービスを作って、周りの人たちに楽しんでほしい。誰かの課題を解決する手伝いがしたい。というかなりザックリとして目標です。
もちろんそのサービスを通して、起業したいとも思います。その背景にはお金を稼ぎたい!という欲もあります。
なので、今学ぶのは、スマホ向けのプログラミング言語ではないと判断します。
また、Webサービスの基本である、「HTML」と「CSS」はどの言語を学ぶにしても必須だと思うので、しっかり学んでいきます。
どうやって学ぶか?
はい。学習意欲はあります!では、次の問題は、どうやって学ぶかです。
選択肢としては、
①プログラミングスクールに通う。
②専門学校に通う。
③書籍などを使っての独学。
④オンラインスクール。
が出てきました。
①は、地域にプログラミングスクールがあって、定期的に受講生を募集していたので、真っ先に検討しました。ギリギリまでいくと考えていたのですが、仕事のスケジュールが、スクールの募集期間と重なってしまい見送りになりました。
スクールに通うという事で、同じ志の仲間が作れるかも!と期待していたので残念でした。
②は通学距離が遠く、入会金や受講料が高額だったので無し。資料請求をして、イメージをしていましたが、ハードだと思いました。
③は実際に「Ruby」の専門書を購入しました。勢いとやる気はあったのですが、「環境構築」の段階で躓き、パッキーンと折れてしまいました。
④はサービスが多く、どれが私に適しているのかを見極めるのが大変でした。オンラインなので時間は融通効くし、通学も無いので最高!しかし、オンラインなので悪質なサービスでは無いか?など変に心配してしまい、なかなか決断できませんでした。
結局、決めきれないまま無料のオンライン学習ツールで時間が過ぎてしまいました。
そんな中、メルマガで、オンラインスクールの入会金割引キャンペーンが届きました。新規を増やすためにあからさまなキャンペーンだと思い、なんとなくメールを読んでいくと、まんまと誘惑され、入会しました。(笑)
・・・とは言いながら、口コミを調べたり、サービスサイトを念入りに確認しました。一番の決め手は、数日の間、決断できなかったので、勢いで”やってみよう”という気持ちでした。
そのオンラインスクールは、PHPを中心に、現場目線で学習ができる。という事で、開発現場もイメージできそうなので興味が湧きました。
私にとっては安く無い(むしろ高い)入会金でしたが、払うからにはしっかり学び、活用しようと決めました!
最初はそれほど肝心では無い!?
新しいことを学ぶときは、情報収集など、慎重になると思います。
でも、プログラミング言語は、一つの言語を重点的に学べば、応用が利いて、他のプログラミング言語も理解しやすい。となんかで読みました。
まだまだ学んでいる最中なので、断言はできないですが、結構色々なところで言われているので嘘では無いと思います。
考え過ぎてやらなかったり、行動開始が遅くなるのは勿体無いと思ったので、勢いかもしれませんが、オンラインスクールを初めて良かったと思います。(ちょっと無理やり正当化したいです。ははは。)