Software Development with  Editor, Kernel and VM       Shuzo Kashihara         @suma90h        April 22, 2012
About•   柏原 秀蔵 (23 years old)•   @suma90h, id:obfuscation•   https://github.com/suma•   Engineer at Preferred Infrastructu...
Agenda•   Development life-cycle with Text Editor....    •   我々は毎日何を行っているのだろう?•   目的(ゆるふわ)    •   テキストエディタというインタフェースはこのままで...
我々のPC生活Vim     Emacs      Apps      OS(kernel)もしかして:Virtual Machine       Hardware
KernelとVMの共通点• ハードウェアの抽象化• リソース管理 • プロセス、メモリ、CPU• APIの提供• ところでVM? VMM? → 細かいことは..
エディタは?•   言わずもがなアプリケーション(user mode)    •   Vim, Emacs, Eclipse...•   Kernel, VMと同じ視点から考える    •   テキスト内部を気せず編集できる → 抽象化    ...
コンテキストスイッチを考える• Kernel <-> アプリ• VMM <-> Kernel → 今回は考えない• エディタ <-> 人間
エディタと人間•   ソフトウェア開発で人間は...    •   考える、設計する、妄想する    •   コーディングする with Editor(and Kernel)    •   ビルド、実行、デバッグ... wtih App    ...
バイナリエディタでは•   人間は...    •   16進数ダンプを見る、ASCIIなど読める部分を読む w Editor    •   色で見る、耳で聞く? w Editor    •   考える    •   データを抜き出したり加工す...
複数のことを同時に考えるのは無理ぽ•   GB単位のバイナリデータを目grepとか無理    •   バイナリエディタで支援 視覚化 etc•   大規模ソフトウェア開発    •   コード量が増えると一度に編集できない    •   モジュ...
未来のエディタに求めたいこと•   バイナリエディタ    •   求められる機能(Feature)はハッキリしている → ok•   テキストエディタ・開発環境    •   Terminalとエディタ、人間のコンテキストスイッチを減らしたい...
Upcoming SlideShare
Loading in …5
×

Software Development with Text Editor, OS Kernel and VM

2,025 views

Published on

Thinking about development life with text editor and so on.
Kernel/VM探検隊@IIJ

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,025
On SlideShare
0
From Embeds
0
Number of Embeds
582
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software Development with Text Editor, OS Kernel and VM

  1. 1. Software Development with Editor, Kernel and VM Shuzo Kashihara @suma90h April 22, 2012
  2. 2. About• 柏原 秀蔵 (23 years old)• @suma90h, id:obfuscation• https://github.com/suma• Engineer at Preferred Infrastructure• Interest • Developing Hex Editor • Software testing
  3. 3. Agenda• Development life-cycle with Text Editor.... • 我々は毎日何を行っているのだろう?• 目的(ゆるふわ) • テキストエディタというインタフェースはこのままで 良いのだろうか?(問い) • 未来のテキストエディタ、開発スタイルを考えよう
  4. 4. 我々のPC生活Vim Emacs Apps OS(kernel)もしかして:Virtual Machine Hardware
  5. 5. KernelとVMの共通点• ハードウェアの抽象化• リソース管理 • プロセス、メモリ、CPU• APIの提供• ところでVM? VMM? → 細かいことは..
  6. 6. エディタは?• 言わずもがなアプリケーション(user mode) • Vim, Emacs, Eclipse...• Kernel, VMと同じ視点から考える • テキスト内部を気せず編集できる → 抽象化 • 編集バッファ、Undoバッファ→リソース管理 • elispの実行環境(Emacs) → VM?
  7. 7. コンテキストスイッチを考える• Kernel <-> アプリ• VMM <-> Kernel → 今回は考えない• エディタ <-> 人間
  8. 8. エディタと人間• ソフトウェア開発で人間は... • 考える、設計する、妄想する • コーディングする with Editor(and Kernel) • ビルド、実行、デバッグ... wtih App エディタと他アプリの • コードとにらめっこ 行き来で、人間のコンテキス トスイッチも発生!• エディタ(画面・操作)、他のアプリ、思考の行き来
  9. 9. バイナリエディタでは• 人間は... • 16進数ダンプを見る、ASCIIなど読める部分を読む w Editor • 色で見る、耳で聞く? w Editor • 考える • データを抜き出したり加工する w Editor
  10. 10. 複数のことを同時に考えるのは無理ぽ• GB単位のバイナリデータを目grepとか無理 • バイナリエディタで支援 視覚化 etc• 大規模ソフトウェア開発 • コード量が増えると一度に編集できない • モジュール化、高レベルなプログラミング言語を利 用して開発時に思考する量を減らす
  11. 11. 未来のエディタに求めたいこと• バイナリエディタ • 求められる機能(Feature)はハッキリしている → ok• テキストエディタ・開発環境 • Terminalとエディタ、人間のコンテキストスイッチを減らしたい • でもマルチタスクしたい • リファレンス、ブラウザを見たい • 分散システムの結合テストとかもやる...

×