今まで勉強してきた言語

杜甫々:今日はYAPC、Perl(のイベント)なので、プログラミングに関してのことをちょっとしゃべります。

(スライドを示して)今までこんな言語の勉強だけしてきました。よく使う言語はC言語が最初で、C++、そこから掲示板を作っていた頃はPerl。そこからPHPに移って、今はPython、JavaScriptが多いですかね。あとはたまにAWKをまだ使っています。

Perlの好きなところ、今後サポートしてほしいところ

(スライドを切り替えて)えっとー…。謝ります(笑)。

(会場拍手)

ずいぶん昔にPerl入門を書いたんですが、ほったらかしになっていて。今回このお話をいただきまして「それじゃあ、やはりいかんだろう」と、23年ぶりに更新しました。長期に渡り放ってしまっていて、どうもすみませんでした。

Perlはここが大好きです。正規表現を演算子で書けて、マッチしたところを簡単に取り出せる。ここは本当に大好きですね。

まだ実験的ですが、Perlもtry catchをサポートしたらしいですね。

あとはクラスもサポートしたらしいですね。これもまだ実験的なんですが、2023年のバージョンでは使えるようになったんだとか、ちょっとビックリしていました。

あと個人的には、先ほど出てきたAWKもけっこう好きで、よく使っています。lsの結果とかを食わせて、第5カラムと第9カラムだけを表示するとか。サイズの第5カラムだけの合計を表示するとか、そういったものにメチャクチャ便利なので、よく使っています。

Perlも、-anオプションを使うとほとんど同じようなことができるんだなと、今回勉強し直して気づきました。-anをやると、Fの4とか8でカラムを参照できるんですね。これを覚えたので、最近使っています。

文字コードをコマンドの結果を食わせて処理する時に昔から思っていたのが、すべてのコマンドで--jsonオプションをサポートしてほしいなと。例えばlsも--jsonを付けたら全部JSONで出してくれる。そいつにjqコマンドとかを使うともっと正確なデータ処理ができるので、ぜひこれをいろいろなコマンドでサポートしてほしいなと思っています。

JSONの嫌いなところ、今後欲しいもの

あと、JSONもね、好きなんですけれども……。好きなんですけれども、1つ嫌いなところがあるんですよね。

(スライドを示して)これ、こいつ!ここのカンマを許してくれたら、どんなに幸せになれることか。

(会場笑)

テーブルみたいなものをずっとJSONで書くと、パラメーター名が何回も何回も出てくるので、データ量が増えてしまう。だから、「IndexJsonかJSON2かなにかの新しい規格で、ヘッダーと値みたいに書けるような、JSONの進化系みたいなものが出てきたらな」なんてことを思っています。

フレームワークに頼るのはあまり好きじゃない

あとはフレームワークですね。(スライドを示して)今までやってきたフレームワークは、こんなことをやっています。会社では、CakePHPを使って、そのあとにDjango、Flaskを使って、今やっている新しいプロジェクトでは、フレームワークを使わずに自作のやつをライトに使っていたりします。

実はフレームワークに頼るのはあまり好きじゃなくて。なにかを使っていてもすぐに陳腐化したり、依存パッケージが多過ぎてサポートが切れるものが出てきたり。あとは、バージョンアップの追従にコストがかかったりとか、なかなかちょっと大変なので、シンプルなものだったら、あまり使わなくてもいいんじゃないのかなというところもあります。

そもそもOSSのサポート期間が短いと思うんですよね。(スライドを示して)これは「endoflife.date」というサイトで、いろいろなOSSのサポート状況が見ることができるんですが、短いといっても若いみなさんからした2、3年は長いんですが、私らから見た2、3年はメチャクチャ短いので。

例えばReactは……。Reactは長いのか。Angularは1年半とかですよね。Apache の2.4はすごいですよね。11年以上やっていますね。オープンソースもLong-Term Support(LTS)版ではなくて、Long-Long-Term Support版、LLTS版を作ってほしいなと思っています。

「とほほのWWW入門」執筆時に気をつけていること

こんなところかな? あと、2022年に岡山のオープンセミナーでちょっとしゃべったことがあって、その時に紹介したことなのでサラッと流します。

私のサイトの書き方で気をつけていることです。2〜3行の説明とサンプル、2〜3行の説明とサンプル、2〜3行の説明とサンプル。これが一番読みやすくてわかりやすいのかなと思っています。

できるだけ短くします。

あとは、シンタックスハイライトは言語によって自動的に関数名とか、変数名とか、文字列とかに色が付いたりするんですが、あれは使わずに、サンプルの中で一番読んでほしいところ、「ここが重要なんだよ」というところを赤文字で、あとは太文字で表示するようにしています。

あとは、とにかく短いけど情報量は落とさずにコンパクトにということで、例えば言語系も最近はC#のものを全部ひと通り書いているんですが、1ページで書いちゃっています。スクロールバーはこんなふうになっちゃっていますけれどね。これだと検索が楽なんですよね。Ctrl+Fでキーワードを(入れて)押すと、パッとそこに飛んでくれるので、非常に便利です。

あとは説明サイトとリファレンスサイトの両立を目指したいということで。初めて読む人が説明サイト、一度勉強した人がまた辞書替わりに使うのがリファレンスサイト。その両立をなんとか目指そうとしています。

あとは目次も大事ということで、ページに飛んでザーッと一生懸命に読んだりするのも面倒くさいので、極力いろいろなページに、そのページで何をしゃべっているかの目次を書くようにしています。その目次を勝手に作ってくれるマクロとかを自分で作って、それを使いながらやったりしています。

