Thursday, April 10, 2008

Non C++ Desktop Applications

I'm sitting here trying to use an awful application supplied by one of our vendors that's written in wxPython. It got me thinking, are there any desktop applications not written in C/C++ that you use? Are there any not written in C/C++ that you'd pay for?

I think Windows Live Writer is all in C#, and that's not bad. I wouldn't pay for it, of course. Paint.NET... but again, would you pay for it?

Can't think of many in the .NET or Java worlds. Even Eclipse and Azureus require a C++ UI component, the SWT, to be acceptably usable Java applications.

28 comments:

Anonymous said...

There are some decently well received applications written in Delphi, one being a media player. I imagine there are some popular VB6-based apps as well. Note that both of these are languages that compile to native code (VB6 uses the VC6 back end, in fact) and don't have a huge boat-anchor runtime attached.

Anonymous said...

There are a few good C# apps out there. Rhythmbox is one I know of. I think that Miro is written in Python.

Anonymous said...

I did pay for NCover and .NET Memory Profiler, both desktop-apps and both (I think) written in C#. Maxima is written in Lisp (but it's free, so I didn't pay for it).

Here's another question: How many C++ desktop applications would you actually pay for? Browsers, email clients and all kinds of utilities are often free, so the market for commercial desktop apps is small anyway. And of these commerical apps, most have code bases older than 10 years, so it's no wonder they're not written in Java/.NET/ruby/whatever.

Krishna said...

I'm not sure if it has been written entirely in .NET but I was impressed with Paint.NET. For the (admittedly basic) uses I need it for, it has worked out nicely.

krishna said...

Almost forgot to mention a Java app I quite like as well, called FreeMind. A nice mind mapping tool. Apart from these two apps (Paint.NET and FreeMind), I cant think of any non-native desktop apps that I use.

Anonymous said...

ActiveState Komodo

Anonymous said...

I paid for Favoritefox Sudoku. It's a puzzle game written in .NET

kahrn said...

Dev-C++ is written in Pascal IIRC. If it was still in active development I'd probably be willing to donate. Code::blocks uses WxWidgets, although it is written in C++.

