zowのプログラムな日々

日々のプログラミングとか

「不言実行」と「有言実行」

不言実行」と「有言実行」という言葉がある。元々は「不言実行」という言葉があって、それに対する言葉として現代になってから「有言実行」という言葉が生まれた。

不言実行」というのは黙って事を成すこと。古き良き日本人というか、多くを語らずやるべきことをやるという心構えというか、そういうのを表した言葉だと思う。奥ゆかしいというか、なんとも日本男児っぽい孤高でダンディズム溢れる言葉だ。

対して「有言実行」というのは成すべきことを言葉にして表した後で行うことだ。つまり先にやるべきことを宣言してから行う。「不言実行」というのはあくまでも過去の話で、現代では「有言実行」の方が当たり前だと思う。現代では何かをやる前に周囲にやることを伝えてからやるのだ。

サラリーマン社会では「報・連・相」なんて言葉もあるが、何かあったらとりあえず考える前に上司に言え、みたいな慣習が当たり前なので「不言実行」で仕事をやると逆に怒られたりもする。周囲とのコンセンサスがとれていないので、仕事に無駄が生じてしまうのだ。

不言実行」から「有言実行」を求められる世の中に変わったのは日本人が「集団生活」が当たり前になってきたからじゃなかろうかと思ってる。そりゃ昔の武家社会なんかも集団生活だったんだろうけども、個人に与えられていた裁量は今よりも大きかったはずだ。個人に与えられた裁量が大きいからこそ「不言実行」が許されていて、むしろよしとされてきたのである。性善説じゃないけども、周囲を信用して信頼していたからこそ、個人の裁量を大きくし、お互いが「不言実行」することによって相乗効果も産まれていたのではなかろうか。

逆に言うといちいち周囲に確認しているような人間は重用されなかったんではなかろうか。いちいち確認するのは自分の行動に自信と責任を持っていない証拠で、そういう人間は信用も信頼もできないと考えていたのではないだろうか。だからこそ「不言実行」という言葉が産まれたのだろうと想像する。

一体、いきなり何の話をしているのかと思う人も多いと思うが、実はクローラの話をしている。厳密に言うと、なんでクローラを作る気になれないのかをずっと考えていたのだ。

サラリーマン生活が長かったからだろうか、私はなにか行動を起こす前に周囲にやることを伝える習慣ができている。というか、言ったが最後、やらなきゃならないし、言わない限りやらない、みたいな雰囲気まである。なので、ニートになって周囲に行動をアピールする必要が無くなってから、一時期、本当に何もやる気が起きなかった。

仕事をしてないので、上司も居なければ部下も仲間もいない。何をするか宣言するべき場所が無いのである。これじゃいかんとブログを立ち上げて何か行動をする前にブログで宣言してみたりすることで、擬似的に「有言実行」をしていたのだけども、最近それに疑問を持つようになってきた。「お前何に縛られてんの?」みたいな。サラリーマン時代は周囲と同調するためにも「有言実行」じゃなければダメだったが、独りになったんだから「不言実行」でいいじゃんよ、みたいな。

仕事じゃないし、ましてやニートの趣味プログラミングなんだから、誰に何を言うでもなく、自分の裁量で自分の好きなものを作ればいいのである。

なんで自分で縛って不自由な気分に染まってそれが心地良いと勘違いしてんの?みたいに思うようになってきた。ある意味、やっとサラリーマン気質から開放されてきたのかもしれない。枠組みを決めてキチッとやる、なんてのは金貰ってる職業プログラマがやることで、趣味プログラマは気持ちの赴くまま、作りたいように作ればいいのである。

なんでこんな事を考えるようになったのか。それはgemを作り始めた事が原因だ。gemを作るにあたって、ユニットテストを書き始めたのである。職業プログラマでもあるまいし、なんで自分しか使わないgemのためにユニットテスト書いてんだろ、と薄々思いながらRubyユニットテストについて調べて黙々とassert_equalとか書いてたんだけど、1時間後位にアホか−って思い始めて手が止まってしまった。

