Let's say you develop a software program for Windows in C#, then Joe Blow develops the same software program for Windows but instead codes it using C++. If Joe Blow were to sell that software program, what would determine who would get more money for it given the different languages? Assuming, both used the same licensing system and the only difference between the programs was the source code.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
closed as primarily opinion-based by GrandmasterB, kevin cline, gnat, GlenH7, MichaelT Aug 10 '13 at 14:02
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.
There are two things ordinary users care about:
They don't care about:
... but a programming language can have a minor effect on user experience. An application which uses Java will require Java to be installed on the machine. This is not always an easy task for users with no technical background. The same applies for C# if it uses newer versions of .NET Framework on the versions of Windows which have older versions.
... but some users, such as:
will all be concerned by the technology you use, and a choice of a language will become a feature.
Side note: why do we care about languages?
If languages don't matter from user's point of view, the choice of a language is still important. Choosing the right language in a given context and given skills of your team means having less bugs, to be able to fix bugs faster, to improve creativity, to use a bunch of tools to enhance the quality of the application, etc.
One of the challenges of a project manager is to pick the right tools and languages to ensure that the product can be delivered on schedule within a given budget.
¹ Performance is not mentioned in the list, since it is already inside user experience. An application which responds fast enough provides a good user experience. An application which feels slow and unresponsive provides bad user experience. The choice of a language has small to no impact on the perceived performance. Any good interaction designer would tell that there are plenty of ways to enhance perceived performance without doing code profiling and optimization.
² Given that user experience counts much more than features, since there is no benefit from putting hundreds of features if no ordinary user can use or even find them. This also explains the actual trend to over-concentrate the efforts on user experience, while reducing the number of originally projected features.
³ Unless it's a web app or an application which provides an API which can be used from nearly any language.
All else being equal, the language used to write the program shouldn't affect the value or selling price.
The chances of all else being equal, however, are nearly nonexistent, so the question is almost completely theoretical, and the answer almost completely meaningless. In reality, language choice affects things like availability of libraries, documentation, tutorials, etc.
For example, consider just one small facet of development. A team writing a GUI in Java is much more likely to emphasize similar look and feel across platforms -- you can move from Windows to MacOS to Linux, and hardly notice the difference. A similar program written using C++ and Qt would show much greater differences in look/feel between one platform and another.
Now, it's certainly possible to use Qt from languages other than C++, so that particular point doesn't affect ever possible pair of languages you could compare. Nonetheless, the pair of languages you choose to compare will only affect what differences you see, not the fact that there will be differences.
I doubt that it makes any difference either way.
If the program is a self-contained application that is targeted at end users, then they won't care one way or the other what language it is coded in. It is not relevant to them ... provided the application does what it is supposed to do, reliably, quickly enough, etcetera. The price they are willing to pay depends on the application's utility and the market sector it is being sold into. The implementation language is not a consideration.
If the program is designed to be extended, tailored or embedded by the customer, then the programming language could be significant. The choice of language might affect the saleability and size of the target market, but I don't see why it would affect the price.
@MainMa mentions that selling to geeks is different. I agree that technologically aware people are more likely to care about the implementation technology than the average customer. However, I think that language choice more is likely to affect the geek's decision to buy or not buy rather than the amount of money they are prepared to pay.