今日よりちょっと賢い明日、今よりずっと自由な未来

Liberal Arts & IT

BOOK

プログラミングをなぜ学ぶのか、どう学ぶのか

更新日:

ハヤブサのコーディング歴は1年ちょっと。 学生時代のインターン先でLINEbotを作ることになり、完全な初心者としてネットの無料講座でpythonを勉強するところから始めました。

インターン先の方針というか、担当社員が説明下手なだけというか・・・ 最初の頃は酷いもんでしたね。笑

ーー初日ーー

これうちのサーバーのssh接続するための情報だから!

ssh接続ってどうやるんですか?!

俺mac分かんないから調べて!

macかどうかは関係ないんだよ・・・
そもそもサーバーが何で接続したらどうなるのかが分からないんだよ・・・
と思いながらも、人に頼らなくても自分で勉強する力は大分ついた気がします。

今回たまたまプログラミング入門講座という本を頂いて、軽く読める本だったので読んでみました。

なぜプログラミングを学ぶべきなのか、
完全初心者がプログラミングを学ぶ上で役に立つサイト、
どんな言語をやるべきか

などなど。
実際に初心者から一応アプリくらいは作れるようになった立場から言うと、賛成できるものもあったり、それはどうなの?と思うところもあったり。

なぜプログラミングを学ぶべきなのか

デジタル革命により産業構造が変わる

それはそうでしょうね。
これからはITが当たり前になっていく時代。
IT業界だけがITを分かっていれば良い訳ではないし、エンジニアだけが分かっていれば良い訳でもない。
難しい技術を全員が習得するのは無理でも、原理と「何ができるのか」は分かっていないと、利用も活用もできないでしょうからね。

どの国の、どの業界の、どの企業もITを活用するなら、エンジニアは世界規模で不足します。
逆に言えば、プログラミングスキルは世界で通用します。
世界共通言語ですから。

ロジカルシンキングが身につく

ロジカルシンキングって何だよ、と言う話はありますが、プログラミングを勉強していて、確かに事象を組み立てて考える力はついてきたような気がします。
算数の読解問題に似ているかもしれません。
100×80%という式の答えが分かる人でも、スーパーで20%引きと書いてある商品の値段が分かるとは限りません。
この例は簡単すぎですが・・・。
要は、プログラミングは英文字の文法を学ぶことではなくて、目的のための手段を構造的に考えることだと思います。

スティーブ・ジョブズの引用がグッときたので載せておきます。

アメリカ人は全員コンピュータのプログラミングを学ぶべきだと思うね。なぜなら、コンピュータ言語を学ぶことによって考え方を学ぶことができるからだ。ロースクールに行くようなものだよ。全員が弁護士になるべきだとはいわないけれど、現実にロースクールに通うことは人生に役立つはずだ。一定の方法で物事の考え方を学べるからね。

Apple創設者、スティーブ・ジョブズ

アイディアを形にできる

これを実現したい!と思ったことを自分で実現できると言うのはとても夢のある話だと思います。
これに関しては、プログラミングスキルはなくても人を説得するのが上手な人が、エンジニアを探せば良い、という話もあります。
ただ、営業もプログラミングもできる人が最強というのは変わらないでしょう。

プログラミングスクールに行くべきなのか?

この本で紹介していたのは、ゲーム感覚で学べる無料の学習サイトである程度考え方の基礎を理解してから、ワークショップなど「できる人」に倣いに行く方法。
私もこの方法には一部賛成ですね。
プログラミングを教えて!と言って習えるような範囲は、ネットで調べればすぐ出てくる話なんです。
スクールに通うのとWEBフレームワークのチュートリアルに従って手を動かしてみるのは、あまり違わないと思う。
ただ、一人で書籍と向き合ってやっているとモチベーションが・・・という話もあるし、他人が書いたコードを読んだり、他人の考え方を聞いたりすることで気づくことも沢山ある。
だから、ワークショップ型はとても面白いと思いますね。
わざわざ会場に行かなくても、オンラインでコードを見合ったり、chatしたりできます。

ゲーム感覚で学ぶって、どうなん?

この本では特にゲーム感覚で学べる学習サイトが多かったのですが、個人的にはそれはどうなんだろう・・・と思います。
確かに、やってみると奥が深いというのも分かるし、子供がやるには良いかなとは思います。
ただ、あれは人によっては「当たり前」なんです。
いわゆるロジカルシンキングをしない人がどう考えているのかが分からないのですが、元々プログラミングに合った思考をしている人には時間の無駄だろうと。
しかも、ビジュアル的に楽しそうなゲーム感覚で始められるというだけで、実際はプログラミングの関数と大きく違いないことをやるなら、最初からコードで覚えたほうが効率的だろうと思っちゃうんですよね。

言語は何を選べば・・・?

私はインターン先の環境の問題でpythonを進められましたが、実際なんでも良いと思います。
というのも、細かい文法は違っても考え方は大体一緒。
何かの言語でコーディングできるようになれば、他の言語でも調べながらなんとかやれます。
ただし、HTMLとCSSはただのお絵かきです!
プログラミング勉強した!って言った人がやっていたことが実はHTMLだった・・・みたいなことが何度かありました。
HTML使えるのはphoto shop使えるのと同じレベルだと思っています。
あれもあれで奥は深いですが、あくまでデザイン。
プログラミングの考え方とは一定違うものだと思ったほうが良いと思います。

プログラミングをするようになって思ったのは、
ああ、日本語しか使えないって不便だなあ
ということ。
調べたい内容が英語でしか検索できない、なんてことが多々あり、その度に日本の狭さを思い知りました。
プログラミングは世界共通言語。
世界中の人が自分と同じエラーで悩んでいると知ったら、なんだか世界が広くなったような気がしませんか?

↓個人が教えたり、教えられたりするサービス。ググっても分からず困った時に、サクッと聞けるオンラインメンターがいるとプログラミング学習は捗る。



-BOOK

Copyright© Liberal Arts & IT , 2021 All Rights Reserved Powered by STINGER.