クローラって簡単に言っちまえばリモートにあるファイルを読み込んでリンクを抽出するだけである。はっきり言って難しいもんじゃない。なんでこんなもんの為にテストの書き方調べてテスト書いてんだー、みたいに独りで憤ってたんだけども、そもそもRubyでクローラ作るって言ったのも、gem作るって言ったのも全部自分なのである。自分で決めたことをやろうとして面倒臭くて怒ってる自分に対してなんか理不尽さを感じてきて、そもそもなんで自分で決めたことを律儀に守ってんだ?みたいな思考プロセスにはまって「不言実行」とか「有言実行」とか考えるようになったのである。

なので、これからは「不言実行」を心がけていきたいと思う。自分の決めたことに縛られるのはヤメだ。でもそれじゃブログに書くネタもなくなるので、作った物の事後報告をしようと思う。気の赴くままに何か作って、それを記事にするのである。事前に何を作るかなんて決めない。作りたきゃ作るし、作りたくなくなれば作らない。このスタンスでいこうと思う。

心の中のモヤモヤを文章化したらなんかスッキリした。やっとサラリーマン思考から離れることが出来てきた気がする。8年かかった。長かったなぁ・・・・。

AndroidでSwift・・・?

最近、こんな噂が広がっている。

it.srad.jp

Oracleとの訴訟絡みでGoogleJava使うのやめるんじゃね?みたいな話だ。以前、Swiftがオープンソース化した時、AndroidもSwiftで開発できたらいいなー、的な事を書いた。

zow.hatenablog.com

確かにこの時はそう思ってた。でも現状だとSwiftじゃなくてC#なんじゃなかろうか。なんと言ってもSwiftは未だに仕様が迷走しているらしいし、だったら言語仕様も安定してて、オープンソースで開発者も多いC#になるんじゃなかろうか。なんと言っても実績がある。

www.infoq.com

はっきり言って今のAppleは斜陽だと思う。沈没する船に相乗りする様な事をGoogleがやるだろうか?それよりもオープンソース寄りに舵を切ったMSと組む可能性のほうが高いのでは無いだろうか。むしろ、このSwiftにするんじゃね?的な噂は、Xamarinのオープンソース化に焦ったAppleサイドからリークしてきたんじゃなかろうか。タイミング的に怪しすぎるんだよなぁ・・・。

音楽遍歴(最近まで)

誰がこの記事シリーズ望んでるんだって、もちろん私ですよ。あんま自分の音楽遍歴振り返った事無いので、えぇ。たまには思い返して書いてみるべきだと思ったんです。

そんな音楽遍歴シリーズも今回が最終回。高校卒業後から現在までを振り返っていきます。

高校卒業後、専門学校に進学しその後就職するんですが、主に聞く音楽は6種類ぐらいに分かれました。

  1. ロック系
  2. テクノ系
  3. ヒップホップ・レゲエ系
  4. J-POP(カラオケ対策)
  5. クラシック
  6. その他

各ジャンルを聴き始めた経緯はいろいろあるのですが、そこら辺も踏まえて現在も聞いているのを各ジャンル2グループぐらい挙げていこうと思います。

ロック系

そもそもここが本流。ロック的な音楽は基本的に好きです。今も聴いてる代表的なのはこちら。

www.youtube.com

Nirvanaは高校卒業前ぐらいからでしょうか。確か3年ぐらいの時にNeverMindを聴いた覚えがある。そこからアホみたいにヒットして、就職した年に亡くなられてしまって、本格的に聴き始めたのはそれからですかね。好きなアルバムはin Uteroでベスト盤と共に現在もレギュラー入りしてます。

www.youtube.com

thee Michelle Gun Elephantは就職してからですね。ちょうどメジャーデビュー前ぐらいに知って、メジャーデビュー後3枚目ぐらいまではリアルタイムで買って聴いてましたが、なんか雰囲気が変わってきて聞かなくなって、気づいたら解散みたいな話になってて、慌てて全アルバム買った覚えがあります。結局のところデビューシングルの「世界の終わり」だよねー、みたいな雰囲気がありますが、個人的には「デッドマンズ・ギャラクシー・デイズ」みたいなのも好きです。

