どうも、兼業アプリ開発者のなおゆです。
私は30代で知識ゼロからプログラミングを始めた私が、プログラミング学習を始める際に最初にぶつかった壁「プログラミング言語の選び方」について書いていきます。
プログラミング言語とは?
プログラムは二進数でできていますので、機械に日本語を話しても理解できません。かと言って機械が読みやすいように0と1だけの文章を作っても、今度は人間が理解できませんよね?
そこで、機械と人間どちらも読めるようにしたのがプログラミング言語です。
しかし、一口に言語と言っても種類が沢山ありそれぞれに特徴があります。 初心者の頃の私は、C言語? JAVA? Python?CSS?
プログラミングって入り口から専門用語?いやー!怖い怖い!
ってなりました。でも皆さんは大丈夫です、安心してください。私がお教えします。
おススメの言語は?
初心者だった私は、何の言語にするかでヒジョ〜に悩みました。
なぜなら、「言語の選び方」というものをよくわかっていなかったのです。
おススメの言語が「コレ」というのはありません。結論からいうと「どの言語でも良い!」です。
はい、これは卑怯な答えですね!
正確に言うと「どの言語にするか」という点を考えるよりも「自分はプログラミングで何をしたいか」が重要となります。
あなたは何がしたいですか?
自分は何をしたいのかを考える
言語を選ぶにあたっての近道は「自分は何をしたいのか」です。プログラミング学習を始めようと思ったきっかけは色々あるかと思います。例えば、
- フリーランスとして稼げるらしい…
- これからの時代はAIだ!
- ブログを運営して稼ぎたい。
- 携帯アプリを作って一発当てたい!
- 日々の仕事を楽にしたい。
こういった動機から、言語を選定するのがおススメです。
- フリーランスとして稼げるらしい… → JavaScript/PHP/CSS
- これからの時代はAIだ! → Python
- ブログを運営して稼ぎたい。 → PHP/Ruby/JavaScript
- 携帯アプリを作って一発当てたい! → Java/Swift/C#
- 日々の仕事を楽にしたい。 → VBA
目的への近道を考えよう
私の場合は「Unityでゲーム開発がしたいからC#を勉強しよう」という流れでした。
最初はまとめサイトなどを色々調べた結果、「初心者には簡単なJavaScriptがおススメ」などと書いているサイトを参考にJavaScriptを勉強しようとしました。
今思うと、私にとってJavaScriptは遠回りで、そのブログを鵜呑みにせず自分の着地点を考えてC#にしてよかったと思っています。
プログラミングの学習の参考書とかでも、この言語が絶対良い!とかこの言語はダメ!とハッキリ書いている事は少ないと思います。
自分が今やりたい事に必要な言語は何か?を考えましょう。
プログラミング言語の特徴
JavaScript
シェア率が高く、様々な分野で活用されています。 Web系コンテンツで活用されることが多く、フロントエンド言語に分類されます。難易度はわりと低いですが、仕事として行う場合は他の言語の知識も必要になってくる場合が多いです。 汎用性は非常に高いです。
Python
AI(人口知能)の分野で注目されており将来性は非常に高いです。意外と歴史は古く、色々な場面で使えるため、習得すると重宝されるでしょう。しかし、AIの分野で活躍するためには数学的な知識も必要となってきますし、時代の流れが早いため日々勉強が必要です。文法はシンプルで初心者でも読みやすく、ライブラリも豊富です。アプリやゲーム開発にはあまり向いていないようです。
PHP
Web系の開発者には必須の言語です。WordPressなどにも使用されその分野ではトップシェアですので、ブログ運営で稼ぎたい人はぜひ。しかし、逆に言うとWeb系でしか需要がないため、自分の目的に応じて選ぶべき言語と言えます。
C#
私はこの言語を最初に選びました。 C言語系列のオブジェクト指向言語で、様々な範囲で幅広く開発できます。古くからあるC言語ですが、そのため需要も多く、言語ランキングは意外と上位です。何よりゲーム開発プラットフォームのUnityで使える言語です。
Java
IT企業などで多く使われる傾向にあり、コンピュータのOSに依存しない汎用性の高い言語です 。 業務の面でも、Javaの経験を持つエンジニアは歓迎されやすいため仕事では有利になりやすいでしょう。ちなみにJavaとJavaScriptは全く別の言語です。
HTML
HTMLを習得するとウェブページを作成できます。多くのウェブページはHTMLで構成されており、HTMLが「文字を表示」や「画像を表示」の指示を出すことで、ブラウザ上にウェブページが表示されます。ですので「HTMLができる=プログラミングができる」とも言い難いです。
CSS
HTMLで書かれた文字を装飾するための言語です。CSS単体では学習難易度は低めとなっていますが、大抵はHTMLなどの他の言語の習得も必要となります。
VBA
簡単に説明すると、MicroSoftオフィスのエクセルなどを便利に使える拡張機能です。「マクロ」もVBAを使用しています。仕事でいつもエクセルを使っている人は、VBAを習得すると作業効率が各段にアップするでしょう。最近、仕事を自動化することで注目されている「RPA」の中身も、実はBVAだったりします。
コメント