1

In mythical man month author mention that we can increase productivity by selecting proper high level programming language. If we select c or C++ then design of GUI is problem the we may use QT framework for GUI. If we use C# .NET then it has disadvantages like software codt and user should aware that .NET framework installed on their PC. If we use Java then quality of GUI is questinable. So which language to prefer for product and which is most used language today?

2
  • 1
    This question is too broad (and I voted to close it). Take a look at the FAQ pm.stackexchange.com/faq#dontask and put some more specifics on it. As of now, a book could easily be written to answer you.
    – Tiago Cardoso
    Feb 24 '12 at 11:12
  • Project management is itself descriptive topic and some project managers may share their valuable experiences and refrences about particular language. Feb 24 '12 at 11:41
2

I think there is no correct answer to this question although I highly recommend you to read Technology Radar delivered from time to time by ThoughtWorks company. It also doesn't give you the exact answer but can show you the trends and thoughts about the direction of technology development. I also recommend to read some past reports from them.

One more thing - I believe that PM should have nothing to decide about this topic. It should be either team, or some architect/tech lead decision. PM can ask for adventages, and disadventages, possible problems, obstacles, maintenance, cost and stuff like that, but the decision should be made by the people who will be implementing the project - it's better when they code in something they know/like/want to learn.

0
1

I'm pretty sure that there's no good answer to this question. Usually, the customer needs determine the details of a project like the programming language. I recommend to talk to your customer - if you have any - and based on the response pick one. There are usual choices like Ruby on Rails for web apps, .NET for windows based requests, Java for general needs. If I were you I would learn more about the job and the team and find the language together with the and customer. Here are some points to consider:

  • is there any performance requirements?
  • what kind of language the team knows and willing to learn?
  • will you need support (e.g. in case of finding a DB companies like to pick those which have guaranteed support)?
  • what's the platform the application will be executed?
  • does the language have good test tool support?

That's all I have now, but you got the idea.

4
  • As explained on the comment above, maybe there's no good answer because the question itself is not objective enough...
    – Tiago Cardoso
    Feb 24 '12 at 11:59
  • I completely agree, but even if the question is off-topic, some suggestions can help the questioner.
    – Zsolt
    Feb 24 '12 at 12:04
  • I have to agree :).
    – Tiago Cardoso
    Feb 24 '12 at 12:33
  • I've found this blog entry which might be useful: bit.ly/yoVf3M
    – Zsolt
    Feb 29 '12 at 19:55
1

I think this is a super question. The type of questions that yields debate, argument, requires analysis and thought, and where there really is no right answer is where intelligence and learning begin.

I know nothing about languages. When I read the title, I thought it was going to be about a multicultural project and you were debating between english, spanish, french...:)

I do know about choice analysis and decision making techniques, however. It seems to me that this choice will have ongoing downstream impacts, both favorable and unfavorable. I suppose also that, once made and development starts, there is no going back without a ton of political/costly backlash. Therefore, a more formal approach seems justified to me.

I'd bring in a team of developers and business analysts and facilitate a choice analysis workshop. I'd develop with them a simple scoring method, using around five to no more than eight criteria that speak to benefits, penalty, costs, and risks. I'd facilitate a consensus on weighting and then conduct a scoring session using a broader audience and maybe with techniques like the Delphi Technique.

I'd tabulate the scores that each programming language earned and the let the results speak for themselves.

3
  • It is a good question, David, but I am not sure that it is one that fits the PM topic. Your response is well argued as always, but to me, the decision is one for technical specialists and designers rather than PMs to make. In my view, we can facilitate the decision-making process but it should not ultimately be relevant for us as to what language is selected. If we get involved in these decisions, then we may be doing the right thing for our employer / client / customers, but we are fulfilling a role that is wider than just project management.
    – Iain9688
    Feb 24 '12 at 22:46
  • I PM technical projects now and, since I cannot opine on the technical merits of one language over another due to my ignorance on the subject, I agree with you the argument and choice are left with those in the know. However, I do think how they arrived at their choice, in terms of the criteria they used, the efficacy, sustainability, etc., would be in my domain, i.e., show me how you got there. So my participation would be limited to the process and method of analysis, but I would definitely excuse myself from the technical conversation. Feb 25 '12 at 1:21
  • And thank you for the 'well argued' compliment, Iain! Feb 25 '12 at 1:22
1

I always thought that this question would be much more objective (and oddly enough, still broad) than the other answers presented (which proves I need more experience, hehe).

But basically, I believe that it depends on the following questions:

  • Is the client asking for a specific language? If so, then you got the answer.
  • Do you have a specific team already built to work on this project? If so, ask your peers, and you got the answer.
  • Is there any constraint for the development to be done? You can't build a web application using VBA. Take your project constraints and check which technologies fits to it.
  • Finally, you know the project and its constraints and neither your client is asking for a specific technology nor you have a team to offer you suggestions about what technology to use (a very very rare case, IMO).. then THIS link and THIS link could help you out. In the end, or this question or is too broad or has been asked on the wrong place.

Success!

0

Actually the choice of programming language can have a big effect on productivity if a domain specific language is available for the particular task at hand.

So for example suppose one is attempting to solve a statistical calculation (like cluster analysis) and has two teams of programmers available for the task to choose from. One team is highly proficient in R and the other is equally proficient in JavaScript.

Since "R is a free software environment for statistical computing and graphics.", it is highly probable that the team using R could solve this problem much faster than the JavaScript team.

Other domain specific applications that benefit from domain specific languages include specialized tasks such as programming FPGAs.

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