167.『なんかとにかく全然わからん期』
初回:2021/7/26
今まさに『なんかとにかく全然わからん期』真っただ中です。
P子「何が判らないの?」(※1)
Kyonさんのコラムにも書かれているように、何が判らないのかが判らないし、どう判らないのかの説明もどうしていいのかわからないという状況です。
《参考資料》
https://el.jibun.atmarkit.co.jp/justanordinaryday/2021/07/post_88.html
新しく学ぶ言語が業務でそれなりに使えるようになるまで
2021/07/20
Kyonさん
言語で言うと、40年前にFORTRANから始まり、BASIC、Pascal、LISP、C、アセンブラ、COBOL、sed、awk、SQL、PL/SQL、VBScript、Java...と来て、Python は嫌いです。
P子「『嫌い』は付けなくてもいいでしょ」
LISPは、第2次AIブームに乗っかって使ってみましたが、最初は意味不明でしたが使っているうちに、その面白さに気づきました。SQLを言語に混ぜるのはどうかという意見もあるかもしれませんが、なかなか楽しい言語です。Pythonは感性に合わないだけで、別に判らないところはありませんでした。その理由は、Javaのような静的型付けコンパイラ言語は、業務で使うには『安心安全』なのですが、Pythonではまるで『緊急事態宣言下でのオリンピック開催』のような不安な言語です。
P子「あなたの言ってることが『なんかとにかく全然わからん』のですけど」
1.何が判らないのか?その1
私の主担当ではないんですけど、AWSの物件に関わっています。といっても本番リリースではなく、まだまだテスト段階です。開発もいずれ行うでしょうが、今はAWSの理解という段階です。
で、これが判らない。
環境を作って、既存のJava(JSP)アプリを配置してというなら判ります。ところが、サーバーレスとか、ラムダとか、まったく意味不明です。
だいたい、サーバーがないのにどうやって動くの?全く雲をつかむような話です。
P子「サーバーがないんじゃなくって、サーバーを意識することなく様々なサービスを組み合わせて、アプリケーションを構築するってことじゃないの」
Lambda(ラムダ)も、LISPやJavaのラムダ式と、同じ感じなのか違うのか、すっきりしません。だいたい、呼ばれ実行されるだけって、どういう事?
それに、Region(地理的に離れた領域のデータセンター群)とかAZ(データセンター)とか、既存の用語を使えばよいのに、わざと判りにくくしているとしか思えません。
さらに、混乱しているのがEFS(ストレージ)とS3(オブジェクトストレージ)とEBS(ブロックストレージ)など、意味不明です。
さらにデータベースもORACLEなどのRDBMSしか使ったことがないのに、DynamoDB(key-value型のNoSQL)とか言われても、ついていけません。
これらが意味不明なのは、自分で手を動かして環境構築していないからだと思います。
P子「AWSなら無料枠があるでしょ」
申し込もうとしましたが、途中でクレジットカードを要求されたので、一時中断しています。
2.何が判らないのか?その2
環境周りが判らないのに、そこで動かすアプリケーションも意味不明です。
今、評価しているのは、Angular(アンギュラー)です。これが、まったく判りません。アンギラスなら知っていますが...。
P子「あなたのギャグが判らないわ」
初めは『JavaScriptフレームワーク』と聞いていたので、jQueryみたいな感じで使うと想像していましたが、全然違いました。
こちらは、自分のPCで評価できると思いましたが、そこでさらに深みにはまりました。というのは、いきなり『Node.js、Angular CLIをインストールします』ときました。
で、Node.js ってなんだ! ってことになり、調べると『Node.jsはサーバサイドで動くJavaScriptだ』って、なんじゃこりゃーと。
意味不明のまま、インストールして、Angular CLIをインストールして、...何をしているのか判らないまま、とりあえずインストールしてみました。
すると...インストールできない!
これはいつもながらの経験済みで、社内からアクセスする場合は、proxy 経由なのでその設定を行い、なんとか無事成功。
ネットを頼りに、色々と奮闘するも、今度は『TypeScript』という壁にぶち当たりました。
『TypeScriptは、JavaScriptを拡張して作られたプログラミング言語です』
『TypeScriptで書かれたコードをコンパイルするとJavaScriptのコードに変換されます』
コンパイル? どうやって? 配置は?
さらに、JavaScript 自体も、見たことのない文法が使われていました。class、import、ナニコレ? 使ったことない...。async, await って何?どうやって使うの?
昔の知識で考えれば考えるほど、意味不明に判らなくなってきます。
3.なんかとにかく全然わからん時の対処法
私の場合、やはり手を動かさないと理解できません。それに『本』ですね。とりあえず判らないまま、書籍を購入して最後まで読んでみる。判らないままで構わないので、読んでみます。その場合、入門書とか薄い読みやすい系の本ではなく、O'Reillyなどの少し分厚いくらいの本を買って読みます。
昔は自腹で買ってましたが、最近は上司にお願いして買っています。
P子「最近は、それもしてないでしょ」
最近は、後輩に本を探してもらって、本人(後輩)に申請して買ってもらっています。本なんて安いもので、東京出張の往復で、10冊程度は買えるでしょう。
なので、わからんまま、何冊か本を読んで、わからんまま手を動かしているうちに、何となく雰囲気を掴めてくる...というのが私のスタイルです。
P子「人、それぞれでしょうけどね」
ほな、さいなら。
======= <<注釈>>=======
※1 P子「何が判らないの?」
P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。
スピンオフ:CIA京都支店『妖精の杜』
ここはCIA京都支店のデバイス開発室。安らぎを求めて傷ついた戦士が立ち寄る憩いの場所、通称『妖精の杜』と呼ばれていた。
P子:CIA京都支店の優秀なスパイ。早坂さんにはなぜか毒を吐く。
早坂:デバイス開発室室長代理。みんなから『妖精さん』と呼ばれている。
P子:「『なんかとにかく全然わからん期』...判るわ~」
早坂:「表現が、最高にぴったりくるよね」
P子:「初めて自転車に乗る時のような」
早坂:「判ってくると、どう判らなかったのかさえも判らなくなって」
P子:「特にここ数年の変化がものすごく激しい気がするんだけど」
早坂:「ホスト-クラサバ-Webシステムという流れとは別次元の気がする」
P子:「AIもすごい勢いだけど、本当に先が読めないわね」