The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Dilemma ...

Hi...I have been thinking to ship a simple and lightweight desktop application and target OS would be windows for 1.0. I have experience in C under-linux. I don't want to use Java because i don't like it for no good reason :-). Couple of days back i started learning .NET. It seems like Okay kind of environment and now i feel comfortable with it. I have even downloaded some free UI-components and played with them. But here is the catch: If i would build this in .NET then either i will have to assume that customers will get .NET framework or i will end up with a huge exe. I have found Remotesoft Linker for around 500$ but i would like to spend this much money on Google Ad words.Now i am quite stumped as to what language to use to build my desktop application. I have couple of questions
i)- Can i make my UI in .NET and use it in VB 6.0( or in anyother language as in Delphi???) ? How would i do that ? Any web-pointers will be highly appreciated? I mean to say that can i build UI in .NET and write my business logic in either in VB 6.0 or Delphi( Any articles,help...???) ?I have also heard that MSFT has stopped( or thinking to stop, im not sure) providing support for VB 6.0
ii)-What about Delhpi or Ruby?
My main concerns are to come up with a light-weight and rich-UI application. As far as databases are concerned i might would go for MySQL, SQLite or VistaDB.  Any comments, thoughts or advices will be highly appreciated.
Confused!!! Send private email
Wednesday, September 21, 2005
 
 
The only way to produce honest to god executables with .Net Framework is using MainSoft + Cygnus. It takes your .Net code, translate it into Java. Then you apply the Java code to GCJ. Assuming everything goes and you program to this model--you might get a genuine executable. Needless to say, some people are adamently against this sort of convoluted solution for what seems like a simple request, but Eric Sink's company used this technique to put out something to make the Java people happy (they didn't use GCJ, I just added the step to fit your needs).
MainSoft means money--so you are back to square one. If you are customer-centric (i.e. you actually think customer satisfaction has some semblance of relationship to how fast your bank account will grow), you'll have to be open to options you ma personally dislike. Like C++, or Java.

By the way Python can be bundled into executables too. Obfuscation won't be an option though, but you may not care.

For more discussion:

http://discuss.joelonsoftware.com/default.asp?design.4.191091.0#discussTopic195149
Li-fan Chen Send private email
Wednesday, September 21, 2005
 
 
Eric Sink's story on the Eclipse plug-in:

http://dev.mainsoft.com/Default.aspx?tabid=133
Li-fan Chen Send private email
Wednesday, September 21, 2005
 
 
Have a look at Python.
Ben Atkin Send private email
Wednesday, September 21, 2005
 
 
Thanks for replying. Some of questions are remain unanswered. If somebody would take some time to give me some advise on 'i' and 'ii' ( asked in the first post) i would certainly appreciate that.
Confused!!! Send private email
Wednesday, September 21, 2005
 
 
OP said:
<<
Thanks for replying. Some of questions are remain unanswered. If somebody would take some time to give me some advise on 'i' and 'ii' ( asked in the first post) i would certainly appreciate that. >>

i) Not that I"m aware of.

ii) Delphi would be an excellent choice if you could afford the pro edition (small and fast native executables). Never used Ruby

 -AJ
AJ
Thursday, September 22, 2005
 
 
@Ben
I would certainly look at Python. Can you make rich-UI applications in Python ?
@AJ.
By 'Pro Edition' you mean Borland Delphi 2005 Professional edition, right ???
Thanks.
Confused!!! Send private email
Thursday, September 22, 2005
 
 
Yes, you can make "rich UI" applications in Python. There is a PythonWin module for that. And you can use py2exe to help with distribution.

Python Windows page:
http://www.python.org/windows/

PythonWin module:
http://www.python.org/windows/pythonwin/

Or you could use a cross-platform toolkit, such as PyGTK, PyQT, or WXPy.
Ben Atkin Send private email
Thursday, September 22, 2005
 
 
Ruby is a lot like Python. There have been plenty of flame wars about which is better. But both would work for what you're doing. I don't know off the top of my head what Ruby's answer is to py2exe, but it most likely has one.
Ben Atkin Send private email
Thursday, September 22, 2005
 
 
Also, there have been discussions similar to this one in the past, and some posters recommended just using .NET if that's what you like. Some users don't have the framework yet, but many already have it, and many would be willing to download it.
Ben Atkin Send private email
Thursday, September 22, 2005
 
 
Ben, thanks for your messages. I think Ruby's answer  to py2exe is  http://www.erikveen.dds.nl/rubyscript2exe/index.html . Your suggestion of using .NET might be plausible, however, im really confused about .NET as you might loose some potential cusotmer if he comes across a dialog box saying 'You need to install .NET framework x.x' and download size is xxMBs :-)
Anyways im still confused. Why not have a poll as to what language will most of you will use for building a small, lightweight and good looking application :-)..I would appreciate your thoughts and advices.
Confused!!! Send private email
Thursday, September 22, 2005
 
 
One simple question: why a desktop app at all?

Whilst I hate the UI, those who provide a web 'service' seem to have more control and make more money.

Desktop UIs are much prettier, of course.  There are loads of things that webpages suck at (lowest common denominator problem).
new nick, new rep
Thursday, September 22, 2005
 
 
Before you lock yourself into a non-.Net approach, look at your target customers.  Are they likely to have the .Net framework already in place?

If so, then you could stay with .Net.  If there is a high percentage, then you have to weigh the consequences. 

And are you providing this application via Download or CD?  If it's on CD, then what is another 25MB on the CD?  If it's download... then have an installer that assumes .NET framework is installed and have an installer (or links) to get the .Net framework.
Eric D. Burdo Send private email
Thursday, September 22, 2005
 
 
Hi...I have been thinking to ship a simple and lightweight desktop application and target OS would be windows for 1.0.

1.0????

Who the heck still uses that?

What version did you really mean? ;)
Arafangion Send private email
Thursday, September 22, 2005
 
 
"Before you lock yourself into a non-.Net approach"

don't people usually think of .Net as being about locking yourself into something?
new nick, new rep
Thursday, September 22, 2005
 
 
i think he meant "1.0" as the version of his product, not the version of Windows.

btw, after similar contemplation as the OP, i've decided on C++/wxWidgets.

"The operation you were trying to perform timed out while connecting to the database. Please press back and retry the operation. If the problem persists, please see your database administrator. The transaction log may be too large if you are using MS SQL Server and it may need to be truncated."
not your everyday knob
Thursday, September 22, 2005
 
 
Delphi certainly gives some good results and I would recommend it if you have the cash to buy it (I stopped upgrading at Borland Delphi 4 due to lack of cash and tranferral of loyalties to Java). If you can overcome your dislike, you might find Java quite amenable to your needs, but failing that I would say, although I have very limited experience of it, Python is probably the best bet.
Paul Brown Send private email
Tuesday, September 27, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz