
Ninja IDE: written in Python for Pythonists - mmariani
http://ninja-ide.org/
======
kghose
It is FOSS (GPLv3). The license information was a wee bit hard to find (Wayyy
down on the about page <http://ninja-ide.org/about/>) and I first thought it
was some frankenstein freemuim product where you had to apply for a free
license if you were an OSS devel (like PyCharm) etc. etc.

I gave it a whirl:

1\. Snappy, which is nice, since PyCharm can be sluggish on my Mac 2\. No VCS
integration 3\. By default very strict code checking is turned on, which turns
my (functional) code into a sea of underlines, which is not so pretty

It looks to be an interesting start, but it will need VCS integration before
it looks suitable as a PyCharm replacement.

I didn't look in detail at code completion/code assist, which PyCharm does
very well.

~~~
ishbits
I'm not sure why, but I've never used the VCS integration in an IDE.

~~~
fusiongyro
It's nice in Netbeans, because I can see which lines I've changed while I'm
editing, and if I hover over the sidebar it will show me what I've changed or
deleted. Probably they all do that, but Netbeans is the only IDE I bother
with.

I won't say it's indispensable, but it is handy. I don't miss it outside of
Netbeans though.

------
ketralnis
I realise these are at first blush, but:

* Scrolling is way too slow. This isn't nitpicking, this is really very important to me

* I like PEP8 warnings and use them in other editors, but I don't like not being able to pick which style stuff I care about

* I don't like the PEP8 tooltips. They cover up my code and that's the worst possible place to put them. Even if I do plan to "fix" the issue, coming up over the code that I'm typing right now is never okay.

* It's really quite a lot of work through some confusing terminology to get a test run of the IDE going on an existing project. I don't want to move my code into your workspace. I don't want to import my existing project (that sounds scary)

* Some glaring bugs seem to indicate that this is more young than is indicated on the very flashy project site. For instance, if I try to import a project but cancel the "select a directory" popup, I inconsistently get it either removing my previous selection or crashing the whole IDE

------
sho_hn
Can someone explain to me why this is at the top of the front page despite a
website devoid of useful detail, while this completely fails to catch on:
[http://scummos.blogspot.de/2012/11/kdev-python-14-stable-
rel...](http://scummos.blogspot.de/2012/11/kdev-python-14-stable-
released.html)

(Seriously, check it out - KDevelop's Python plugin and Microsoft's PTVS are
currently the two projects doing serious work on static analysis of Python for
live editing purposes. Here's a nice subthread comparing the two:
<http://news.ycombinator.com/item?id=4725634>)

~~~
khill
Perhaps because not everyone is doing development on KDE?

The Ninja-IDE supports linux, windows, and osx so it has broader appeal.

~~~
sho_hn
That's a good point, although I feel that "development on KDE" needs a
response: KDevelop isn't limited to making KDE applications, and KDE
applications like KDevelop aren't limited to running inside the KDE shell -
the major Linux desktops are quite interoperable today as far as running
applications goes. Furthermore, generally speaking KDE apps are also available
for Windows (via the KDE Windows installer) and OS X (via distibutions like
Fink), although both platforms are considered experimental deployment targets
for KDevelop.

~~~
Breakthrough
I personally don't feel like downloading all the hundreds of megabytes of KDE
runtimes just to fire up an IDE for a test run (this is on Xubuntu).

~~~
milliams
"hundreds of megabytes of KDE runtimes" is absolute FUD. libkde4core is 2.5MB
on my system here. Even all the KDE libraries that you would need are only
going to be in the 10s of MB. Did you actually do a test to see how much you
would need?

~~~
Breakthrough
Yes I did. On my 32-bit Xubuntu machine, I called `sudo apt-get install
kdevelop`, and it has informed me that I require 99.0 MB worth of archives,
and that it will take up ~330 MB of disk space after everything is installed.
For some reason, I recall `apt` telling me I had to download _over_ 100 MB on
my 64-bit machine...

Admittedly, a lot of the download size comes from additional dependencies, but
still - I don't want to have to install all that when I use an entirely
different WM, and there are alternative WM-independent solutions to begin
with.

~~~
sho_hn
KDevelop is WM-independent -- its dependencies don't include the window
manager or shell. This silo thinking has to stop. Basically all the library
stacks on Linux have a shell project prominently associated with them
(Qt/kdelibs: Plasma, GTK+: Gnome Shell, EFL: Enlightenment, Motif: CDE), so
you run out of "WM-independent" apps pretty fast if you make that mistake. And
considering Qt even calls into the GTK+ theming system if run in Gnome it
strives to be interoperable more than most.

As for alternatives, I'm not aware of a Python IDE with comparable abilities
for Linux (Wing probably comes closest, but is proprietary).

What has the potential for greater impact on your productivity - 320 MB of
used disk space or a useful IDE?

------
unohoo
What would really help is a small demo video just to get a whiff of what the
IDE feels like. The description and screenshots are somehow not enough for me
to download and install an entire IDE and take a test drive. If there is a
demo video somewhere, my apologies - I was not able to find it.

~~~
tonylampada
There's one on youtube: <http://www.youtube.com/watch?v=tDlWk_Z7JPQ>

~~~
reledi
It's also a year old.

------
gatox
Hello, I'm part of the NINJA-IDE Team, and first to all, I would like to thank
everyone for the feedback (good ones, as much as bad). Currently we are
working to make NINJA-IDE compatible with Python3 (among other features) and
taking care of several issues to ensure better stability (and guide the
development process with tests).

I hope we can find the time to take care of some of the stuff mentioned here
as videos, screenshots, user guide, etc.

It's a lot of work, but we are proud of what we can achieve with a free
software project.

Thx everyone!

------
kstenerud
Pretty cool all around, but it needs a lot more stability work. It crashed a
few times just scrolling around in some of my python projects, and there are
quirks such as complaining "This font can not be used in this editor" if I
open the font selector and then click "Cancel".

Also, changing the margin line doesn't seem to take effect unless you quit and
restart the IDE.

~~~
kstenerud
After a few hours use I'll definitely say the robustness is not there :(

I can't use it for more than 10 minutes without it crashing, which is a shame
because it looks really nice.

------
jra101
Would be nice to be able to selectively disable some PEP 8 rules in the style
checker. I don't care about lines longer than 80 characters and I don't like
separating functions by two empty lines.

~~~
Derbasti
But, PEP8, man. It's the LAW!

/kidding

~~~
Luyt
Yes, and no: from the PEP8 style guide: (my emphasis)

"Consistency with this style guide is important. _Consistency within a project
is more important_. Consistency within one module or function is most
important. But most importantly: know when to be inconsistent -- sometimes the
style guide just doesn't apply."

------
hoka
I'll definitely give it a shot.

From a usability perspective, your download button could be better. It doesn't
download right away (which is fine), but redirects to downloads/win for me.
Might be nice to have it auto-scroll to the win downloads since it took me a
while to figure out what was going on.

Here's a screenshot from Win7 32-bit: <http://i.imgur.com/2RT6u.png>

That random pink line makes it unusable for me.

~~~
aaronbrethorst
It looks like that delimits an 80 char width.

------
spindritf
"For Ubuntu Users: You can add the NINJA-IDE PPA and install it from there
(you will get automatic updates!)"

<http://ninja-ide.org/downloads/>

Thank you.

------
zlapper
As others have already mentioned, PEP8 validation is enable by default, which
is a little excessive in my opinion (specially with the line < 80 chars rule).
It would be great to be able to disable individual rules, a la
Ecliplse/Netbeans.

All in all it looks very nice, thanks for sharing.

~~~
mikle
I think that we as an industry need to drop the 80 char per line rule.

~~~
mgrouchy
I don't.

I have a fairly large screen (27inch cinema display) and use Vim. 80 Character
lines are perfect. They look nicer, are easy to read (in the same way books
are easy to read when lines are not super long) and with vim can accommodate
~4 split windows side by side which is useful.

------
mikle
I hate to be that guy, but after almost a decade doing Python one thing I
learned is that we prefer Pythonista, not Pythonist.

------
buster
Wow.. how did this not make it to HN before? Already version 2.1.1 and never
heard of it?

------
nirvanatikku
Crashed while scrolling =( Was curious, but can't see myself moving away from
PyCharm/Sublime.

~~~
misleading_name
Ditto.

------
recuter
Something something second system syndrome, just use vim/emacs/sublime. 'etc.

------
rxc178
This is nice, but one quick question, why's the windows installer in spanish?

~~~
gatox
Yes, as Brian mentioned, most of the team is from argentina, as the windows
packager, we already take care of that for the next release.

~~~
rxc178
Thats cool, its not a problem. I really like the tool though, great job!

------
jlujan
On mountain lion, it requires X11. Not sure why as my PyQT apps do not.

------
wcoenen
My experience when I tried it on Windows 7:

0) Downloaded and installed it. For some reason the installer was in Spanish.
Launched the IDE itself. Fortunately it was in English.

1) clicked file - new project, selected python, named it "test"

2) tried to type the project location, it wouldn't let me. Selected the
project location via the "Examine..." button instead. (The filesystem browser
launched in program files instead of my home folder.)