テクノ系

www.youtube.com

これをテクノと呼んでいいのかは甚だ疑問だったりもしますが、なんだかんだでよく聞きます。でも、一番聴くのはアルバムではなくて、2006年のフジロックの模様を録画したDVDがあるのですが、そこからmp3をリッピングしたのです。電気はCDだけでなくDVDも買うんですが、だいたいのDVDは副音声でいろいろ入ってて、これはこれで面白くて好きなんですが、そういう物が一切無いフジロックのDVDはなんか特別な気がしてます。マリンが抜ける迄の電気を前期とするならば、その前期の集大成でケジメ的なのが2006年のフジロックではなかろうかと思ってます。後期ですか?「ピエール瀧の体操42歳」は秀逸だと思います。

www.youtube.com

きっかけはトレインスポッティングですね。当たり前すぎてスミマセン。プログラミング時に音楽を聞きながらやるんですが、そういう時に歌詞が入ってると聴き入っちゃうので、歌詞が無い曲を延々と流してます。大体はクラシックが多いんですが、アンダーワールドの方がアップテンポなのでノリながらやれますね。作業曲としてオススメなのは「Two months off」です。Rezもいいけど作業向きでは無い気がする。

ヒップホップ・レゲエ系

www.youtube.com

SDPは「5th wheel 2 the coach」までは聴いてました。このアルバムは好きでしたね。売ったり買い直したりでなんだかんだ都合3回ぐらい買ってます。このアルバムまではオモロラップ全開だったけども、このアルバムで雰囲気がガラッと変わったのを覚えてます。オモロな頃も好きだったんですが、やっぱこのアルバムが一番好きです。これ以降、なんかテレビ露出がガンガン増えてって、ミュージシャン的な面よりもサブカルチャー的な人みたいな扱いが増えてからなんか聞かなくなりましたね。いや、特に嫌いじゃないんですけど。いまだにCMでちょいちょい声を聴くたび、あぁまだ生きてるなーって確認する感じです。

www.youtube.com

www.youtube.com

ビースティー・ボーイズはヒップホップのとこに入れてますが、ハードコア的なところから聴き始めてます。謎の紙ジャケCD(ペペロンチーノ的な名前)を聴いたのが最初です。これが10分少々のミニアルバム的なCDなんですが凄い。PEのサンプリングとか入ってるし、その割にハードコアでなんだこれはって他のCD買い行って、聴いてみたらガチガチのヒップホップで困惑、みたいな流れです。ハードロック的な面もヒップホップ的な面も両方共好きです。どっちもノレる。

J-POP(カラオケ対策)

サラリーマンになると歌えないとマズいんですよね。付き合い的に。転職回数も多いので、歓迎会で歌って、送別会で歌って、みたいなのが続いたりもするのでカラオケ対策でJ-POPも聞きます。

www.youtube.com

もうデビューして25年ですよね。おかげでミスチルの有名曲を数曲覚えておけば大体のカラオケの席は乗り切れます。老若男女、おっさんから若い女の子まで幅広く受け入れられてるので、知らない人ってのはまずいないです。ただ歌うのは微妙に難しいんですよね・・・。そんなミスチルですが、2枚目から聴いてます。当時付き合ってた彼女が大好きで、その影響で聴き始めました。4枚目でバカ売れしましたが、それ以降どんどん迷走するようになって、2000年以降は全然買わなくなりましたね。シングル曲だけ聴くぐらいです。そういえば、最近出した「REFLECTION」は買ってないんですが、全部聞きました。非常に良いですね。深海以降の迷走からやっと脱出できたんじゃないでしょうか。深海からの3枚もあれはあれで好きですが、このREFLECTIONからどうなるのかも楽しみです。

www.youtube.com