あとは索引ですね。索引も大事なので、極力作るようにしています。こいつがまだ自動化できていなくて。実は手作業で作っていたりするので、なんか増えたらちょこっと増やしたりとか、暇を見つけて自動化しています。

あとは参考にしている文書ですね。MDN(MDN Web Docs)さんをよく見ています。

あとはサポート状況ですが、「Can I use」というサイトがありまして、ここがどのブラウザが、どのCSSやJavaScriptの機能をサポートしている・していないとか、「IEだけサポートしていないよね」とか、細かく出してくれているので非常に助かっています。

あとは普及度の調査ということで、「Googleトレンド」をよく見ています。検索されたキーワードの回数ですね。それをグラフ化してくれる。例えばReact、Vue.js、Angularだったら、「今はReactが伸びているんだね」とか「Vue.jsはそうでもないね」「Angularはちょっと下がっているね」とか。2022年はPerlやPHPとかを使ったんですが、今回変えました。そんな感じでサイトを作っています。

杜甫々氏の数々の趣味

あとは趣味のコーナー。これも前回話したんですが、とほほさんでいろいろやっているので、「コンピューターしかやっていないんだろう」みたいに思われがちなんですけども。

ドライブが好きなので、いろいろなところをまわっています。スーパー銭湯が大好きで、スーパー銭湯のツアーみたいなもの……。ツアーじゃないな、スタンプラリーみたいな。それでいろいろなところに行くと、「御湯印」というものがもらえて、それを10枚集めるとタオルがもらえるみたいな。そんなことをやっていました。2024年もやっているらしいので、もう1回まわって来ようかなと思っています。

あと最近は陶磁器にハマっていて、ドライブでいろいろまわっています。西日本が多いですが、いろいろなところに行って、焼き物を巡って、お猪口を1つだけ買って帰って、それで「今日は何焼きで飲もうかな」みたいな感じで楽しんでいます。

2023年はコロナが明けて久しぶりにまわれるようになったので、広島から出石焼を見に行って、越前焼を見て、九谷焼を見て。「もうこれでいいかな」と思って九谷で居酒屋に行ったら珠洲市というところがあって、「あそこの焼き物がいいんだよ」と聞いて。そこからまた2時間半かけて行って、でも時間がなかったので10分まわって帰ってきたみたいな。

(会場笑)

珠洲焼は黒くてけっこういい感じなんですよね。気に入っていたんですが、2024年の元旦に地震であんなことになっちゃって心を痛めています。ちょっと寄付をしました。

その他に、食べ歩きが大好きです。「食べログ」は、今はVIP会員です。VIP会員になると、なんと食べログの会費がタダになる。月額350円だったかな? 訪問店舗数が1,654件なんですが、今日のお昼にも行ったので、今は1,655件になりました。

(会場笑)

あとは映画も好きですね。多い時は(1年間で)80本観たりしていました。あとはカラオケが大好きです。この前、娘と11時間歌って、さすがに声がかれました。あとはカープですね。あとは今日いっぱいコマーシャルが流れていますが、chocoZAPにちょこっと入っています。

その他、Web関係だけじゃなくて、ちょっと気になったことをいろいろと紹介したりもしています。今回のテーマのお好み焼きも、広島のお好み焼き屋をちょっと紹介していたりするので、よかったら見てみてください。

あとは何をやっているかな。「とほほの中国語入門」とか「とほほの韓国語入門」とかですね。一番古いのが点字入門とか。Googleで「中国語入門」と検索をすると、トップに出てくるんですよ。韓国語も。

あとは食べ歩きが好きなのでグルメ系ということで、「タイ料理入門」とかですね。「広島お好み焼き入門」とか「広島ラーメン入門」「お酒入門」とか、そんなことをやっています。

あとその他はね……。うちは仏教徒なんですよ。何年か前までお寺に毎月お寺さんが来て、お経に合わせて自分も読んでいました。生まれた時から母親がけっこうアレだったので「仏教入門」とか。「洋楽入門」とかはマイケル・ジャクソンぐらいで終わっているんですけどね。

あとは所得税とか資産運用とか相続税とか法令とか、ちょっとこちらも興味があってやっていたりします。

その中でWeb系とか、あとはグルメ系とかをやっているんですが、一番アクセスが多いページは何だろうなと思ってアクセスログを見たら、こいつ(珍しい名字)なんですよね。

小鳥が遊ぶと書いて……。小鳥が遊べるということは鷹がいない。だから「たかなし」さんとか、そういったもの。四月一日は暖かくなって綿を抜くから「わたぬき」さんとか、そういった珍しい名前について、魔が差して書いたんです。

(会場笑)

ピッと書いて、ピッと載せたんですが、実は今こいつがトップページを抜いていますからね。トップページがこいつに負けているんですよ。今一番アクセスが多いページになっています。よかったら見に来てください。

「これを書いてほしい」というものがあったらメールをください

そんな感じでいろいろサイトを続けています。今までいろいろと出してきて、これからも思いついたこととか、Webに限らないこととかを書いてみたいと思います。あとは「これを書いてほしい」というものがあったらメールをください。今ネタに困っているので。

(会場笑)

次に何をしようと困っていたら「Power(Shell)スクリプトを書いてください」とメールをもらって、「はいよ!」と言って書いたことがあります。なので、書いてほしいことがあったらメールをください。

時間も押しているので早めに回しました。以上です。どうもご清聴ありがとうございました。