Developer Tools
Ohio State University
Open Source Club
History and Background

First programmer
First text editor
Text Editors
Pros:
- Simple
- Faster

Cons:
- Too simple
- Don't integrate
Example: Emacs
- Very old (remember EDWIN?)
- Made by GNU Stallman
- Has graphical UI
- Lots of extension code written for it
Example: Vim
- Old
- Relatively small and simple
- Well-suited for editing configs
IDEs
Pros:
- Complex
- Slower
- Corporate
Cons:
- Integrate well
Pros:
- Out of the box support for many new features
- Fast
- Good plugin system (including vim plugin)
Cons:
- Professional edition is expensive
- Memory hungry
- Fragmented
Made by IBM
Pros:
- Popular in academia and industry
- Has a nice set of features
- Fully OSS
Cons:
- Slow
- Bad plugin system
- Bad UI
- No direction
Aptana
- Based on Eclipsed
- Made for web development
Komodo Edit
- Fairly popular among PHP users
- Doesn't seem to have as many features
- Okay UI and plugin system
Productivity. How important is it?
- We talk about programming languages a lot, but productivity features and UI are often ignored.
- As a result we have to use ancient software (OSU Sun environment)
- Or we're locked in a custom environment (Visual Studio, Eclipse EE)
Why?
Compare the two
We are making people more productive through smart software solutions that help them focus more on what they really want to accomplish.
... projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.
Productivity Features
- Completion
- Navigation
- Linter/Auto-compile
- Integration
- Testing and debugging
Which ones are the most difficult to implement?
Completion
- File-based
- Dictionary-based
- Parser-based
Navigation
- Tags
- Pre-defined
- Context-based*
- Parser-based
Notes:
Linter
- Instant feedback
- Gives you hints
Misc. Features
Devil is in the details
- Indentation guides
- Highlighting of all occurrences of the word under cursor
- Auto-closing of "", (), {}
-
Auto-placement of semi-colons.
- Graphical parentheses matching
- Commenting/uncommenting
- Snippets
- Multiple cursors/mini map
- File tree viewer
Aesthetics
- Text-based vs graphical
- Color themes
What do they integrate?
- Text editor
- Compiler/interpreter
- Debugger
- Testing tools
- Version control
- Deployment tools
Are there alternatives?
- Interactive debuggers like Pry
- Standalone testing tools
- Rails in general is a good example
Questions

Developer tools
By Maxim Kim
Developer tools
- 1,782
