Skip to content

Instantly share code, notes, and snippets.

@migueldeicaza
Forked from munificent/gist:9749671
Created March 25, 2014 04:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save migueldeicaza/9755409 to your computer and use it in GitHub Desktop.
Save migueldeicaza/9755409 to your computer and use it in GitHub Desktop.
You appear to be advocating a new:
[ ] cloud-hosted [ ] locally installable [ ] web-based [ ] browser-based [ ] language-agnostic
[ ] language-specific IDE. Your IDE will not succeed. Here is why it will not succeed.
You appear to believe that:
[ ] Syntax highlighting is what makes programming difficult
[ ] Garbage collection is free
[ ] Computers have infinite memory
[ ] Nobody really needs:
[ ] a REPL [ ] debugger support [ ] a local filesystem
[ ] to interact with code not written in your IDE's preferred language
[ ] The entire world speaks 7-bit ASCII
[ ] Scaling up to large software projects will be easy
[ ] Convincing programmers to adopt a new IDE will be easy
[ ] Convincing programmers to adopt a language-specific IDE will be easy
[ ] Programmers love learning new keybindings
[ ] There is only one operating system and it is
[ ] OS X [ ] Windows [ ] Linux [ ] iOS [ ] Android [ ] the DOM
Unfortunately, your IDE (has/lacks):
[ ] vi keybindings
[ ] emacs keybindings
[ ] Syntax highlighting
[ ] User-configurable indentation
[ ] Macros
[ ] Written in JavaScript [ ] Written not in JavaScript
[ ] Written in a scripting language you made up
[ ] which is a Lisp
[ ] A windowing system
[ ] Version control
[ ] Only using git [ ] only using github.com [ ] not using git
[ ] using an RCS of your own devising
[ ] Its own platform-independent look-and-feel
[ ] that was designed by a programmer
[ ] based on yesterday's design fads
[ ] applied inconsistently
[ ] A look and feel specific to one operating system
[ ] that was last widely used in 1989
[ ] and was known to cause seizures
The following philosophical objections apply:
[ ] Programmers should not need to understand CSS to change their font
[ ] The most significant program written using your IDE is itself
[ ] The most significant program written using your IDE isn't even itself
[ ] The implementation is closed-source
[ ] covered by patents [ ] not owned by you
[ ] The DOM is not an application framework
[ ] The name of your IDE makes it impossible to find on Google
[ ] Your IDE assumes JavaScript can be made infinitely fast
[ ] You seem to think static analysis is worthless
Your implementation has the following flaws:
[ ] JavaScript is not faster than C, C++, or Java
[ ] The DOM is not a windowing framework
[ ] It crashes on any file larger than 32k
[ ] You provide no way for users to run the program they are editing
[ ] You require the user to check in code before it can be run
[ ] The IDE crashes if you look at it funny
[ ] You don't seem to understand basic optimization techniques
[ ] You think a single string is an acceptable data type for a text editor
Additionally, your marketing has the following problems:
[ ] Unsupported claims of increased productivity
[ ] Unsupported claims of greater "ease of use"
[ ] Obviously faked screenshots
[ ] No one really believes that your IDE is faster than:
[ ] vi [ ] emacs [ ] Eclipse [ ] Visual Studio [ ] IntelliJ [ ] Notepad
[ ] Rejection of orthodox user interface design without justification
[ ] Rejection of usability principles without justification
[ ] Rejection of established platform conventions without justification
[ ] Rejection of basic user interaction without justification
Taking the wider ecosystem into account, I would like to note that:
[ ] Your example workflow would be one key command in: _______________________
[ ] We already have an IDE in the browser
[ ] We already have an IDE that can be scripted using
[ ] Python [ ] JavaScript [ ] A Lisp [ ] Lua
[ ] You have reinvented vi but worse
[ ] You have reinvented emacs but worse
[ ] You have reinvented TextMate but worse
[ ] You have reinvented Eclipse but worse
[ ] You have reinvented Notepad but worse
[ ] You have reinvented Notebad better, but that's still no justification
[ ] You have reinvented ed but non-ironically
In conclusion, this is what I think of you:
[ ] You have some interesting ideas, but this won't fly.
[ ] This is a bad IDE, and you should feel bad for creating it.
[ ] Programming in this IDE is an adequate punishment for inventing it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment