Skip to content

Instantly share code, notes, and snippets.

@sandfox
Forked from munificent/gist:9749671
Created March 24, 2014 23:17

Revisions

  1. @munificent munificent revised this gist Mar 24, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,7 @@
    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.
    [ ] 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
  2. @munificent munificent created this gist Mar 24, 2014.
    87 changes: 87 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,87 @@
    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

    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
    [ ] Written in JSON
    [ ] 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 UDE 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.