views:

3117

answers:

27

I'm looking for an IDE for developing commercial desktop applications to be sold over the internet, as a mISV. Windows is a must, while Mac is a nice to have. An important factor is that the technology allows me to create beautiful native UI with ease.

.NET has a large VM dependency that I'm not crazy about. I was thinking about Delphi, but the world around it seems to be almost dead.

What do you recommend?

+2  A: 

Qt

Cross-platform, entensive, mature C++. The biggest downside is that it's not free for non-free applications.

Javier
Your downside is hardly a strong downside compared to the other suggestions, which are all commercial as well.
TokenMacGuy
+16  A: 

Delphi is not dead. For Win32 development, it is still an excellent choice. If you want cross-platform, then Java is a good option. Eclipse is the way to go there.

JosephStyons
+3  A: 

I don't know if Delphi's dead, it's just been bought by Embarcadero. The real momemtum has been behind C# on .NET with Visual Studio though. The basic versions are cheaper and Borland really dropped the ball on Delphi 8 (shudder). If you don't mind learning Pascal, the Turbo Explorer is probably good to try out because it's free.

I'm not sure why you're not crazy about .NET's VM - I presume you mean the CLR. It's pretty good and I'm sure no worse than Java. It comes with Windows and updates are handled by Windows Update.

I wish you all the best and hope you make some money.

John Ferguson
Thanks John,my concern about the .NET VM is that if I develop for a .NET 3.5 application, they will need to download a very large installer that contains the framework as well.
Norman
I was going to write something about that because it's a concern at work, but I don't use XP at home and have no idea if 3.5 has been put through Windows Update generally for XP.
John Ferguson
You can always choose to program .NET 2.0. Free versions of the IDE, that support .NET 2.0,3.0 and 3.5. Its very hard to find a XP without .NET 2.0 theese days. .NET 3.5 should be normal also, but im not sure if it is marked as a Important update yet.
Jesper Blad Jensen aka. Deldy
On a website you can even tell in the browser-string what .NET Version they have, then you can bundle a version of your application with the framework, or just point them where to download it. Its really not a problem anymore.
Jesper Blad Jensen aka. Deldy
I use an .NET 2 opengl app at customers to test their opengl extension support. I have to install it every time.Half of the companies here are more Java oriented shops (often combined with SAP), not MS shops, and they don't have the runtime.
Marco van de Voort
+1  A: 

I'm using wxWidgets. You can choose between C++, Python or Perl as a language. Make sure you try wxFormBuilder to build the GUI and you can use MS Visual Studio, Eclipse or some other tool that supports C++ or Python as your IDE.

It's ported to Windows, Linux, Mac, and some other platforms. And it's free, even for closed source projects.

However, it is still not RAD as much as Delphi, so maybe it's best you try it first and see how you like it.

Milan Babuškov
and you can use wxWidgets with Delphi http://www.twinforms.com/ too
Hugues Van Landeghem
+59  A: 

Delphi is certainly not dead. (see how Delphi programming fares in the latest TIOBE index)
With the new D2009, you get full Unicode support, as well as generics and anonymous methods, and you still have the best tool to create fully Vista-enabled applications.
Choose Delphi and you will be in very good company (from dev tools like Beyond Compare or PL/SQL Developer to general public like Skype). See this impressive list...