SPE (Stani's Python Editor -- great python ide) was written in Python. So was the original bittorrent and even some newer clients. Exaile is also written in Python (intending to be a replacement to amaroK.)

http://en.wikipedia.org/wiki/Python_software

Anonymous said...

as the first poster said, there lots and lots of standalone applications written in delphi.
Things like skype, spybot s&r, inno setup, yahoo (and x1) desktop search, macromedia captative and many more.

There is a bigger list here:
http://delphi.wikia.com/wiki/Good_Quality_Applications_Built_With_Delphi

Lars Marius Garshol said...

LimeWire, a P2P filesharing client, is written in Java. It's also slow.

Several UML modelling tools are also written in Java, and also slow.

On MacOS quite a few non-slow desktop tools are written in Objective C.

Anonymous said...

To fellow anonymous: Rhythmbox is _not_ written in C#. You may be thinking of Banshee.

GAJ said...

NetBeans is in Java and, as much as I hate Java, it gives roughly the same performance as Visual Studio.

Anonymous said...

Omnigraffle is written in Objective-C and is really fantastic! This is actually true for a lot of Mac apps.

There's also a lot of desktop apps written in plain old-school C.

Maksa said...

I have at least one instance of Total Commander running at all times - written in Delphi. The same goes for FeedDeamon (RSS reader).

Anonymous said...

I have Paint.NET installed but don't use it. Why? My needs from these simple paint programs are basic and I need them NOW. I need them fleetingly. Give me what I want and then get out of my way. Paint.NET takes too bloody long to start and blasts my screen with too much fanfare. Plain, ugly ol' Windows paint on the other hand does the job perfectly. I use it like a notepad for pixels. For serious stuff, I use Gimp.

Nick said...

I believe that the entire Red-Gate SQL Administration suite is written in .Net. They are some excellent SQL Server tools.

Trimbo said...

FWIW, I did mean to include Objective-C in this when I wrote "C/C++" in the message text (though I forgot to change the subject line). Although, of the top-line Mac apps not made by Apple, how many are in Objective-C? Photoshop isn't. Shake, nope. Unfortunately choosing Objective-C pretty much means you're tied to Mac forever.

Delphi, yeah I completely spaced on that one. Good call.

VB 6 is a good call too, but it was sunset last month, so...

Uri Schonfeld said...

JAlbum is a good photo gallery application written in Java. It's surprisingly good.
MLDonkey is a decent emule/edonkey program written in... OCaml!!!! The main program doesn't have a GUI of its own but rather offers an interface via the browser. This is a very interesting way to supply a cross platform interface.

Anonymous said...

I'm pretty sure that VC6 is also past extended support, but it's definitely still in use. There's also more of an incentive for VB6 users to stick with that version since the VB6-to-VB.NET change is so much more radical than VC6-to-VS200x in terms of deployment, runtime size, performance, language, etc.

The Pascal language is also loooooong after its expiration date, but Borland keeps releasing products that revive the darn thing....

Anonymous said...

> Even Eclipse and Azureus require a C++ UI component, the SWT, to be acceptably usable Java applications.

Well, if you see it that way, every Java application with an GUI uses a native (C++?) component, because the AWT is the basis of Swing...

Rodrigo Kumpera said...

I use F-Spot, Tomboy, Gnome Do on daily basic.

I would not pay for them mostly because I would nit pay for any kind of software. There is not reason to not use opensource counterpart..

PJE said...

Since when is SWT written in C++? Last I looked, it was written in Java, with a bit of C code that was strictly there to allow calling the platform APIs.

In other words, SWT is written in Java, not C++.

Anonymous said...

Skype is written in Delphi (and I pay for Skype services.)

For native Win32 desktop apps, Delphi is very hard to beat.

I also use Visual C++ 2003-2005 (native), but only when absolutely necessary (e.g. drivers or static libs for MSVC projects.)

This is what I value when creating native desktop apps: programmer productivity, executable size, executable speed, rich GUI, and deployment requirements.

For websites, I currently prefer Ruby on Rails on Linux, but also use Delphi for ISAPI on Windows.

And I love trac (written in Python) for managing programming projects.

I found that using the best tool for the job is much more satisfying than irrational loyalty to a programming language or software. It helps me finish projects in a fraction of the time it takes others.

But if I were paid by the hour, I'd use C++. The compile times on large projects are ridiculous even whith judicious use of PIMPL. And it is impossible to provide a real-time syntax checker (like grammar/spelling checker in MS Word) for C++ due to language complexity.

Anonymous said...

an AC said "The Pascal language is also loooooong after its expiration date"

But I can't help thinking of

http://www.kanzelsberger.com/pixel/?page_id=5

It's not quite finished, but even in it's current state It is astounding.

The fact that it seems to be a one person job has to be some sort of argument in favour of Pascal.

As for portibility it's available for Windows, Linux, Linspire, MacOSX, BeOS, Zeta, QNX, MorphOS, FreeBSD, eComStation, OS/2, SkyOS and even old plain DOS, for both x86 and PowerPC architectures.

Someone really should give him a bundle of money to open source the thing.

Anonymous said...

IntelliJ IDEA is a pretty solid Java app.

FeedDemon is a very nice RSS reader written in Delphi.

Anonymous said...

Leo (http://webpages.charter.net/edreamleo/front.html) meta-editor & project browser written in Python. Slow, but incredibly powerful.

Anonymous said...

For some expensive stuff: Bitkeeper has a Tk GUI with C doing the hard work. http://www.bitkeeper.com/

Anonymous said...

>Since when is SWT written in C++? Last I looked, it was written in Java, with a bit of C code that was strictly there to allow calling the platform APIs.

> In other words, SWT is written in Java, not C++.

Actually, the SWT Java implementation for Win32 contains ".cpp" files that do in fact contain C++ code. Some Win32 APIs like GDI+ are only officially supported in C++ (even though C language bindings may exist).

In addition, in January 2008, SWT C++ was released, and it is implemented in 100% native C++, with no Java code or JRE dependency at all.

SWT C++: http://www.pure-native.com/swtcpp/swtcamp.html