(第6回)「プログラミングやりたくない!」〜下から目線のコーディング武者修行〜
「真っ黒画面」ことTerminal、自分はどこにハマったのか? これはおそらく
「やったことを省略せずに全部見せてくれるから」
じゃないかなーと。
HTMLとCSSの段階ではうっすらと感じ、JavaScriptでキョーレツに思ったのは、
「このプログラムが裏側で何をやっているのかわからない」
というモンダイ。
「JavaScriptはBrowser(Webページを見るためのアプリケーション)内で動作する」
というのは説明を聞いてわかってたんですが、じゃあ
「JavaScriptとBrowserの間でなにをやってるの?」
というのが気がかりだったみたいです。
よくよく考えたら、
原材料であるHTMLでは、「上の方に」CSSファイルへのリンクを貼って、「そっからCSSの中身を持ってきてね」と指定を出す。
で、入門書レベルだと、HTMLのずっと下の方にJavaScriptのコードを書いて、「HTMLとCSSをこんな風に加工してね」と指定してあげるーー
なーんで、HTML上ではCSSが「先」で、JavaScriptが「後」なんだろう?
煎じつめれば、こういう
理由はわからないが、なんかそうやっている
という書き方に納得してなかったみたい…
相当あとになって、Ilya Grigorikさんの名著
“High Performance Browser Networking”(O’Reilly, 2013年)
を読み、やっと
それでCSSは先! JavaScriptは後なのか!
と納得できました。
*DOM(Document Object Mapping)という形式でBrowserがコードを読みとく際、「AとBが読み終わったら、はじめてCの手続きに進む」と決められてる由
*ブラウザが読み解く順番に合わせて、プラグラムも並べなきゃいけないのね、と
現代のBrowserは、どれも高度なアプリケーションなので、「中でなにをやってるか」は相当くわしくならないと読み解けない様子。
言われてみれば、音楽や動画の再生、ブラウザ上の通話、サービスからのNotificationも届くし、アレもコレも状態。
以前思い立ってFirefoxのむかーしのバージョンをダウンロード、コードの中身を確認してみようと思いましたが、その超膨大なファイル数にビックリ!
こりゃ目当てのファイルにたどり着くだけで100年かかるな…と、そっと「×」(Quit)を押したのでした…
じゃあ、それと「真っ黒画面」のTerminalはなにが違うの?というと
やったことをやったまんま見せてくれる
ので、
おかしいときは「ここがおかしいよ」と教えてくれる!
もちろん、JavaScriptさんもそうだとは思うんですが(^∇^)、そのためにええっとConsoleを開いて実行結果を見て… 文字が小さいなぁ、なんて。結果を見るのに何手間もかかってしまう。
一方の真っ黒画面さんは、書いたコードが通ると、
ザーッと実行結果がもれなく表示される!
これが快感で、病みつきになりました。
コーディング用のピコピコとしてUbuntuマシンを利用してますが、やはり命令文が通った時の快感は忘れられません。
あれで初めて
コンピュータって、実はこういうことをやってたのか
と分かった感触。
今までは「コンピュータに自分を合わせていた」けれども、真っ黒画面を使うと「コンピュータを自分で動かしている」実感があるというか。
そうしたピキーン!というハマった感じとともに、ニコやかなMardan先生についてNode.jsのコードを書いていくのですが、真っ黒画面でも結局
**なんなのこのピコピコ用語? **
という「専門用語+省略語」モンダイが再浮上…
結局、「正体不明の言葉」では丸暗記できない(しづらい)ので、これはまた独自の解決法を考えなくてはいけないーー
どんな用語が気になって、それをどんな方法で乗り越えたかについては、また次回に!
*気分転換に描いたパワプロの「ヤンスメガネ」こと「矢部くん」。特に意味はないっす( ´ ▽ ` )ノ
この記事が気に入ったらサポートをしてみませんか?