François
Thanks for the link to the TIOBE index, molto interessante! But what the heck happened in 2004-2005?!!
stevenvh
Long story short, those years Borland put out a product that sucked. They're back on track now and doing much better.
Mason Wheeler
I still prefer Delphi 7 :-) (Mostly for my archived copy of the personal edition - I'm to cheap to pay!)
Lucas Jones
+2  A: 

Some other options you might consider:

  • Java -- I believe there are numerous IDEs available which allow you to build UIs, as well as UI frameworks which allow a native or near-native look and feel.
  • RealBasic. What started as a Mac VB-alike has become a truly cross-platform RAD environment, with editions running on Linux, Windows and Mac, and the ability to emit compiled executables for all environments with native L&F. (On Linux, they've chosen GTK as the L&F.) I used to use this many, many years ago under "classic" Mac OS; I never got too into it, but my understanding is that it's gotten a lot better over the years.
John Rudy
+17  A: 

I will also suggest you check out Delphi. You can get the free Turbo Editions of Delphi 2006, but if you are serious then I suggest you buy Delphi 2009, it is a huge improvement on the previous Delphi editions.

Jim McKeeth
+20  A: 

Delphi is alive and well with D2009 (the best Delphi ever IMO).
You won't find a tool to create good quality native applications in such record times. That's why a lot of micro (and not so micro) ISV have choosen Delphi.
And if once your product is well established, you want also go cross-platform, you probably can use FPC after some tweaking. (you would not be alone)

+11  A: 

You don't say what the app is, but Delphi has a lot of support available online, has lots of freeware and inexpensive third-party components, and a relatively easy learning curve. You can do very nice UI stuff, down and dirty system-level stuff, web/Internet stuff, and database stuff.

There's a program called FreePascal that runs on multiple platforms, so that might be something else to look at if you're happy with Pascal as a language.

GuyWithDogs
+24  A: 

And win32 Delphi is also a good choice for shareware because you don't have any dependencies on other dlls (other then kernel32.dll, etc). So distributing can be very simple.

Lars Truijens
+14  A: 

I have to echo all the other comments - Delphi is far from dead. For producing applications with no dependencies, Delphi is the outright winner.

Delphi is now run by CodeGear and owned by Embarcadero, they are now concentrating more on the native win32 (and in the near future win64) parts of Delphi. The latest version, Delphi 2009 is looking very good indeed :-)

dcraggs
+14  A: 

Language wars aside, with Delphi you can develop stand-alone EXEs, DLLs, as well as dotNet applications. In fact, it will build any windows app except drivers.

But the most important factor for me is that it is very unusual to purchase third party components without source code. Since every major version of the compilor since Turbo Pascal 3.0 has required recompiling of components, your investment tends to last longer if you have the source code AND you learn so much from examining it! If you have source code you can be more secure against orphaned components.

In addition, as mentioned elsewhere, there is an enormous amount of free or low cost components and source code out there.

+13  A: 

I would vote for Delphi too, it's the best way to build shareware and native win32 applications

you can build your application as single exe file, that will run in most windows version without requiring any dependencies.

with Java and .Net you will be stick with VM, and with new version of the language, you will ask your clients to update their VM again (.Net 1.1, 2, 3, 3.5, and coming 4) and with each new version the size got much bigger than before.

and Delphi has much better performance and support for many third parity controls.

Mohammed Nasman
+24  A: 

Here's a nice discussion about why Delphi is a great tool for ISV/MicroISV developers.

http://blogs.codegear.com/michaelswindell/2008/05/09/34745

Nick Hodges
+22  A: 

Delphi has been an excellent choice for the shareware I've created (HomeSite, TopStyle and FeedDemon). As others have mentioned, the lack of any runtime dependencies is a huge plus when distributing software in the wild. The speed - and load time - of Delphi apps is also a big win.

I will say, though, that I don't recommend choosing Delphi if your goal is to be acquired by another company. Most companies have little or no Delphi expertise, and in general it's harder to find experienced Delphi developers than .NET developers. I've been lucky in that I've been acquired despite choosing a less popular development tool, but I will say that Delphi has been a stumbling block in quite a few acquisition talks.

Nick Bradbury
A: 

My personal choice: Visual Web Developer 2008 Express SP1 for web applications (with that great ASP.NET MVC framework just kicks ass!) and for desktop appz just stick to Visual C# 2008 Express SP1.

Eclipse is a good IDE, I work with it professionally now, but as with all stuff that comes with Java world you're going to get lost in transition to that platform. Plus creating a desktop GUI is a nightmare in Eclipse (as in no forms designer, all manual stuff and last but not least - the layout managers that definitely don't make your life eaiser).

Delphi? Hm,... after 10 years with that platform I say: Rust in Peace.

Matthias Hryniszak
Ok Visual Web Developer 2k8 Express may be your choice but I would recommend WebDev from PCSoft instead. Do take a serious look at it.
Yogi Yang 007
+4  A: 

Wow, nice to hear Delphi is not dead. From the looks of the answers, there's quite a lot of life in it.

Clarion is another option, although at it's price it might take you a while with shareware to resolve the cost.

If you need a tool that allows very powerful interaction (both Template and Handcode) between Database and Application, Clarion is right on the money.

  • I'm the Clarion Evangelist, so take this info with a grain or two of salt.
Stu Andrews
+8  A: 

I'm flogging a dead horse here by saying Delphi is alive and kicking (unlike the horse). There may be some interesting announcements coming up regarding cross platform development which have been rumored (OS/X and possibly Linux and native ARM).

You probably need to describe your problem in a bit more detail if you want credible answers - otherwise you're just going to get people evangelizing their favorite tool.

Alister
+1  A: 

You should consider realbasic, it's RAD and you can compile to run on mac, windows and linux. It's also not very expensive and has very active user forums

kjack
+6  A: 

The latest version of Delphi (Delphi 2009) includes Unicode and is a fantastic tool:
What are Major Incentives for Upgrading to D2009?

The next version of Delphi (Delphi 2010) will be 64bit and looks to be awesome:
First Screenshots of Delphi 2010 for Win64

lkessler
"Sunday, April 1, 2007" - ??? Voice Recognition, Integrated Spell Checking and my favorite: "Change code while debugging and the effect will take place immediately without needing to recompile"
mjustin
Sadly D2010 was not 64bit we have to wait for project Commodore. Will probably be introduced in D2011 (but perhaps not the initial release)
Alister
A: 

Well everyone will give you their own opinion based on their expertise and level.

In the same way I will also like to chime in.

Well there are many options to select from.
- Pure Basic
- Real Basic
- KBasic
- Visual Basic (you can run compiled apps along with COM components under Wine in Linux but there is not support for Mac)

All of these are based on BASIC so naturally they are easy to learn and use compared to other programming languages. All of these also have got well developed RAD IDEs (native or third party)

There is FPC but it does not have a good RAD IDE.

