標準化できていない話なんて結局つねにつきまとう

よもやまです。

いきなりですが僕はfrontendの開発がつきまとう案件というのがあまり好きではありません。

理由としてはブラウザによる依存性を吸収しにゃならん。ということがあるからです。

言わずもがなChrome, FireFox, Safari, そしてみんな大好きIE。

Ecmascriptという企画はありますが、細かいところでその挙動は異なり、開発はもちろん動作検証まで担保しなきゃならんとなるとその労力はなかなか馬鹿になりません。

jQueryが開発されているため今ではだいぶ楽になっているかと思いますが、すべて仕様が統一されていればそもそもする必要のない苦労かとも思います。

なので私はかなりより好みしてサーバ側の開発を選択しています。

開発している対象が上級言語のWEBアプリケーションということもあり、各OSのディストリビューションで提供されている処理系ではソースコードの移植性は担保されているわけですから。

一回書けばどこでも動くわけです。これは本当素晴らしい。

ところが、最近C言語などで記述されたリソースに触り始めました。

触れてびっくり。というわけではないが今まで当たり前ことに気づいていなかっただけなのですが、各種UNIXのディストリビューションに依存性がかなりあり移植性を担保するのはかなり大変なわけですね。

例えば、イベントハンドリング一つに関しても各種ディストリビューションで異なります。それらはlibeventというeventの依存性を吸収してくれるライブラリなどを用いることでコードの移植性を高めることができます。

これは言ってみればまるでブラウザごとの依存性をjqueryが吸収しているような構図と一緒ではないか・・・

posixという仕様もございますが、当たり前ですが定着されてからの仕様にフィードバックされるそもそもの流れだったり。
仕様にない振る舞いとかは実装依存とかあったり。そもそも100%って無理なんですよね。

この手の話は結局どこへいってもつきまとうな。

と思った話。