I agree that people should "pick the best language for the job", but choice of language is a staffing problem too. Can you find people that can program in this language throughout the life of the project? How long will the project last? How much will developers at the required skill level cost? Also, are your developers really talented or will they take a flexible language like Smalltalk and shoot themselves in the foot with it? The more flexible the language, the more talented your developers should be in order to prevent an unmanagable mess. That's one of the good things about Java actually. It's sufficiently flexible, but still has strong typing and established frameworks so that people can't go too crazy. Some developers really don't like having their hands even partially tied but project managers and software engineers really like having "ruts in the road" to follow. Just my opinion...
The right language for the project might be different depending on who is making the decision. The manager will most likely pick whichever is cheaper or whichever gets the job done the fastest. Or they may choose to do the new project in the same language they do all their other projects in. Even if the new project is nothing like all the other projects they do. The developer may choose whichever is the least painful to use. This could be the language they know best, or the language which is most suited to the type of project they are doing. If you ask everyone on the team which language to use, you'll probably get at least 5 different answers.
I agree that people should "pick the best language for the job", but choice of language is a staffing problem too.
ReplyDeleteCan you find people that can program in this language throughout the life of the project? How long will the project last? How much will developers at the required skill level cost?
Also, are your developers really talented or will they take a flexible language like Smalltalk and shoot themselves in the foot with it? The more flexible the language, the more talented your developers should be in order to prevent an unmanagable mess.
That's one of the good things about Java actually. It's sufficiently flexible, but still has strong typing and established frameworks so that people can't go too crazy. Some developers really don't like having their hands even partially tied but project managers and software engineers really like having "ruts in the road" to follow.
Just my opinion...
The right language for the project might be different depending on who is making the decision. The manager will most likely pick whichever is cheaper or whichever gets the job done the fastest. Or they may choose to do the new project in the same language they do all their other projects in. Even if the new project is nothing like all the other projects they do. The developer may choose whichever is the least painful to use. This could be the language they know best, or the language which is most suited to the type of project they are doing. If you ask everyone on the team which language to use, you'll probably get at least 5 different answers.
ReplyDelete