文句なしにこの頃の沢尻エリカは可愛い。氣志團ですが、なんていうか、同世代のおっさん心をくすぐるんですよね。いろんなネタが散りばめてあるのでカラオケでPVがあった時は結構歌ってます。密かに自分の高校時代とかを思い出したりするのでノスタルジーに浸れます。

クラシック

主に作業中に聴くのが多いですが、作業中じゃない時も普通に聴いてます。親戚のおじさんがクラシックマニアで、それこそ小学校に上がる前からクラシックを聴かされて育ったのでずっと身近な音楽だったりします。よく聴くのはバッハですが、ここではあえてバッハじゃないものを紹介します。

www.youtube.com

ショパンポロネーズです。動画はホロヴィッツですが、主にルービンシュタインアシュケナージを聴いてます。淡々と作業したい時はアシュケナージで、若干ノリノリでやりたい時はルービンシュタインでしょうか。ホロヴィッツは持ってても作業中は聞かないでしょうね。こんなん聴いたら作業に集中できません。それはともかく、ホロヴィッツの演奏方法ってやっぱり気持ち悪くないですか?なんで指伸ばして弾くんですかね。

www.youtube.com

聴き始めたのは、まぁドゥダメルですよね。ドゥダメルローマ法王かなんかの前で演奏した動画をどっかで見て、その動画をネットで探してたら見つけたのがシモン・ボリバル・ユースでした。みつけた1時間後にはamazonでCD買ってましたよ。これだけ楽しく演奏しているオーケストラは他に無いんじゃないでしょうか。エスタンシアはシモン・ボリバル・ユースのアンコールが有名になったおかげでマランボが有名ですが、4曲の組曲で構成されてて長くないので1曲目から聴くのもオススメです。映画音楽的な感じで普段クラシックを聴かない層の人も聴きやすいんじゃないでしょうか。

その他

上記のどのジャンルにも入れにくい音楽です。

www.youtube.com

これ、ジャンルはなんなんですかね?サイケデリックトランスなんですか?かなり謎ですが好きです。どのアルバムを聴いても終わりの方に近づくにつれてグダグダになってく感じとか。動画で初めて見た時は、こんな爺さんがやってんのかと衝撃を受けました。聴き始めたきっかけは変な友人が聴いてて、そこからですかね。結構作業BGM向けです。

www.youtube.com

ニートになってから見つけたバンドの中で一番のヒットです。これはプログラミング中に流してたFMかなんかで流れてたのを聴いたのが最初ですかね。曲がFMで流れ始めた瞬間にピンときて、演奏が終わる前にAmazonで探してました。日本ではきっと無名なんでしょうが、アメリカじゃそこそこ売れてきてるみたいです。このアナログな楽器のトラックをテクノ的に重ねてく感じが非常に心地よくていいですね。ループ的なトラックですが、実際にアナログ楽器で同じフレーズを繰り返し弾いてるんですよね。なかなか凄いです。そしてボーカルの声ですね。非常に味があります。どう頑張ってもメジャーなシーンに出てくる類の音楽ではないんですが、頑張って欲しいです。

イベントですよ

えぇ。たまにやってますよ、たまにね。イベントの時とか。当然、今回のイベントもやってました。そして終わったんですが、今回のイベント、スキルチケットが3枚手に入るんですよね。それをサプライズエルサに全投入。おかげでスキルレベル4で85%まで上がりました。あと1枚で夢にまで見たスキルレベル5かな。

噂だと来週末辺りにピックアップガチャがあるらしい。別に限定新ツムはどうでもいいんだけど、スキルチケット目当てで全回ししようと企んでます。イベント中もずっとコインを貯め続け、やっと45万枚突破。あとは週末を待つばかり.

熱は落ち着いた・・・かな?

相変わらず喉がガラガラで鼻水もくしゃみも出てるんだけど、熱の方は落ち着いてきた。喉の炎症もなんとか喉で収まった感じ。気管支まで下りなくて良かった。と言っても油断は禁物なので、部屋の中でもマスクして過ごしてる。鼻が詰まってるのでマスクすると呼吸がつらいんだけど、喉の保護優先だ。仕方ない。

