Solved

Desktop Application - What is the best programming language to use?

Posted on 2010-11-26
9
708 Views
Last Modified: 2012-05-10
Hi There,

I would like to get a freelancer to develop a windows based piece of software but I'm a little unsure of what language should be used. The software is something that I can give to my clients to install and use and needs to perform a similar roll, in principle, as the Adwords Editor application distributed by google. It  is not PPC related but my clients need to be able to manage information we publish via this application.

The user enters the information either by form on the application or via CSV upload. Once they are happy with the info, they then upload it to our web based database. Similarly if they make changes on our site they can download those changes to their local version for editing etc.

Any advice on what language is most commonly used or is most flexible?
0
Comment
Question by:Mulith
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 52

Expert Comment

by:Carl Tawn
Comment Utility
If you're not planning maintaining the code yourself then the language probably doesn't matter too much. If you want to target the .Net framework then VC++, C# and VB.Net are the primary options, although there are about 27 CLR compliant languages available.
0
 
LVL 5

Expert Comment

by:Xper4net
Comment Utility
A .Net application (no matter if it will be done with VB or C#) could easily do the job. But first application's loading could be a little long on some machines (.net framework).
A C++ application starts faster in any cases, but development time could be slightly longer -but in fact, it depends more on developer's competence-.
0
 
LVL 5

Expert Comment

by:Xper4net
Comment Utility
I mean a "not managed" C++ application, like MFC.
0
 
LVL 1

Author Comment

by:Mulith
Comment Utility
I would love to be able to maintain it myself but I ony know web based languages like PHP so not that useful. It's going to need regular upgrades so development cost will need to be kept as low as possible. Do any of these lend themselves better to this scenario?
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 52

Accepted Solution

by:
Carl Tawn earned 167 total points
Comment Utility
C# and VB.Net tend to be the more prevalent languages for .Net, C++ tends to be a bit more specialised.

C# and VB.Net developers are ten-a-penny so you should have no problem being able to swap developers if you need to.
0
 
LVL 1

Author Comment

by:Mulith
Comment Utility
OK, sounds good. Any idea on what I should be expecting to pay for the development? I know it's difficult to say without knowing the exact requirements but a rough idea would give me an idea.
0
 
LVL 5

Assisted Solution

by:Xper4net
Xper4net earned 167 total points
Comment Utility
By reading again your requirements, and realizing that it's related to web, I think now that the better solution would be either a RIA (Silverlight or Flex) or a Java plugin.
By this way, you'll be able to push upgrades in an easier way.
These three solutions are easy to maintain.
0
 
LVL 52

Expert Comment

by:Carl Tawn
Comment Utility
It will vary from developer to developer. Some will work for an hourly rate, some will offer a fixed price for the contract. The thing that is going to matter most is the feature requirements, which will dictate the length and complexity of the project.

As a rough guide I would say you should be budgeting between $35-45 p/h for a decent developer. Offshoring is a cheaper option but, from past experience of having to fix some of it, you get what you pay for.
0
 
LVL 7

Assisted Solution

by:JimBeveridge
JimBeveridge earned 166 total points
Comment Utility
The answer to your questions is dictated by your customers' environments, especially if you are working with the Fortune 500. You need to know whether they've rolled out .Net 2 / 3 / 3.5 / 4 to their desktops. You need to know how they do software deployment. Employees generally aren't allowed to install software themselves. Do you need to be cross-platform (Macintosh/Linux/iPhone/Android)? C++ is king for fast startup and small deployment, but cross-platform is painful, user interfaces are harder to build and development time is generally longer.

$35-45 p/h may per for a "decent" developer. It won't pay for a developer who can handle project management, requirements, client relations, unit testing, performance testing, configuration testing, source control, incremental releases, and other minutiae required of a commercial application. If you plan to do that onshore, expect to pay a company $125 to $175/hr, blended rate - that means that it's an average of the billing rates of junior developers all the way through project managers/architects.

Finally, whatever they quote you, expect to spend 50% more to actually get it out the door. Then, expect to spend another large outlay of dollars to get the 1.1 release out the door that fixes the bugs and makes features work the way you actually want them. If you are hiring an individual develop who doesn't have demonstrable experience in testing and project estimation, then increase these multipliers substantially.

If it sounds like I'm being cynical and pessimistic, then you are exactly right. I speak from experience of several years in the outsourcing industry and rescuing numerous projects from competitors (both companies and single developers) who got in over their head on supposedly "simple" applications, or, even worse, the installer.

In any case, I agree with Xper4net about trying a Silverlight/Flex solution. They can be prototyped quickly to see if they'll meet your needs. I think a C++ application should be a last resort.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now