web-dev-qa-db-fra.com

Tous les problèmes de programmation sont-ils des problèmes d'algorithme?

J'aime comment "introduction aux algorithmes" de Cormen et al. transmet la connaissance. Une des raisons est que tout ce qui concerne les problèmes de programmation et le livre n'est mis en œuvre dans aucun langage de programmation particulier. Cette indépendance linguistique met l'accent sur les idées en général.

Donc, ma question est, comme cela indique dans le titre. Chaque problème de programmation solvable est-il sensiblement résolu en pensant à cette mode algorithmique. Peu importe la langue, le champ, etc.? Si oui, donnez des arguments, sinon, donnez des arguments!

Je n'ai pas implémenté de nombreux programmes complexes avec interface graphique, AI, graphismes, etc., mais ces types de problèmes sont-ils également une question de penser de bons algorithmes?

13
Wittgenstein

Je suppose que vous pourriez dire que tous les programmes informatiques sont des algorithmes, car vous prescrivez une séquence d'instructions pour obtenir un résultat souhaité. Cependant, certains des problèmes les plus difficiles problèmes ne sont pas dans la communication d'un programme à un ordinateur, ils communiquent un programme destiné aux humains qui testeront et modifieront le logiciel.

En d'autres termes, les ordinateurs ne se soucient pas si votre code est complètement incompréhensible aux humains. Ils vont courir juste bien de toute façon. Le défi consiste à faire suffisamment de code que tout bogue se démarquera comme un pouce douloureux.

Fait intéressant, les choses techniques que j'ai apprises au collège sur les algorithmes ont longtemps été éclipsées par ce que j'ai appris seul depuis. À ce stade, si je voulais obtenir un 3ème diplôme universitaire pour m'aider dans mon travail, ce serait en composition anglaise.

5
Karl Bielefeldt

La plupart des problèmes de programmation sont en réalité des problèmes d'administration du système.

C'est un peu une réponse flippante, mais j'ai trouvé que cela est vrai plus souvent que possible. Je ne sais pas combien de fois j'ai rencontré des échecs, car DNS a été mal configuré sur la machine à tester, un processus obsolète est toujours en cours d'exécution de la CPU/Memory/Memorging/Ports, le programme s'exécute avec le mauvais ID utilisateur et a donc le mal Autorisations, le disque a été non partitionné de manière incorrecte et ainsi l'espace a échoué, la mauvaise version du fichier de configuration a été installée, etc.

Obtenir le droit d'algorithmes n'est généralement qu'une petite partie du problème. Le reste du problème consiste à mettre le programme au travail de résoudre de vrais problèmes dans le monde réel.

2
Stuart Marks