いけむランド

はてダからやってきました

Re: いますぐコマンドプロンプトを捨てて、Cygwinを使うべき10+の理由

珍しく cygwin ネタがホッテントリに入ってたので補足とかしてみる。

1.7 は新しい

ざっくりブクマを見てると、1.3 や 1.5 の頃の影響か「使えないイメージ」が残ってる人がけっこういるみたいでしたが、実は 1.7 になってそこそこ使えるようにはなってきてますよ。

Linux のコマンドがほぼ使える

POSIX API の充実にともない GLib や Qt のような主要ライブラリも移植されたため、かなりのコマンドの移植が楽になっているという背景があるのではないかと思う。

また、本家にない場合は Cygwin Ports を探すという手もある。

apt-cyg

残念なことに完全な setup.exe の代替にはなれない。使ったことがないけど、おそらく起動中の *.exe/*.dll にはロックがかかることで apt-cyg からは cygwin1.dll や bash.exe は更新できないはずである。

制限付きのパッケージマネージャという位置づけで使えるかもしれない。

java

こちらも残念なことに移植されている gcjclasspath は本当に授業の課題程度しか使えないです。

java アプリケーションを起動するという点だと、今はおそらく cygwin からシームレスにシステムネイティブの java を呼び出すのが主流。

例えば scala では bin/scala (シェルスクリプト) の中でシステムネイティブの java への引数を cygpath で cygwinwindows へパスの変換をしてから渡すようになっていた。

Samba

IP アドレスもいいけどネットワークドライブと組み合わせるのもアリです。

% cd /cygdrive/z/

コンパイル

たしかに遅い。けど、マシンスペックに依存するのも事実。自分の環境では MacBook AirVirtualBoxWindows7 をインストールして、そこで cygwin の make を実行したりしているが、昔に比べるとだいぶ速くなってきている。

さいごに

mac 使えよ」とか「VMlinux 使えよ」とかあると思いますが、windows で動くからこその使いやすさというのもあると思う。要は適材適所。