Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to have some professional opinion about the programming language used for a project in a company. Let's explain me...

In my company, the first argument to choose Java as the main language is its name and its popularity from the perspective of the customer. It appears that if you propose to develop the client's software in Python/Ruby/..., he is less convinced.

I would like to know if you are experiencing this kind of situation and what you think about that ?


migration rejected from stackoverflow.com Nov 27 '14 at 17:42

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as too broad by gnat, Bart van Ingen Schenau, Dan Pichelman, MichaelT, amon Nov 27 '14 at 17:42

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.

Is your question therefore 'Should I go with what the customer thinks they want, or what I/we think would do best?' –  The Communist Duck Mar 27 '11 at 9:52
I think both views are interesting –  Sandro Munda Mar 27 '11 at 9:54
Customer is King! –  Aditya P Mar 27 '11 at 12:50
@AdityaGameProgrammer I don't think... the goal of a analyst/developer is to correctly explain the best solution of the customer's needs. –  Sandro Munda Mar 27 '11 at 12:52
Are we talking about a software that is delivered to a single client, a software that is sold to a number of clients or a software that run on your company's servers ? –  Matthieu M. Mar 27 '11 at 18:20

4 Answers 4

I have had customers demand VB.NET over C# because "C# developers are more expensive." I don't care whether my guys type semi colons at the end of the line or not and I don't adjust their pay based on it.

You know that guy who says "I've been rich and I've been poor, and rich is better"? Well I've had customers who tell me what language to write their code in, and customers who don't, and with the exception of writing demos and sample apps (a line of work that has tremendous benefits), not telling me how to do my job is better. Some of my best customers remain focused on their business problem and trust me to solve it. They don't know the difference between Java and PL/1, never mind Java and Python, and they don't care either. They have stuff to ship of their own.

If you don't have the option of not having these people as a customer, don't try too hard to get them to change their tech. They have their reasons and they might even be valid (knowledge of the maintenance team, knowledge of the IT team who is going to run backups or configure servers or open ports, license costs, security risks, availability of alternate vendors.) About the only thing that does work is "I can't do it in the tech you're asking for (at any price) but in the tech I like I can give you more than you're asking for, for about half your budgeted amount." I've done that once and succeeded.

+1 Exactly. Should a person who wants to have a house built tell the carpenter what tools to use? "I'm sorry Mr. Carpenter, but I do not like hammers..." –  Walter Mar 27 '11 at 13:29
@Walter it's not unreasonable to use screws everywhere. It is a superior technology, you know. ;) –  Erik B Mar 27 '11 at 13:46
@Erik - some how I knew someone here would be a smart-a** and say that exact thing. :) –  Walter Mar 27 '11 at 13:50
To which you should reply "competent VB.NET developers are more expensive, because few self-respecting experts are willing to touch VB.NET" Quoting the price for delivering VB.NET source code at 3x the price for C# source code may help drive that point home. –  Ben Voigt Mar 27 '11 at 19:06
There is a line here though. If you are commissioned to build make a Windows desktop app and you chose Clojure they would have a valid concern in regards to maintenance and future development challenges (i.e., easily finding competent programmers to maintain it) –  Ed S. Mar 28 '11 at 0:59

choose the right tool for the job

if the tool doesn't matter, consider client preferences vs development and maintenance costs and explain the trade-offs clearly; let it be a business decision

if the tool does matter, insist on using the right tool

Note: if the client does not trust you to choose the right tool, they don't trust you at all. Find better clients.


I experienced this situation more than once in my career life. Once we had a very successful native application and we wanted to sell it to a customer and they demanded .Net because they have been told that it's the future. Other situations were very similar.Some customers ask for some kind of technology because they are influenced by marketing and ads.


I agree you should apply your expertise to best inform the customer, but at some point you're just going over their head with technical information without really justifying one language over the other (in many cases). Why spend the extra effor to convince them to go with something outside of their comfort zone? They may want some sort of security if they feel they can either hire another Java developer or use inhouse expertise should your company decide not to continue their project.

You've made a good choice in finding out if this is common. Your collegues seem to be making guesses without providing any data. I don't know what industry you are in, but you may want to look at competitors who write custom software or off the shelf application and see what language they use. Be careful, you may find some Microsoft shops out there ;)


Not the answer you're looking for? Browse other questions tagged or ask your own question.