Je fais mon projet de thèse sur les problèmes NP-Hard : Je vais implémenter divers algorithmes pour des problèmes tels que la partition, la somme de sous-ensembles, le sac à dos, etc. et ensuite comparer les résultats, le temps d'exécution, etc. Je vais également voir ce qui se passe avec les algorithmes lorsque vous modifiez le problème (comment l'algorithme se comporte-t-il sur le problème réduit, etc).
J'ai choisi ce sujet comme projet parce que je m'intéresse à l'informatique théorique, mais je ne sais pas si je veux continuer en tant qu'universitaire/chercheur ou rejoindre une entreprise/startup et ce projet a à la fois un côté théorique et un côté pratique (codage réel).
Ma question est la suivante : quel langage de programmation dois-je utiliser ? Devrais-je m'en tenir à ce qui me semble le plus familier (Java et peut-être Python), ou devrais-je opter pour les langages web (HTML, CSS, PHP, RoR, etc.), sachant que les compétences en développement web sont très demandées de nos jours ?
EDIT : HTML et CSS seraient évidemment utilisés uniquement pour l'interface utilisateur.
Je veux que mon projet soit quelque chose qui impressionne lors d'un entretien (pour un emploi ou un cours de maîtrise) et je ne suis pas sûr qu'un "énième projet en Java" puisse y parvenir. Je comprends que tant que le travail est bon et que le résultat est satisfaisant, ça devrait aller, mais si, par exemple, l'utilisation de Ruby peut me faire gagner des points, je suis tout à fait d'accord. En même temps, je comprends que le choix du langage à utiliser fait partie du projet et je ne veux pas compliquer les choses juste pour essayer d'avoir l'air cool.
Merci d'avance !
EDIT : Au cas où cela changerait les réponses, il s'agit d'un projet de thèse de premier cycle, et non d'un doctorat.