Yogi Yang 007
Well, I'd say Lazarus goes a long way.
Marco van de Voort
I would not consider Lazarus as a RAD Tool. It is very unstable, slow, and quite unusable also. Installing of components is a nightmare at best. Against that take Real Basic. You just have to copy required files to a predefined folder and when you want to use a component just attache it to your project! That is it!
Yogi Yang 007
I never could make realbasic do what I wanted. Lazarus is fine, and the FPC compiler is superiour to RB's.
Marco van de Voort
I agree with the compiler part.RB does not have a real compiler. It is more like a VM in which all libs and semi compiled code is stuffed into.
Yogi Yang 007
+5  A: 

(Free Pascal does have a good RAD, it is called Lazarus; http://lazarus.freepascal.org)

One of the worries of .NET is not just the size (or any VM that you don't hard package with your app) of the download, but also the support angle: if your program depends on packages that are finely versioned beyond your control (not only .NET with all its SPs and hotfixes, but also DAC, MSXML, MSVCRT if you plug some C++ code etc), how do you manage that supportwise ?

The Delphi single exe model is still one of the major attractions of that platform. Sure, you can have dependancies there too (said MSXML though there are alternatives), but at least you don't really start out with them.

Marco van de Voort
+6  A: 

I run a shareware software at http://www.mtgstudio.com for about 7 years. It is written entirely in Delphi. Internally it has some precompiled object files from C++. uses inline Assembler. Delphi is by far the best shareware development tool available on the market. It produces native, self-contained excutables for the 32-bit Windows platform. With the help of some freeware executable comressors the size of the binary executable becomes miniature.

The language (though 25 years old in origin) is modern and supports almost all fancy paradigms such as anonymous methods and generics.

Delphi has the largest third-party component set community as of now. (You can try searching for a good DBGrid for Delphi and Java if you wish to compare).

Delphi is resurrected and quite kicking those days. After Borland/CodeGear/Embarcadero focused more on the native compilers insetad of the junkish .NET, Delphi gained ground again and became stable as it was before the .NET madness started.

I definetely recommend trying Delphi 2009.

Lets hope Nick Hodges and the team manage to wrapup a Mac OSX compiler soon and drop the .NET idea forever (let RemObjects sink with the .NET IDE). Last advice do not waise time on Kylix, C# Builder, Delphi Prism or Lazarus. They are not even near to the Delphi coolnes.

Gad D Lord
VCL is quite outdated.VB6 has the worlds Largest component library followed closely by .NET and not Delphi.Even after all these incarnation of Delphi CG has not been able to make VCL version independent. It is a pity.I have nothing against Delphi. In fact I am a Delphi developer but personally I do not like VCL and its architecture. It is not easy to develop components without a lot of work. CG has not been able make the development process easier for developers. ):
Yogi Yang 007
A: 

Almost all of the stand-alone projects I've attempted have been built on the StarKit software stack, which packages Tcl/Tk in a cross-platform single file package that requires no installer. There are a preponderance of libraries suited for use with this system, and building interfaces in Tcl/Tk is very easy. There are a few visual tk designers but none I've tried are really any easier than a few lines of tk code.

If TCL just isn't your thing, python combined with py2exe is almost as good. But since it requires placing a hand-full of dll's in the right place, you will probably also need an installer.

TokenMacGuy
A: 

Adobe Flash Builder (or the Eclipse IDE with the Flash Builder plugin installed - ships as same product sku) and target building Adobe AIR applications.

You'll then be able to deliver very Mac-like applications that run on both Windows and Macintosh (there's also an AIR runtime for Linux too). With this particular IDE choice you can choose to make either Windows or Mac OS X your primary development platform.

The resulting application projects can be made open source projects because Maven Flex-mojo plugin can be used to build Flex and AIR applications (and ant as well). So one doesn't need the Adobe Flash Builder plugin (a commercial item) to build the project. Plus the Flex and AIR SDKs are free to download.

The Flash Builder provides for the visual design tool, source level debugging, advanced datagrid, and charting and automation classes. It's a nice-to-have if you're a primary developer to the project doing a lot of the visual GUI design.

In our shop we also use Java and Tomcat on the server side with open source Java libraries, such as BlazeDS, Spring Framework, and iBATIS. Our software solution stack is open source across tiers, top to bottom. We deploy Tomcat on either Windows or Linux servers. When we need a message broker, we use open source ActiveMQ and integrate it to BlazeDS. That way our Flex/AIR clients can be subscribers to JMS topics.

RogerV
+2  A: 

Delphi is not dead.. We are just waiting for the next good version. And maybe a price break. The Delphi code base is incredible, not to mention that I have things from 1992 that still compile with minor changes. They even still run in windows (vista and 7 too). So in my opinion it will die only if the compiled binaries cease to execute on the current version of the operating system.

I would also add that I am sure there are thousands and thousands of applications that were "secretly" written with Delphi just to avoid the stress of explaining it to the customer. As it really does generate comparable executables.

After programming for 30 years, I have not found Delphi/Pascal lacking. Everything that I have needed to create was possible and easy. Not to mention that I did not have to worry about it being too loose. I guess I like the structure.

General Jackson Tackett