When comparing Ninja IDE vs GNU Emacs, the Slant community recommends GNU Emacs for most people. In the question“What are the best IDEs for C++ on UNIX-like systems?” GNU Emacs is ranked 7th while Ninja IDE is ranked 21st. The most important reason people chose GNU Emacs is:
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Syntax highlighting
Pro Extensible
Plugins can easily be created to add features that you may need but are otherwise missing from the IDE.
Pro Virtualenv support
Has out of the box support for virtualenv, which can be added when first starting a project or later through the settings.
Pro Embedded Python console
Has an embedded python console built in.
Pro Script runner
It is possible to run the project or any file opened in the editor with just one click.
Pro Find in files / find usages
Allows you to search one or more words, a regular expression, etc.
Pro Breakpoints
Pro Multi-platform
- GNU/Linux
- OS X
- Windows
Pro Built-in static analysis
NInja IDE highlights both static and PEP8 errors in a file. With each type of error having its own icon.
Pro Web-inspector
Pro Render HTML files
Also supports rendering HTML files currently loaded in the editor.
Pro Project management
Allows you to manage projects, saving descriptions and information about them and letting the user to perform file management related task inside the IDE itself.
Pro Easily locate code
Code locator allows quick and direct access to any file, function or class inside one of the project by simply pressing a few keys. Pressing Ctrl + K
open a popup over a text field, where you can type the name of what you want.
Pro Symbols explorer built in
You can easily see all functions, classes and attributes in the current program.
Pro Written in Python
Pro Bash support
Pro Sublime snippets
Pro Multi-language support
Pro Infinitely customisable
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Pro Completely free
Licensed under GNU GPL.
Pro Keyboard-focused, mouse-free editing
Emacs can be controlled entirely with the keyboard.
Pro Works in terminal
You can use Emacs' command line interface or graphical user interface.
Pro Self documenting
Emacs has extensive help support built-in as well as a tutorial accessed with C-h t.
Pro Has turn-key packages for IDE work
Packs like spacemacs make it easy to get started and bring the learning curve down from an infinitely regressing spiral to something more manageable.
Pro Works over SSH
Pro Great Integration
Emacs has modes for nearly every use case, even ones like mail and internet browsing. It has often been said that Emacs is essentially an operating system on its own.
Pro Has Vim emulation
Evil-mode makes Emacs actually usable as an editor.
Cons
Con Latest version (2.3) is from 2013
But it looks like the project is still maintained towards 3.0 release.
Con Bad performance
Freezes and slows down often.
Con Non-standard keyboard commands
I'm editing this in Chrome, but I could be using Firefox, Edge, or any other browser, or Notepad, or even Libreoffice or Microsoft Word, and in ALL of those cases, keys would work exactly the same way, including how to jump around by word, select words, cut/copy/paste, etc.
Pretty much all modern editors share the same basic key combinations, from Visual Studio to Sublime to Atom to VS Code to Xcode. Becoming an Emacs expert means you need to mode-shift between code editing and editing in your browser; adding Emacs modes to SOME apps means you need to remember which key bindings to use where. The cognitive load added by switching between Emacs and other text editors is not worth it, especially since all the advantages of Emacs are now available in free editors elsewhere.
Con Not set up as an IDE by default
Requires customization to get IDE-like features. Luckily a few features such as compilation, debugging, and syntax highlighting are included.
Con Learning curve is steep
While it's better than it used to be, with most functions being possible through the menu, Emacs is still quite a bit different from your standard editor. You'll need to learn new keyboard shortcuts.
Con A UI designed before anyone had a clue about UI design
Emacs is positively NOT a well-designed user interface. Its design dates back to the time when all microwaves still needed instructions and VCRs universally displayed a flashing 12:00 because no one could figure out how to operate them. Many modern editors have 100% of the power of Emacs with none of the hassle.
Con Chorded keyboard combinations can be baffling
For example, for navigation it uses the b, n, p, l keys. Which for some people may seem strange.
![Vetted.ai illustration](/images/ai/vetted-illustration.png)