ぽぬメモ!

ただのゲーム好きオヤジ

ponu 人生見直し Advent Calendar 2022 1日目

歯が取れた。11月の仕事は日本語が7割、英語が3割ぐらいの環境ですごく精神的に消耗した。 他の人の仕事事情はわからないが、人手不足が凄まじい。老体には厳しい。 AI人材とか言われても、超絶難しいので、国内にはいない。 社用語はともかく日本語の曖昧さを排除するために英語に統一してほしいという気持ちは常にある。

ponuの職場に限り近いイメージ www.youtube.com

正しく伝えないと行けない状況で、日本語を使うことが難しくなっている理由は2つあると思う。

make or become unclear or less distinct. 日本語では「検討します」、「考えてみます」といってその後、何もしてくれないことがある。 当人に悪意があるかは分からないが、巧みな言葉でやりたくないのか、やれないのか実行せずその場しのぎの言葉で取り繕われることがある。

Inefficient junior high school English. 【主語 + be動詞】、【主語 + 一般動詞】、【主語 + 助動詞】疑問文、否定文、筆記体....。 ほぼ意味無し。アイスを注文することも、場所を聞くことも出来ない。

YouTube Kidsは楽しいぞ。

小学生のころからサンリオやディスニーが好きで、
最近は「すみっコぐらし」のアイマスクを買ったりした(サンリオでもディスニーでもないが)。

ところで、最近YouTube Kidsを見てみた。観ているところを観て面白そうだったからだ。

そしたらすごい優良コンテンツだらけで、広告もないし、いいね!もコメントもなくってすごい良かった。

 

まだ観始めたところだけど、老若男女にウケそうな動画をご紹介してみる。

新年初笑い!ナイツさんが書いてくれたネタやっちゃう!【ハローキティM-1王者への道 Vol.3】漫才

https://www.youtubekids.com/watch?v=vhzLYqVHYFQ&hl=ja

https://www.youtubekids.com/watch?v=vhzLYqVHYFQ&hl=ja

これ、大人向けだろ!?

 

ところで、すみっコぐらしのアイマスク、かなりのレア物だったみたいで、ネットで売ってない。
ほしかった人ごめんなさい。ひどい仕事で目が限界だったんだよ。。。

Honda Racing THANKS DAY 2022

みなさん、ついに戻ってきたHonda Racing THANKS DAY 2022を見ましょう。

参加するドライバー、ライダーの一部を見てみましょう。

 

Oracle Red Bull Racing
マックス・フェルスタッペン
セルジオ・ペレス

Scuderia AlphaTauri
ピエール・ガスリー
角田 裕毅


Repsol Honda Team
マルク・マルケス

LCR Honda IDEMITSU
中上 貴晶

 

F1レギュラードライバーが4名揃いますし、おそらくF1ドライバーでも中々、マルク・マルケスとレースコースで話したり、直接F1、motoGPのマシンを比較してみたりすることは無いと思います。たしかアロンソmotoGPマシン、ピエール・ガスリーSuperGT GT500のNSXに乗った記憶があるのですが、もう何年前だよって感じで忘れてしまいました。

www.honda.co.jp

 

www.youtube.com

F1とmotoGPを走らせ、その頂点のドライバー、ライダーと契約していて、こんなイベントができるって本当にすごいことだと思います。

C/C++プログラマからスマートフォンアプリエンジニアへの道

土日も作業することになった。
単価は高いが、厳しい仕事がおおいのが現状だ。

では、なぜ日本人のスマートフォンアプリエンジニアが増えないのかを自分なりに考えてみた。

業務アプリなどに関わってきた人が、いきなりスマートフォンや、モダンWebに鞍替えするのは、かなり厳しいと思っている。

 

経験者ほど、頭の切り替えが大変だと思う。

 

過去、MVC(Model-View-Controller)などのアーキテクチャが30年ぐらい前に登場した。
その頃から採用されているMVCが主に使用されるケースは、
現在では、Spring Bootなどが残っているが、ASP.NETや、StrutsSeasar2などはほぼ消滅した。

MVCは、画面ベースで開発していくので、データベースのRequestやResponseを、脇において開発ができる。

ただし、複雑化しているスマートフォンアプリや、昨今のWebなどでは、使われない。

主に、MVVMアーキテクチャが最も使われている。

MVVMアーキテクチャ(M(Model)-V(View)-VM(ViewModel))では、

画面構築はV、画面に対する状態管理はVM、その他のロジックはMが受け持つ。

これは昨今のWebやスマートフォンアプリと相性がいい。

 

最近の言語が導入している「宣言的プログラミング」についても触れておこう。

特にUIにおいては宣言的プログラミング(宣言的UI)が使われるが、
従来の操作的プログラミングと比較し、単純な計算を行うコードをKotlinで書いて比べてみる。

 

ロジックは、0から100までの数の中で偶数だけの総和を求めるというあまり使い道のないものだ。

 

従来の操作的プログラミング

var result: Int = 0
for (i in 0.. 100) {
    if (i % 2 == 0) {
        result += i
    }
}

くるくるとループさせて、0から100まで、条件判定して値を足していく。

 

宣言的プログラミング

val result: Int = (0.. 100)
    .filter { it % 2 == 0 }
    .sum()

ループはなく、2で割る切れる数だけを抽出し、それを足している。

 

この例だと6行が3行になっただけだが、実際の複雑なロジックでは、
操作的プログラミングでは、コードがかなり長くなり、インデントも深くなり、
最後まで見ないと、何をしているのか分からない。

それに対し、宣言的プログラミングでは、filter()でifを無くし、.sum()で合計を求める宣言が行われている。

このとき、コンパイラがどのようなコンパイルをするかは、操作的プログラミングのように意識する必要がない。

 

このようなにすれば、10万回のforループなど、無駄なことはしなくていい。

 

このあたりが最近の言語との一番の違いだと思うが、

双方向バインディングを使えば、値が変化すれば、Viewもリアルタイムに変化する。

M(Model)-V(View)-VM(ViewModel)の連携は、
依存関係インジェクション(DI)を使うことで、シンプルに書ける。

このあたりを理解するのに、古い言語の長い経験が邪魔をしてしまう。

 

Guide to app architecture  |  Android Developers

 

これらは、出来た若い人は苦労しないが、未経験や、その他の経験から鞍替えしようとする人は苦労している。

 

ただし、誰かが時代に合わせて働かなければならない。

高齢者30%の日本なら、人口減少の補完のためにも、優秀な移民を受け入れ、納税者を増やし、人不足を解消してくれれば、もっといい国になると思う。

移民が増えても、失業率が上がることはない。時代のニーズにあったスキルがあれば心配はいらない。もし移民が増えれば、外国語を習うだけでも強みになる。

どうせ、どんどんと人種は混じるし、人口増大を続けるアフリカが存在感を増すことは紛れもない。

だれか、こんな割の合わない仕事をする人が増えてほしい。

 

I don't really care.