なんとかPCの前に座れるようになったので、Xamarinについて改めて調べてみた。

そもそもC#って言語はMSが作った物で、.NETってのはJavaで言うVMみたいなもん。で、MSがC#オープンソースにしたので、そのVM的な物のオープンソース実装を作ってそれがMono。そのMonoの上でC#は動くってことらしい。Monoは各プラットフォーム向けに開発されてて、MaciOSAndroidなんかで動く。この各環境向けに特化したツールを提供しているのがXamarin.Macだったりする。Monoプロジェクトは実質的にXamarin社が開発してて、元々Monoはオープンソースだったんだけども、Xamarin社が提供しているツール等は有償でクローズドだった物が、MSに買収された事でオープンソースになったらしい。つまりMac上でWinのアプリが作れたり、LinuxでWinのアプリが作れたり、もちろん逆もできたりするらしい。

かなりざっくりだけども、雰囲気的にはこんな感じだと思う。

あまりMSの環境を使うことがないので、C#とか.NETは縁遠い言語や環境だったりするんだけども、なんとなく理解したのは、MSは以前と違ってWin以外のプラットフォームとの親和性について本腰いれて上げてきてるなーって事。バルマー時代のイケイケなMSでは考えられなかった事だ。

www.youtube.com

C#Macのアプリを作ったりするにしても、どのみちCocoa固有の機能使うんだから、Cocoaについて勉強しなきゃならんのでしょ?と思ったんだが、これも各環境毎の差分を吸収したメタな物があるらしくて(それがXamarin.Formsかな?フォーマットがXAMLか?スマホ環境間の差分吸収みたいな感じだけど)それを使えば各環境間のUI差分も吸収してくれるっぽい。

重要なのは今までXamarinが作ってたツールが無償化されてオープンになったことよりも、MSがこのプロジェクトに関して乗り気だということだと思う。もし今後このXamarinが提供してきた機能をどんどんオープンにして発展させていくのであれば、ある意味全プラットフォーム共通で動く、しかもJavaよりも動作が速くカオスじゃない言語がちゃんとしたソフトウェアベンダから提供されるという事だ。そうすることによって、開発者を囲い込むことでまたWin帝国を復興させようとしているんだと思う。なかなか頭がいい。

自分もそうだけど、スクリプト系の開発者はMacを使ってる率が非常に高いと思う。これはMacUNIX環境だからで、そのまま作って実行することが出来る環境(OS)だからという理由が大きい。でも開発環境もDockerとかVagrantとかが主体になってきて、githubにあげたらCIツールがテスト環境で自動テスト、みたいなのが主流の今となってはMacである必然性が薄くなってきている。更に昔のMacと違い、今のMacは開発者等のパワーユーザにとってどんどんと魅力が無くなってきている。ソフト的な話ではなく、ハード的な話だ。例えばクアッドコアのCPUはiMacの上位かMacPro以外では積んでる物が無い。ノートにしてもメモリ増設も出来ず、デスクトップ機のMacMiniでさえメモリ増設が出来ない仕様だったりする。こんなハードを誰が買うのか。漢字Talkの頃からのMacユーザの私でも次に買うべきPCが無いので、恐らく次はメイン環境を乗り換えるだろう。(WinじゃなくてLinuxにするだろうけど)。

そういう今、開発者の環境をMS陣営が言語から狙って崩してくるというのは非常に興味深い。このままC#が実権を握ったら、もしかしたら開発者は一斉にWinに乗り換えるんじゃなかろうか。もともと開発者はいい環境があればそっちに流れる。Macを使う前はIBMThinkPadを使ってる人が大半だったはずだ。またThinkPadに戻るとは思えないが、キーボードがしっかりしていてスペックもサポートもちゃんとしてるノートPCが出てきたら乗り換える人は出ると思う。

とりあえず、MSとMonoとC#が今後どういう展開を見せてくるのかは注目しておきたい。いやマジでC#勉強しよっかな。