今日はこの辺から
プログラミングというのは難しいもので、芯を知らないとなかなか理解が進まない。ある種数学などの学問とおなじで、基礎がおぼろげな状態では何を勉強してもその場ではわかったつもりになれても、次の瞬間には忘れてしまう。
昨年そのようなつぶやきがはてな匿名ダイアリーにあがっていて、上記の大元の内容もそれを思い出して話していました。
コンピュータの向こう側にある世界を理解する
プログラミングは、コンピュータの向こう側にある世界を理解することが重要。
コンピュータの中は、自分たちの住む世界とはまた一つ違った空間。ボールを投げても放物線を描いて飛ぶとは限らないし、空中にあるものが重力に従って落ちるとは限らない。いろんな点で物理法則が異なる場所。
プログラミングは、そんな物理法則の違う世界の物事を操作する術。だから向こうの空間をイメージできていないと結構大変なのではないかなと思っています。
いろいろな言語はあるけれど
JavaScript、Python、C#・・・、プログラミングをするためには、いろいろなプログラム言語があります。
ただ、そのどれを使う場合であっても、コンピュータの世界を理解しておくことがまず重要で、それがわかっていないと、その言語で何をしているのか、その命令で何がどう動くのかわからない。
そのままの状態でプログラミングを続けていると、どうしてもなにをやっているのかがわからないし、なにを学んでも定着しないのではないか と思っています。
さまざまな技術は移ろう
プログラミングにおける技術体系は、常に変わっていきます。
今メジャーな言語だって、5年後あたりにどうなっているかはわからない。新しい言語が出てきてそれがメジャーになっているかもしれないし、残っていたとしても仕様変更で今とはかなり違うものになっているかもしれない。
そんな変化にもしっかりついていくためには、まずは基本を理解することと、なんとなくでも常にプログラミングの情報を見ておくことが重要だと思う。
たとえばポッドキャストを聴くとか、新規技術が見られるオンラインイベントを覗くとか。技術を題材に扱うアニメやゲームを見るのもいい。とにかく常に少しだけでも見ておく。
そういう心構えが必要なのではないかと思います。
知ることと、それをきっかけに、こうなるかもしれないな と、未来を想像してみること
それから、いままでSBCast.でITコミュニティの方々を取材していて、割と共通しているキーワードとして、「知ることと、それをきっかけに、こうなるかもしれないな と、未来を想像してみること」というものがあります。
SBCast.では毎回偶数月の第一回(四回に一回)は、ITコミュニティや、ITに関するポッドキャストの配信を行なっている方をゲストに招いてお話ししています。
そんな中で、割と皆さん共通して新しい技術について知ることと、その先を想像してみること。その変化を体感して楽しむことというのがあります。
新しい技術の話しを聞いたり、それによって生まれたソフトやサービスを使ったり、あるいはOculus Questなどのようなハードウェアに手を出したり。そうしてみないと見えてこないもの 想像しづらいもの というのは結構ある。
そういうものにときどきでもいいので触れるということは、プログラミングのスキルを得るのに間接的にせよ関わっているのではないか とも思います。
いつもは時間がなくてそんなに触れられないかもしれない。でもそんなときは、ポッドキャストなどでだけでもいい。なんとなくITに触れる。
そういう生活スタイルが、結果的にプログラミングに繋がっていくこともあるだろうと思っています。
常に情報を得ること、コンピュータの世界を理解すること
結局、プログラミングをするには、情報を得続けることと、コンピュータの世界をしっかり理解すること この二つが何より重要。
メジャーどころのプログラミング言語をいきなりやるのが難しいなら、たとえばScratchやCode.orgなどから入ってみるのもいいかもしれない。
そういえばわたしも、この二つを題材にしたUdemy講座などを作ったりもしていました。
こういうところからコンピュータの向こう側の世界を理解していく ということも、場合によっては重要でしょう。
そうやってプログラミングというものの仕組みをまず理解していく。そこからはじめるプログラミングもアリなのではないかと最近思います。
*1:なおこちらのリンクは、クーポンのリンクも兼ねています。11月12日までにこのリンクより講座を受講すると、割引価格で講座を見られます