高速かつCSVを含めた巨大ファイルを快適に扱えることで、多くのユーザーに20年以上にわたり愛用されているテキストエディター「EmEditor(エムエディター)」。EmEditorの開発者で、米ワシントン州に本拠を置くEmurasoft, Inc.社長を務める江村 豊氏に、開発の経緯や今後の機能拡張にまつわるお話をうかがいました。
参考 : EmEditor(エムエディター)
――まずはEmEditorを開発した経緯から教えてください。
江村 : EmEditorはもともと汎用通信ソフト「EmTerm(エムターム)」の内蔵テキストエディターのエンジンを取り出し、1997年に開発したソフトです。当初はシンプルな機能のみ備えていましたが、その後、ユーザーからの要望を受けて機能拡張を続けてきました。現在では概ね1ヶ月に1度程度のメジャー更新を目標にバージョンアップしていますが、これには多くのユーザーのみなさんの声が反映されています。
――EmEditorの特徴はどのような点にありますか。
江村 : 長い期間にわたり多くのユーザーに利用していただき、現在もユーザー数が増え続けている理由は、やはりCSVファイルを含めた巨大ファイルを快適に開けるメリットを実感していただいているからだと思います。特に巨大ファイルを扱うシステム部門において、一般的なテキストエディターやExcelでは、ファイルを開くことすら難しい。その点EmEditorは、行数でいえばおそらく2億行程度のファイルも開けますし、ほかのソフトウェアのように、「分割→結合」といった手間もかからない。Excelの代わりにも使える。このあたりがEmEditorを評価いただけている最大のポイントではないでしょうか。
ファイルを開くだけで時間がかかると作業効率は当然落ちますし、ミスも起こりやすくなります。EmEditorならそのストレスやリスクを軽減できます。とくにビッグデータを扱おうとしたら、少しでも高速に動くほうが望ましいですよね。
――巨大なファイルを快適に開けるようにするための秘訣はどういったものですか。
江村 : なんといってもコードの最適化ですね。あるコマンドを実行するのにどれくらいの時間がかかるのか、何度も何度もテストを重ね、最適化を追求しています。以前のバージョンと比べてどの程度の速さを実現するかが常に開発の肝となっており、極端な場合は速度を何千倍も改善できることもあります。
具体的には、多くの機能でマルチスレッドを考慮したアルゴリズムにしたり、検索時に行うループのなかでできるだけ分岐を作らないようにしたり、あるいは文字列のメモリへのコピーを減らしたりなど、さまざまな最適化の手法を取り入れています。とりわけ並べ替えの機能は使用されるユーザーが多く、最適化によるスピードアップに力を入れています。
参考 : EmEditorの「並べ替え」機能
EmEditorが高速に動くことで、一世代前のCPUを積んだPCでも快適に扱えるようになり、ストレスなく作業できるとともに、結果的にはユーザーのみなさんが作るシステムやアプリを使う方々もハッピーになれるのではないかと考えて開発に取り組んでいます。もちろん高速性だけでなく、ほかの機能の充実にも常に取り組んでいます。
――セキュリティが重要視されるなか、EmEditorはデジタルフォレンジックやログ解析といった業務でも力を発揮すると考えられます。こうした業務にはどんな機能が適しているのでしょうか。
江村 : デジタルフォレンジックに関していうと、たとえば指定した範囲のIPアドレスを検索したり、フィルターをかけたりといったことが可能です。また、これは次期バージョン19.6(取材時点での最新バージョンは19.5)で搭載予定の機能ですが、ファイル内に登場するIPアドレスのランキングを出せるようになります。これによりアクセスが多いIPアドレスを簡単に発見でき、監視や対策に役立つのではないかと思います。
そのほか、意外と知られていないのですが、ミニマップという機能を搭載しています。これは垂直スクロールバーにファイルの中身をイメージで表示する機能で、従来は既定で「OFF」にしていたのですが、次期バージョンではマウスをポイントしたときだけミニマップが表示され、アクティビティがあったところなどほかと異なる部分を見つけやすくなります。
――EmEditorをより便利に使いこなすために、開発者の立場からオススメの機能はありますか。
江村 : ご紹介したミニマップ機能は便利ですので、ぜひ活用していただきたいですね。従来この機能を既定で「OFF」にしていたのは、やはり使い勝手が突然変わるとユーザーが戸惑うことがあるからです。ただ、せっかくの機能ですし、開発者としてはもったいない。そこで考えたのがマウスポイント時だけ表示する方法でした。
ほかには、フィルター機能もこれまではあまり使われていなかったようです。フィルター機能は検索と似ているのですが、検索文字列を含む行を表示するので、いろいろな活用法が考えられます。また、マクロもまだ使っていないユーザーが多いでしょう。テキストエディターを使う業務には繰り返し作業が付きものです。マクロを使いこなせばかなり効率化できると思いますね。
参考 : EmEditorの「フィルター」機能
参考 : EmEditorの「マクロ」機能
――最後に、今後に向けての展望を教えてください。
江村 : 最近、私の長男がいろいろと手伝ってくれています。たとえば、多くのテスト用プログラムを作成したり、ボタン1つでビルドから公開まで可能な継続的デリバリーを実現し、さらなる品質向上を実現しています。EmEditorの開発は今後も絶えることなく続きます。そして、より多くのみなさんに信頼し続けてもらえるテキストエディターでありたいと思います。
[PR]提供:Emurasoft, Inc.