3) typed _print("hello world")_ in __init__.py

4) hit F6 to run. This doesn't seem to do anything except pop up a save
dialog. The only output I get is "Failed to start" with no further indication
of what is wrong.

Chosing a "main file" in the project properties didn't seem to make any
difference. I don't know how to make this thing execute code.

~~~
rplnt
> I don't know how to make this thing execute code.

This happens to me basically in every IDE, with every language. I somehow got
used to the fact that IDE requires some maintenance prior to working with it.
I guess it shouldn't be the case but it is my (limited) experience.

------
yuvadam
Don't know about the IDE but that font is horrendous.

------
jotaass
Just tried it. Looks nice but a bit lacking on the code completion, i think.
Maybe I need to give it another chance.

Also, I think would be nice if there was a way to interact with the console
after running a script. I realize this may be sort of an odd request, but it
is very convenient when you're not quite sure on how you want to solve a
problem, and you need to try out some solutions interactively. I greatly enjoy
this in spyder, my current python ide of choice.

------
azinman2
Tried it out on existing code. Was complaining that spacing wasn't a multiple
of 4, when I set it to 2 spaces in the prefs. I even reloaded it and verified
the setting.

Back to Sublime!

~~~
adamrt
I don't use this editor but I can almost guarantee that its actually pep8
complaining about spaces. Not that this solves your problem but there is a
disconnect between editor configuration and pep8.

Side note: Hope you use 4 spaces on new projects! :)

------
endtime
Having very recently switched to Sublime Text 2 (from Komodo Edit), I'm
curious if this offers anything that can't be done with Sublime + mature
existing plugins...?

~~~
Derbasti
Does ST2 have a REPL? (This is no value statement. I honestly want to know.)

~~~
isxek
There's also a separate ST2 package called SublimeREPL that supports other
languages (<https://github.com/wuub/SublimeREPL>).

------
gruuby
I cannot use an IDE that doesn't feature a vi mode for the editor. I'd be
very, very lost. I'm yet to find an IDE that doesn't get in my way, vi mode or
not.

------
stevoski
How does this compare to PyCharm?

~~~
ecaroth
I'm wondering the exact same thing.

------
shill
I am already extremely satisfied with PyCharm. I'll keep an eye on this
though. Being able to write plugins in Python is promising.

------
masukomi
am i the only one who's really wishing there were some real screenshots to
check out before downloading the thing?

------
veeti
Although vim has almost completely sucked me in already, does this thing have
support for 1) separate indentation settings for different file formats and 2)
separate indentation settings for different "projects"?

I've been looking forever for a text editor that does this and surprisingly
few do.

~~~
jarito
The IntelliJ family of PyCharm, RubyMine and WebStorm can do this.

