136 comments

[ 7.6 ms ] story [ 187 ms ] thread
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.
This is a very strange reason not to like a product. Care to elaborate why?
Oh, the old saying "Write once, run crappily everywhere." See the other comments already talking about it crashing or having weird behavior. It's something I've come to after many years of trying cross-platform apps that involve a GUI... They are almost all terrible.

I hope the group who agrees with me is cancelling out all the down-votes I got for expressing a valid & common opinion. :)

How about Komodo IDE / Komodo Edit, which are XUL-based applications?

Many users do value a good cross-platform application.

In this case, it runs using X11 on OSX, which is a terrible way of making software ;)
Am I the only one who uses PyDev?
I had bad experiences with Eclipse back years and years ago, but I'll try it again. It looks like there's a new release (Juno?)- That seems like a decent starting point.
One of the few. I am a PyDev user, but I have been migrating toward using ipython notebook for development and saving the code into .py files when I need to run in production. PyDev gets used to debug the resultant code when something goes wrong.

PyDev seems to heavy to me when you need to write a standalone script and too buggy at evaluating module dependencies resulting in bad tooltips. Ipython notebook doesn't have this problem because you evaluate code as you develop, so tooltips come from object introspection.

I agree about module dependency tooltips. I'm happy to hear I'm not the only one.
PyDev user here too. Although I don't use it directly anymore but through Aptana.

It works out of the box and also supports javascript/html/css/... so is ideal for developing webapps with a python backend.

Ninja looks nice, but nothing I saw in the screencast makes me want to make the jump.

Finally, I might have to change my mind...

There is a big difference with PyDev/Aptana that is not apparent in the screencast: its lightweightness!

* it is a 1.3Mb download (vs 126Mb).

* startup time is ~2s (vs 30+ seconds)

* memory footprint is ~28Mb after startup (vs 400Mb)

Now I'll definitely try it.

Update: the memory quickly jumped to ~120Mb usage, hope it's not a memory leak.

A couple of people used to use it a work, but then we all switched to PyCharm and haven't looked back
Agreed. There are so many bits of 'cross platform' software where the OSX build requires X11. Considering X11 doesn't come with the newer installs of OSX (and there's no media with extra bits), and stuff like Airs have space at a premium, the X11 option is pretty terrible.
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.

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

I used to think so, too. But then, IDEs and developers are kind of special.

IDEs are mostly just big rectangles full of text, which are eminently platform independant. Developers are special in that that we are very used to staring at terminals and logs, and are very accustomed to work with colored but unformatted text. Also, workflows tend to be very similar, across platforms and environments.

So that leaves us with not much reason for platform dependance, and thus Eclipse, Emacs/Vim/etc., and terminals. Even Visual Studio sports many things, but a native look is not among them. I guess XCode is the only really platform-dependant IDE I know. All the others could just as well run on different platforms or even do so.

So, umm, I respectfully disagree.

I can't speak for gfosco, but my guess would be that it's because in IDE-land "cross-platform" frequently means "written in Java" (as with Eclipse, NetBeans, etc.), with all the performance issues and not-quite-perfect platform look and feel that implies.
(comment deleted)
You really can't think of any reasons why a person would suspect a cross-platform IDE to be a waste of time? I stupidly downloaded the 141MB only to find out it requires X11 (ugh) on a Mac which isn't even included in MacOS anymore (yuck). Delete.
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.

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

It has bazaar and git plugins (check the Addins menu).
I would rather have developers work on the IDE than make yet another GUI interface for Git. You have the command line for that.
I think you mean "yet another GUI for Git."

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

Sorry, I could not help myself.

Why is this downvoted? He politely corrected parent's word usage and that should be encouraged, no?
There's a fine line between correction and pedantry.
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.
It's useless noise - the parent's intention was clear
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.
That should be 'disrupt', not 'disrupts'. - PedantBear
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

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.
also another filter for meta posts would be nice... oh wait.
On most boards this filter is also known by name 'moderators'.
(comment deleted)
I'm not sure why, but I've never used the VCS integration in an IDE.
Jetbrains integrates them so freakin well - it's hard not to use them
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.

There are plugins that add support for bzr and git.
It would be great to see some screen shots.
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.

Nice, it would be good to have some screenshots and stuff though, I'll definitely check it out.
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.
This is nice, but one quick question, why's the windows installer in spanish?
Most (all?) of the team is based in Argentina. I'll bring it up to one of the devs (a coworker).
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.
Thats cool, its not a problem. I really like the tool though, great job!
Wow.. how did this not make it to HN before? Already version 2.1.1 and never heard of it?
Something something second system syndrome, just use vim/emacs/sublime. 'etc.
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.

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.

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.

Is this based on QT Creator?
How does this compare to PyCharm?
I'm wondering the exact same thing.
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.
But, PEP8, man. It's the LAW!

/kidding

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

Crashed while scrolling =( Was curious, but can't see myself moving away from PyCharm/Sublime.
Don't know about the IDE but that font is horrendous.
On mountain lion, it requires X11. Not sure why as my PyQT apps do not.
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...?
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 )
whats wrong with emacs ?
Nothing at all. Emacs is wonderful. But that says nothing at all about Ninja.
The thing wrong with Emacs is that not enough people know Lisp / elisp / CL well enough to enhance Emacs and hence prefer to create new "non programmable editors" instead of enhancing Emacs : (

As a long time Emacs user this saddens me a lot.

Some people just want a specialized tool for a particular job, rather than a swiss army knife that requires a lot of fiddling and presents you with a ton of stuff you can't use for your current task.
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.

I think that we as an industry need to drop the 80 char per line rule.
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.

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)

I'd guess it's due to KDE's general lack of popularity. Typically, nothing done under the KDE umbrella gets noticed.
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 :).
I'm not based in the US and I rarely see people use KDE compared to other Linux DEs
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?
If anything was "clear" from a non-randomly sampled poll, we wouldn't need randomly sampled polls.
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.)
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.

Don't forget to throw Mac and Windows into the mix. You're forgetting two much, much larger user bases.
Perhaps because not everyone is doing development on KDE?

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

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.
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).
Which packages will also increase your update times ... This goes double when using something that doesn't ship binaries like Macports.
"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?
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.

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

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

Wing IDE is great
"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.

It can't seem to create or open JavaScript files. How does one use it with Django?
I am already extremely satisfied with PyCharm. I'll keep an eye on this though. Being able to write plugins in Python is promising.
am i the only one who's really wishing there were some real screenshots to check out before downloading the thing?