2018-02-09

おまえが弱いから怒られるのだという話をした



帰宅したら小2の息子が嫁にめっちゃ怒られてた。
話をきいてみると、
下校後は宿題ほったらかしで遊び呆け、
夜になって宿題のことを訊かれると「もう終わった」と嘘をついたということらしい。


  • やるべきことをやらない
  • 嘘をついて逃れようとする


とくに後者のほうはダメだろうという感じで怒られてて、
まあそうだなと思う。

息子は嫁にさんざん怒られてだいぶへこんでいる様子だったので、
ここはいっちょフォローする感じで、しかし言うことは言っとかないとな、みたいな姿勢で話をした。

---

いや〜今日は怒られて大変でしたね、おつかれさまでした。
ママの言い方はキツかったかも知れないけど、それだけ人を怒らせるような事だったってことだよ。
もう、充分わかってると思うから、あらためて怒ったりしないけど、代わりにひとつクイズでもやろっか。いいですか。いきますよ?
なんで自分が怒られたか、ホントの理由ってわかるかな?

「嘘をついたこと?」

正解!でも、もっと根本的な、根本的か… つまり根本的っていうのはこういう意味で(あれこれ説明した) 根本的な理由があるんだけど、それが何なのかが分かると100点です!なんでしょう?

「う〜ん、わかんない…」

答えはですね〜〜〜、それは、きみが弱いってことです。
弱いから、怒られたんです。
つよいやつは、怒られたりしないからな。
つよいって言っても、力が強いとか、ケンカが強いってことじゃないけどね。
立場とか、状況とか、状態とか、そーゆーところの意味ね。

よーするに、宿題をしないで遊んでる状態ってのは、弱いんだ。
スキだらけなんですよ。
遊んでないで宿題しなさい!って言われちゃうスキがあるってこと。
実際に言われたときも、言い返す武器がないか、あってもショボかったら、言われっぱなしで終わっちまうだろう。
それに、あ〜〜〜宿題やんなきゃな〜〜〜って、心のどっかで思いながら遊んでたくないじゃあないですか。

つまり、宿題を先に片付けたほうがいいっいうのは、まさにそういう理由なんですよ。
やるべきことだから、とか、 遊びよりも勉強とかのほうが大事だからとか、そんなんは全然違うわけ。

やるべきことをやってる人間、やるべきことを片付けた人間ってのは、つよいの。スキがないの。
つよくなるために、先に宿題をやる。
つよい状態で好きなことをしてたら誰も文句言ってこないし、
なんか言ってきたところで、言い返せるわけじゃないですか。
それは、たとえ相手が大人だとしても言えちゃうわけで、それは相当つよいってことよ。

たとえばさ、力とかさ、ケンカとかでさ、学校に体育の先生とかいるっしょ?
あした急にその先生に勝てるくらい強くはなんないじゃん?絶対。
あした急に強くなれるわけないじゃん?
でもさ、いまお話してるようなつよさはさ、明日から、今からだって、手に入るわけですよ。

弱いから怒られる。
でも、弱いからって、やっぱ怒られたくないっすよね。
そうすると、怒られないために何をするかっていうと、嘘をつくとか、そういうことをしなくちゃいけなくなってくるわけ。
といっても、嘘をついたって、宿題が終わってない状況は何もかわってないよね。
弱い状態のままなわけ。
んで、もし嘘がバレたりしたら、もっと弱い状態になっちゃうじゃん?
そしたら もっと弱いからもっと怒られる ってことに、フツーにまあ、そうなるわ。

嘘をつくってことは、自分は弱いです!って宣言してるのと同じわけ。自分に対してね。
それってすげえダセエだろう。 そんでさ、その嘘がみんなにバレてみ?
みんなに アイツ弱っ! って思われることを意味するわけで、
そんな状態で毎日ガッコ行っても楽しくなくなりますよ。そしたらもうえらい事ですよ。

明日からつよくなれるように頑張れるかな?
きみにそうなれる力があるのは分かってるし、そこは信じてるから心配はしてない、大丈夫です。
じゃ、お話、おしまい!お水のんで、トイレ行って、お布団いっといで〜。おやすみ〜

---

てきな感じで、最近ドラゴンボールのコミックにハマっている息子に、「つよさ」を例に挙げてお話をしてみた。
もうすこし深い話に掘っていけるトピックだとおもうけど、それは年齢とか、も少し上になったらでいいかな そのうち機会もあるだろう

しかし桃白白いいキャラだわ

2018-02-05

Kotlinへの移行と習得がスムーズすぎて感動した


Hello, World! しても楽しくなくない?

なので、ストアにリリースするAndroidアプリをKotlinで書きたい!と思いつつも、
現在作成中のアプリはJavaで書かれており、これをリリースしたら、次のアプリはKotlinで書こう!と思っていた。
そんなとき、たまたまAndroid Studioのメニューに神機能を見つけた。

Convert Java File to Kotlin File

任意のJavaファイルを開いている状態で
Code > Convert Java File to Kotlin File を選択すると、該当のJavaファイルがKotlinファイルに変換される。



このファイルをKotlin変換した結果、修正しなきゃいけない箇所がでてくるけど、
そういうのも探して修正しとく? と訊かれるので、OKを選択。

これだけだ。

何が嬉しいのか?

既存プロジェクト、既存コードに対して変換をかけてKotlinファイルを生成していけるので、ゼロから始めるのに比べて、以下のようなハッピーがある。

  • Kotlinを始めようと思ってHello, World! を試してみたものの、それ以降「enjoy Kotlin!」と放り出されて途方に暮れることがない。スタート地点から四苦八苦してゴールに向かうのではなく、ゴール地点からルートを振り返るカンジ
  • 生成されたkotlinのコードがどのように動作するのか、自分がいちばん仕様を知っているので、コード、処理の流れがとても読みやすい。
  • Javaで書いてたあの処理、あの記法は、Kotlinではどう書くのか?と、答えを探し求めてさまよう必要がない。とくに記号系のシンタックスは検索しづらいのでこれは大変助かる。
  • 「動作する自分のアプリ」が手元にあって、ちょっとコードをいじってみてアプリの挙動を確かめる、ということができ、頭に入ってきやすい
  • どう書いたらいいのか、ドキュメントやリファレンスではなく手元の既存コードを参考にしながら書いていける

大体のコードはKotlin変換そのままで動作するが、一部うまくいかない部分もある。
とはいえ、それもKotlinの流儀を学ぶのにちょうどいい量だし、腰を据えて問題解決に取り組むことで、深く理解するいいきっかけになる。
どうしても解決できなかったら、そこだけJavaのままにしておくことももちろん可能だ。
KotlinからJavaのメソッドを呼ぶのも、JavaからKotlinのメソッドを呼ぶのも可能なので困ることはない。
(JavaのクラスやインターフェースをKotlinでextend, implementしたり、その逆もできる)

Utilクラスから始めよう、そして成果物

アプリ全体のコードをKotlin化するのに気が引けるのなら、まずは、みんな大好きStringUtilあたりから変換してみることをおすすめする。

動くコードとともにKotlinに馴染んでいき、
Kotlinの作法とかもわかってきたタイミングで体系的に学ぶのが習得の近道だと思う。

Java → Kotlin 変換 そのあとに。

このようにして作ったアプリを先日リリースしたので、最後に紹介。
子供の頃に20x20のインド九九をマスターすると色々捗るし、大人にとっては格好の脳トレになるな〜という動機から。





なにとぞひとつmm