おすすめWindowsアプリ (開発ツール)

(2012.4) ページを分割.

UNIX互換環境

[2015-10]
Windows 上で UNIX環境を再現したいことがある;

  1. GNU toolchainを使って Windows ソフトウェアを開発したい. cross-platform / multi-platform なソフトウェア。
  2. UNIX サーバで動かす Webアプリケーションの開発
  3. 手許でXサーバを動かしたい
  4. その他??

今では, VMware Workstation Player などを入れれば, 本物の Linux や *BSD を使える。エミュレータの重要性は低くなっている。

いくつか挙げるが、Git for Windows で作る環境が良好。

Cygwin

Windows上にUNIXっぽい環境を構築。Cygwin のゴールは, UNIX (POSIX) 用ソフトウェアのソースコードをそのまま Cygwin 上でコンパイルでき, 動かせるようにすること。

cygwin1.dll が POSIX API機能を提供する。Windows API だけでは実現できないエミュレーションをおこなえるので、UNIX環境の再現性は比較的高い。一方, Cygwin 上でコンパイルしたプログラムは cygwin1.dll に依存するようになる。Windows 用の再配布するソフトウェアの開発には向かない。

[2015-10]
2015年10月現在の最新版はバージョン 2.2.1. 32bit版と64bit版がある。

setup-x86_64.exe をダウンロードし、実行する。管理者権限が必要。

パッケージには, GNOME 3.14 (2014年9月リリース), MATE 1.8 (2014年3月リリース), や KDE 4.11 (2013年8月リリース) などが見える。最新版というわけではない。

下の MSYS2 には gtk3 はあるが, GNOME や KDE は用意されていないようだ。UNIX環境を再現するパッケージは, Cygwin のほうがまだまだ豊富みたい。

[2015-10 ここまで]

Cygwinの情報は、例えば下記から入手できる。

同種のソフト:

djgpp
UNIX-like tools

MinGW (MSYS)

UNIXとソース互換の開発環境を作る。コンパイルしたプログラムはWindowsネイティブになる。

gcc, binutilsなどをWindowsに移植したもの。Windowsの msvcrt.dll を利用するプログラムを生成するので、再配布するソフトウェアの開発向き。UNIXのエミュレートはしないので、ソケットはWinsockを使うなど, Windows API を使わなければならない。

[2015-10]
2015年10月現在、2013年10月にリリースされたインストーラが最新版のようだ。個々のパッケージは更新されている。

MSYS2

(2015.10追加)

MinGW (MSYS) の後継となることを目指したプロジェクト。Windows native にできるものはそのようにして、UNIXエミュレーションが必要なものは Cygwinからforkしたライブラリを使う。

次の3つの独立した環境が合わさったもの。

  • msys2 -- UNIXエミュレーション msys-2.0.dll に依存
  • mingw64 -- Windowsネイティブ, 64bit
  • mingw32 -- Windowsネイティブ, 32bit

パッケージマネジャは, Arch Linux 由来の Pacman を使う。

インストーラは次から入手できる;

インストーラの実行に管理者権限は不要。実行すると、インストール先を決めるだけで, 特にパッケージ選択もなくインストールが始まる。

"MSYS2 64bit"スタートメニューに次の3エントリが作られる;

  • MinGW-w64 Win32 Shell
  • MinGW-w64 Win64 Shell
  • MSYS2 Shell

Windows 10 (64bit) 上で試してみたが、fork() がエラーになっているようで、実用にならなかった。

管理者でインストールすればよかったのかもしれないが、試していない。

☆ Git for Windows

(2015.10更新)

コマンドラインの gitコマンド. git gui, gitk も利用できる。

上の MSYS2 の成果を利用して、きちんと動く形になっている。

現在の最新版はv2.6.2. Git-2.6.2-32-bit.exe はインストールに管理者権限が必要. PortableGit-2.6.2-32-bit.7z.exe のほうは不要.

さまざまなコマンドが同梱されているが, gcc が入っていないため, そのままでは開発には使えない.

Git for Windows SDK を入れればいい。インストーラの実行に管理者権限は不要。ネットインストーラで、gcc などを自動ダウンロードしてくれる。git コマンドも含まるので、これだけをインストールすれば OK.

統合開発環境(IDE)

☆ Visual Studio 2015 Community Ed.

Visual Basic (VB.NET), C#, C++の統合開発環境.

Community エディションは、ほとんどの feature を備え、かつ無料で利用できる。ただしライセンス上の制約がある;

個人で利用 無料/有料(商用)アプリを作成できる。(制限なし)
法人で利用 1) classroom学習環境, アカデミック研究、オープンソースプロジェクトへの貢献のために使用する場合、制限なし
2) エンタープライズ以外の組織では、最大5ユーザまで。
3) エンタープライズ組織 (250台超のPC または 年 1M US$ ~1.2億円超の売上) では、前述 1) の用途以外では使用禁止.

Express エディションは、機能が (大きく) 制限される代わりに、使用ユーザ数の制限はない。

デスクトップアプリケーションを開発したいときは, Visual Studio Express 2013 for Windows Desktop を入手すればいい。(無償)

NetBeans

Java(クライアント), Java EE, HTML5, PHP, Groovy, C/C++のための統合開発環境 (IDE)。

私は Forte for Java, Community Edition と呼ばれていたころから使っている。GUIビルダが優れている。

(2012.3)
C/C++ の開発なら, Visual C++ (Visual Studio) を使った方がいいと思う。

入手はこちらから。

(2014.6) Oracleは, Java開発環境として, NetBeans, JDeveloper, Oracle Enterprise Pack for Eclipseという3ラインを持っている。

将来性に関するインタビュー記事;

同種のソフト:

Eclipse
もう一つのIDE。こちらのほうが一般には人気がある。

プログラミング言語

Ruby

オブジェクト指向のスクリプト言語。私は, 1999年、バージョン1.4頃から使いはじめた。

Rubyについての記事はこちら; Ruby Centre

Haskell

遅延評価のできる関数型言語。

Haskellについての記事はこちら; はすけるで遊ぶ

Python

もう一つのオブジェクト指向・スクリプト言語。日本以外では、RubyよりもPythonのほうがメジャー。

Python についての記事はこちら; 技術メモ(ソフトウェア開発)

比較・パッチ

☆ WinMerge

(2014.6追加)

Windows用比較・マージツール.

WinMerge日本語版は, 単に日本語化したものではなく, 3ファイル比較, 比較アルゴリズムの改善など, 大幅な変更を加えたものです。

64bit版と32bit版がありますが, 32bit版のほうをダウンロードします。

ExcelやLibreOfficeのファイルを扱うために, プラグインも入手します。

バイナリエディタ Bz

本家 Bz - c.mos

tamachan氏が開発を引き継いでいる; devil-tamachan/binaryeditorbz · GitHub

☆ HxD

バイナリエディタ。巨大なバイナリファイルの超高速な比較ができる。

HxD - Freeware Hex Editor and Disk Editor | mh-nexus

日本語版あり。portable版のほうを取ってくればいい。

その他

pgAdmin などのデータベース管理ツールはこちら; DBMS GUIツール

UMLet

UML の作図。

UML をテキスト(記号)でも編集できる。

同種のソフト:

astah* community - 無償UMLモデリングツール
多彩な UML作図ツール. 旧JUDE/Community.

TortoiseGit

Windowsエクスプローラとgitとの統合。