Hacker Newsnew | comments | ask | jobs | submitlogin
Ninja IDE: written in Python for Pythonists (ninja-ide.org)
227 points by mmariani 508 days ago | comments


sho_hn 508 days ago | link

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...

(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 508 days ago | link

Perhaps because not everyone is doing development on KDE?

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

-----

sho_hn 508 days ago | link

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 507 days ago | link

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 507 days ago | link

"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 507 days ago | link

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 506 days ago | link

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?

-----

rplnt 507 days ago | link

Maybe the package (Kdevelop or something above it in the dependancy tree) maintainers screwed up. Unfortunately it's not very uncommon to see complete gnome-* download (I have KDE) for a simple application that only requires one library.

-----

aptwebapps 507 days ago | link

Which packages will also increase your update times ... This goes double when using something that doesn't ship binaries like Macports.

-----

streptomycin 508 days ago | link

I'd guess it's due to KDE's general lack of popularity. Typically, nothing done under the KDE umbrella gets noticed.

-----

sho_hn 508 days ago | link

I'm going to guess you're based in the US, because the two big Linux desktop camps are indeed somewhat split along the continents as far as mindshare goes. Makes me wonder about the exact breakdown by geographical area of the HN readership :).

-----

Kliment 508 days ago | link

I'm not based in the US and I rarely see people use KDE compared to other Linux DEs

-----

klearvue 508 days ago | link

Against your anecdotal evidence I'll present a somewhat less anecdotal evidence in the fact that KDE was voted best desktop environment in the last annual LinuxQuestions members choice awards. Clearly people voting for it are the ones using it, don't you think?

-----

streptomycin 507 days ago | link

If anything was "clear" from a non-randomly sampled poll, we wouldn't need randomly sampled polls.

-----

adambyrtek 508 days ago | link

I haven't noticed that either, if only due to the fact that GNOME desktop (for some value of GNOME) always came by default with Ubuntu. (Yes, I'm aware of Kubuntu.)

-----

sho_hn 508 days ago | link

Well, it has historic reasons - KDE was founded in Germany and many of the initial wave of developers were based there, and it's the same for Gnome and the US. Both were certainly international from the start and the bias on the developer side largely no longer persists (also due to the huge presence of South America and India in FOSS now), but for the first half-decade you were simply far more likely to run into KDE people at a European event and into Gnome people at a US-based event, and thus make connections and become involved. This then extended to things like the prominent distributions (SuSE and Mandrake: KDE-centric and from Germany and France; Red Hat: Gnome-based and from the US) and print mag coverage, when that still mattered. And of course Trolltech was a Norwegian company later bought by a certain Finnish phone maker.

And to become more markedly opinionated for a moment, it's also most likely why Gnome managed to catch on and get to a place where it could make some meaningful contributions to the space, despite always having run on arguably inferior technology: The US FOSS scene had a little bit more of an entrepreneurial spirit going (also due to the early decision for LGPL licensing - well, kdelibs was always LGPL as well, but Qt only went LGPL a few years ago, while GTK+ always was) and the US IT market is simply somewhat bigger as well. If KDE had put some more effort into growing US mindshare early on (like it has tried to in recent years by launching a second annual conference just for the US, Camp KDE) things might have gone differently.

-----

pbreit 507 days ago | link

Don't forget to throw Mac and Windows into the mix. You're forgetting two much, much larger user bases.

-----

albertzeyer 507 days ago | link

Thank you a lot for this! This is really impressive.

A shame that it probably will be a bit tricky to get this running on OSX...

Maybe a good starting point is here: https://github.com/mxcl/homebrew/pull/8511

-----

milliams 507 days ago | link

Indeed. I tried out Ninja about 6 months ago. While it was very nice I found it just didn't compare to KDevelop in terms of features and ease of use (admittedly I am also using to KDevelop for C++ work).

-----

rplnt 507 days ago | link

I had no luck with Python under KDevelop (tried it something over a year ago). It worked, but not really as an IDE. I liked it for C though, maybe it would be worth trying it again.

And it might be silly but I really loved the KDE's variable coloring. Example for those who don't know: http://www.kdevelop.org/sites/kdevelop.org/files/photos/Kdev... Basically every variable name is hashed and colored differently. Upside is that different variables have different colors in the code and the orientation was much easier/quicker. Downside is that you sometimes catch yourself renaming variable just to have a different color.

-----

kghose 508 days ago | link

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.

-----

vvpan 508 days ago | link

I would rather have developers work on the IDE than make yet another GUI interface for Git. You have the command line for that.

-----

abhinavg 508 days ago | link

I think you mean "yet another GUI for Git."

"GUI Interface" expands to "Graphical User Interface Interface."

Sorry, I could not help myself.

-----

aptwebapps 507 days ago | link

An interesting message board feature would be the ability to (self) tag posts plus a filtering mechanism to allow users to avoid grammer or spelling nitpicks. Or they could be styled differently. Instead a full reply, it'd be an asterisk that you'd hover over to read if you really wanted to.

-----

cskau 507 days ago | link

#nitpick

> grammer or spelling nitpicks

grammar

-----

datashaman 507 days ago | link

Slamdunk.

-----

Luyt 507 days ago | link

Indeed. In this context I must post: http://www.youtube.com/watch?v=N4vf8N6GpdM

-----

egeozcan 507 days ago | link

also another filter for meta posts would be nice... oh wait.

-----

TeMPOraL 507 days ago | link

On most boards this filter is also known by name 'moderators'.

-----

asdfologist 507 days ago | link