~~~
amishforkfight
Confirmed -- I've used WebStorm and it's derivative PHPStorm for several
years, they are excellent IDEs.

------
btipling
It can't seem to create or open JavaScript files. How does one use it with
Django?

------
pablosanta
It keeps crashing on me. I'm on Lion. :(

Looks good though. I thought it was going to be YET ANOTHER ECLIPSE
distribution, but apparently it's not. It seems to be pretty fast. Hope they
fix the crashing issue on Lion soon.

------
ezolotko
Tried it on Windows. Why it is never a commercial-grade UI in projects like
this? Why it is not like Idea? Why it is not like Visual Studio? Why it is
still glitchy, blinky, brogrammer-art thing?

------
dmd
Crashes on launch for me.

~~~
jsilence
same here

------
neil_s
The name of the IDE emphasizes that its not just yet another IDE, and yet I
don't see anything new here, or any difference from existing IDEs, other than
heavy Python support.

------
misleading_name
Looks pretty, but I opened a 200 line python file on Mountain Lion and it
crashed after 30 seconds. Also the scrolling was annoyingly "jumpy".... just
not smooth.

------
pacman128
Tried it out on Windows. Was liking it, but then discovered that it is
converting my files to UNIX format when saving them on Windows!

------
silasb
Is this based on QT Creator?

------
DodgyEggplant
Wing IDE is great

~~~
xyzzy123
"Me too". I've tried many Python IDEs, settled down with Wing IDE.

The one feature I truly love in that IDE is "debug probe". Once you breakpoint
(or hit an unhandled exception), you can walk up and down the call stack and
evaluate arbitrary expressions in any frame. SO handy.

------
ninetax
It would be great to see some screen shots.

~~~
wsc981
Yep, I was quite annoyed when browsing to their site that I can't find any
screenshots at all. And as someone mentioned, a video would be nice as well.

I'm a bit reluctant to download an app with so little information except from
a sparse bit of text.

------
zdanozdan
whats wrong with emacs ?

~~~
Derbasti
Nothing at all. Emacs is wonderful. But that says nothing at all about Ninja.

------
datashaman
QT toolkit. urgh...

------
indiecore
Nice, it would be good to have some screenshots and stuff though, I'll
definitely check it out.

------
gfosco
As soon as I see the words "cross-platform" on an IDE, I'm no longer
interested. Looks really nice though, they did a good job with branding.

~~~
mjs7231
This is a very strange reason not to like a product. Care to elaborate why?

~~~
bitwize
There's no such thing as a cross-platform GUI layer that doesn't suck.

Qt comes the closest, and it has all sorts of platform-specific hacks in it,
some even visible at the API level.

If you're going to be writing something that's used as frequently and
intensively as an IDE, then it had BETTER conform to the user interface
guidelines of whatever OS it's running on. Those differ on Windows or Mac, and
Linux doesn't really have any.

~~~
aroman
I definitely agree with your thoughts on this, but I guess I wanted to add
that Linux most definitely _does_ have human interface guidelines -- they're
just not the same for every flavor of Linux under the sun. Granted a lot of
Linux apps tend to be "cross-environment", or just cross-platform in general,
so it's less obvious than on Mac, for example.

But GNOME definitely has them[1], and newer projects which have dedicated
themselves to a really solid HIG are gaining a lot of traction[2].

[1] <http://developer.gnome.org/hig-book/stable/> [2]
<http://elementaryos.org/docs/human-interface-guidelines>

I guess the issue comes down to more people needing to _care_ about them :)

