Para mi lo primero es decidir la plataforma. Será para windows el programa? Linux? Android? Ios? Multiplataforma? Navegador?...
Aplicación web o de escritorio?
Compilado o interpretado?
Que recursos básicos voy a necesitar? Interfaz gráfica, Conexion por internet, Base de datos...
Es para un proyecto como un hobbie, profesional, para el trabajo...
Necesito un control a muy bajo nivel?
Hay documentación y codigos fuente disponibles de proyectos parecidos o iguales?
Ya se ha creado este tipo de aplicaciones en algún lenguaje? En cuales?
Tengo fecha límite para desarrollar el proyecto?
Necesito que el programa utilice pocos recursos?
Necesito que el programa se ejecute en el menor tiempo posible?
...
Contestando este tipo de preguntas vas reduciendo la lista de posibles lenguajes. Con todos los que se ajusten a tus exigencias puedes ir investigando las características únicas, los pros y los contras.
Después puedes fijarte en que más te permite ese lenguaje. Solo me va a servir para este tipo de proyectos o voy a poder utilizarlo para casi todo?
Cuanto más sea usado un lenguaje por el resto de la comunidad más documentación abrá, más librerías, frameworks, ides, appis... Es otro factor que no se debe menospreciar.