Why is this downvoted? He politely corrected parent's word usage and that should be encouraged, no?

-----

arockwell 507 days ago | link

There's a fine line between correction and pedantry.

-----

alexkus 507 days ago | link

Indeed, and we don't need an extra 30+ posts in each thread that don't add to the discussion but simply point spelling/grammar errors.

-----

naradaellis 507 days ago | link

It's useless noise - the parent's intention was clear

-----

asdfologist 507 days ago | link

Just because a statement's meaning is clear doesn't make it easy to read. Even seemingly minor errors (such as mixing up "it's" with "its") disrupts the flow of reading.

-----

datashaman 507 days ago | link

That should be 'disrupt', not 'disrupts'. - PedantBear

-----

mmariani 507 days ago | link

Agreed.

Also, all this discussion about grammar is useless noise which should've been taken privately in order not to interrupt the flow of ideas that might improve the software.

So, please, in the future redirect grammar nitpicking efforts to a more appropriate place like StackExchange's English Language and Usage [1].

[1] http://english.stackexchange.com

-----

hnriot 508 days ago | link

try harder

-----

fudged71 507 days ago | link

Also known as RAS Syndrome

-----

masklinn 508 days ago | link

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

Also various refactorings (both refactoring-refactorings and smaller rewriting which PyCharm/IntelliJ calls "intentions")

-----

fmoralesc 508 days ago | link

It has bazaar and git plugins (check the Addins menu).

-----

gatox 508 days ago | link

We have some videos about Code Completion in NINJA-IDE:

http://youtu.be/xCqiOEXfZd4 http://youtu.be/auVJF44XSnM http://youtu.be/tA_BJBLdduQ

-----

nakkiel 507 days ago | link

There are plugins that add support for bzr and git.

-----

ishbits 507 days ago | link

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

-----

fusiongyro 507 days ago | link

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.

-----

joelhooks 507 days ago | link

Jetbrains integrates them so freakin well - it's hard not to use them

-----

ketralnis 508 days ago | link

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

-----

unohoo 508 days ago | link

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.

-----

gatox 508 days ago | link

We don't have tutorials yet, but you could take a look at a couple of videos about Code Completion in NINJA-IDE:

http://youtu.be/xCqiOEXfZd4 http://youtu.be/auVJF44XSnM http://youtu.be/tA_BJBLdduQ

-----

tonylampada 508 days ago | link

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

-----

reledi 507 days ago | link

It's also a year old.

-----

jra101 508 days ago | link

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 508 days ago | link

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

/kidding

-----

Luyt 507 days ago | link

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."

-----

spindritf 508 days ago | link

"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.

-----

kstenerud 508 days ago | link

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 508 days ago | link

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.

-----

hoka 508 days ago | link

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 508 days ago | link

It looks like that delimits an 80 char width.

-----

gatox 508 days ago | link

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!

-----

yuvadam 508 days ago | link

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

-----

buster 508 days ago | link

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

-----

mikle 508 days ago | link

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

-----

shill 508 days ago | link

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

-----

wcoenen 507 days ago | link

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 507 days ago | link

> 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.

-----

recuter 508 days ago | link

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

-----

nirvanatikku 508 days ago | link

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

-----

misleading_name 507 days ago | link

Ditto.

-----

veeti 508 days ago | link

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 507 days ago | link

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

-----

amishforkfight 507 days ago | link

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

-----

zlapper 508 days ago | link

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 508 days ago | link

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

-----

mgrouchy 507 days ago | link

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.

-----

wildranter 507 days ago | link

No, we shouldn't. It's about just the right line length to mate reading a lot easier. Take a look at this to see what I mean [1]. Another thing, one liners are great, and I love them too. But they don't hurt only readability.

[1] http://desktoppub.about.com/cs/finetypography/ht/line_length...

-----

stevoski 508 days ago | link

How does this compare to PyCharm?

-----

ecaroth 508 days ago | link

I'm wondering the exact same thing.

-----

jlujan 508 days ago | link

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

-----

endtime 508 days ago | link

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 508 days ago | link

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

-----

isxek 507 days ago | link

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

-----

heartbreak 507 days ago | link

Yes. View >> Show Console.

-----

camus 508 days ago | link

I use python with sublime text 2 which is great but not as great as eclipse with the python plugin. I'm learning django right now and even with the code intel , it is hard to discover the api without going to the doc. ST2 is blazing fast ,but sometimes a more heavier ide is better ( and i can launch manage.py shell from eclise which is top notch )

-----

btipling 508 days ago | link

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

-----

azinman2 507 days ago | link

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 507 days ago | link

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! :)

-----

rxc178 508 days ago | link

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

-----

briancurtin 508 days ago | link

Most (all?) of the team is based in Argentina. I'll bring it up to one of the devs (a coworker).

-----

gatox 508 days ago | link

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 508 days ago | link

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

-----

masukomi 508 days ago | link

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

-----

dmd 507 days ago | link

Crashes on launch for me.

-----

jsilence 507 days ago | link

same here

-----

gruuby 507 days ago | link

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.

-----

neil_s 508 days ago | link

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.

-----

DodgyEggplant 508 days ago | link

Wing IDE is great

-----

xyzzy123 507 days ago | link

"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.

-----

pablosanta 508 days ago | link

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.

-----

misleading_name 507 days ago | link

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.

-----

ezolotko 507 days ago | link

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?

-----

More



Lists | RSS | Bookmarklet | Guidelines | FAQ | DMCA | News News | Feature Requests | Bugs | Y Combinator | Apply | Library

Search: