2020年7月29日 水曜日
早く魔法使いになりたーい!ども!濱口幹久です。
ようやくこの時が来ましたね。プログラミング学習を初めて1か月、ついに自分が主軸にするプログラミング言語選ぶ時が来ました。
これはRPGでいうところの最初の職業を選択するぐらい重要なものです。この言語選びが今後の自分のプログラミング学習の転換点ともいえるでしょう。
今回の目次です
まず初めに、プログラミング言語とは何か?プログラミングは端的にいえば、「コンピュータへの指示」を言います。つまりコンピュータ君との対話です。その対話に使う言語のことをプログラミング言語といいます。メジャーなものから、マイナーなものまで含めて、8000種類以上あると言われています。(多いな、、、)
現実の対人言語も種類が豊富にあるように、プログラミング言語もまたたくさんの種類があるんですね。よく使われている言語でも30種類近くあると言われいます。
プログラミング言語がたくさんあるのは前から知っていましたが、なぜたくさんあるかは知りませんでした。たくさんある理由は
それぞれの言語で得意分野や、苦手な分野が違うからです。なので、場合に応じて適切なプログラミング言語を使い分ける必要がある。 らしいです(笑)
正直、やり始める際は目的が存在したものの、とりあえずjava scriptかな!と呑気に考えていましたが、万能な言語が存在しない以上、今一度言語に関して考える必要があると考え、ブログを書きました。
そして、本に書いてあった言語の選び方は
とのことです。英語のような公用語と同様に広く一般に使われる言語は存在しており、需要が高い言語も存在します。学習コストもろもろのことを度外視して、目的がない場合は、そういう市場価値のたかい言語を学ぶのがよいそうです。
しかし、それは目的がない場合の話で、自分のような目的がある場合は別です。
そこで今一度プログラミングを学ぶ目的を整理し、言語の選択を行っていきます。
途中で複数の言語を学ぶことは可能ですが
だそうです。というのもプログラミングの幹の部分になるので、ここがしっかりあるかどうかで、その後の枝葉の習熟度が変わるそうです。
根の部分である、プログラミング的思考方法や、検索力、情報収集能力はこれからも鍛えていきますけどね!!
当面の自分の目的はブロックチェーンエンジニアになること。といえます。
しかし、これはブロックチェーン企業に就職する上で必要でしたが、現在ブロックチェーン企業に就職することは諦めています(ブロックチェーン業界は諦めてません!!)
もっと大局的、抽象的に目的を策定し、細分化した後、具体化する作業を行っていきます
今考える限りのしたいこと
java script solidity C++ Go python
PHP SQL HTML Java script
HTML CSS Java scriot PHP Ruby
SQL R
必要なプログラミング言語をまとめると
という感じです。正直めっちゃ欲張ってますね(笑)
これをこれから1年ぐらいかけて学習していくことになりますね(キッツ)
上記の目的で最も重複していたのが、Java script 、次に重複していたのが、SQL、HTML、PHP
三山羊さんと岡部さんから、ブロックチェーンエンジニアに関しての助言をいただきました。ありがとうございます!!
三山さんから頂いたメモの中にpythonがあり、データのラベル付けを行うのに適している、つまりブロックチェーンのビジネスモデルのデータストアモデルに有効という情報は大変興味深いので、頭に入れておきます!!
言語が決まれば後はそこに全力注入するべき!!今後の学習方法の流れは以下です
1 専門書の購入&Codecademyで学習 8月に終わらせたい。
2 一人で作品を作成(工程管理やクラウドソーシングを意識)
java scriptのデメリットとして、使いこなすには幅広い知識(HTML/CSS PHP/Rubyなど) も求められるので、同時並行でやっていく必要がある。しかし、二兎追うものは一兎をも得ずという言葉があるのでほどほどに。
というか、WEBサイトって何?(笑)レベルなので、そこらへんも学習しないとね。まだN予備校修了してないし。
何を持ってエンジニアと名乗るかは、システムか、作品を一人で作ること!どれくらい大変なのかは知らない。
目指すのはブロックチェーンエンジニアでもなければ、ソフトウェアエンジニアでもない。