693 votes

Qu'est-ce que le bootstrapping ?

Je ne cesse de voir le terme "bootstrapping" mentionné dans les discussions sur le développement d'applications. Cela semble à la fois répandu et important, mais je n'ai pas encore trouvé la moindre explication de ce qu'est réellement l'amorçage ; il semble plutôt que tout le monde soit censé savoir ce que cela signifie. Mais ce n'est pas le cas. D'après ce que j'ai compris, cela a quelque chose à voir avec les tâches d'initialisation requises d'une application au moment de son lancement, mais je peux me tromper complètement à ce sujet. Quelqu'un peut-il m'aider à comprendre cette idée ?

9 votes

Selon Wikipédia, il existe quatre utilisations du mot "bootstrapping" dans le domaine de l'informatique. fr.wikipedia.org/wiki/Bootstrapping#Computing

1 votes

Je viens de mettre à jour le post de HeDinges avec ceci. Je cherchais une clarification sur la forme de bootstrapping qu'Alex envisageait.

0 votes

Dans le domaine du développement logiciel, il s'agit du développement d'environnements de programmation de plus en plus complexes et rapides.

350voto

kdgregory Points 21849

Le terme "Bootstrapping" vient de l'expression "se relever par ses propres moyens". Vous pouvez en déduire que Wikipedia .

En informatique, un chargeur d'amorçage est le premier élément de code qui s'exécute au démarrage d'une machine et qui est responsable du chargement du reste du système d'exploitation. Dans les ordinateurs modernes, il est stocké dans la ROM, mais je me souviens du processus d'amorçage sur le PDP-11, où vous deviez manipuler des bits via les commutateurs du panneau avant pour charger un segment de disque particulier en mémoire, puis l'exécuter. Inutile de dire que le chargeur de bootstrap est normalement assez petit.

"Bootstrapping" est également utilisé comme un terme pour construire un système en utilisant lui-même -- ou plus correctement, une version précédente. Par exemple, ANTLR La version 3 est écrite en utilisant un analyseur syntaxique développé dans ANTLR version 2.

18 votes

Corrigez-moi si je me trompe. Bien que cette réponse explique les détails techniques de ce que peut être le bootstrapping, elle n'a jamais répondu à la question initiale dans le contexte de la question.

5 votes

@jayscript - Comment choisirais-tu de répondre à cette question ? Il s'agit d'une expression idiomatique, et les expressions idiomatiques sont généralement bien comprises par le groupe social qui les utilise, et incompréhensibles en dehors de celui-ci. J'ai essayé de répondre par l'exemple, ce qui, à mon avis, est l'une des rares façons de tenter de traduire une expression idiomatique.

2 votes

Personnellement, je considère cette question - et les votes positifs constants que je reçois pour la réponse - comme symptomatique d'un problème plus important dans le domaine de la programmation informatique : la croyance qu'il doit y avoir une raison rationnelle derrière chaque terme, chaque fonctionnalité du langage, chaque décision de conception. Le monde réel est beaucoup plus désordonné que cela.

293voto

ryeguy Points 24980

Un exemple de bootstrapping se trouve dans certains frameworks web. Vous appelez index.php (le bootstrapper), puis il charge les aides, les modèles et la configuration du framework, avant de charger le contrôleur et de lui transmettre le contrôle.

Comme vous pouvez le voir, il s'agit d'un simple fichier qui lance un vaste processus.

57 votes

En termes de développement web (qui était le contexte de la question initiale), je pense que c'est la meilleure réponse.

0 votes

Il semble assez proche de Laravel, mais Laravel n'existait pas encore en 2009.

0 votes

@Wajdan Ali Non, cela ne devrait pas être la réponse acceptée. Il s'agit d'une vue microscopique d'une nouvelle utilisation du terme bootstrapping, dont certains diront qu'il s'agit en fait d'une mauvaise utilisation d'un terme beaucoup plus ancien. "To bootstrap" fait référence au fait de se tirer par les bretelles, c'est-à-dire d'utiliser la puissance de quelque chose pour faire levier. C'est l'origine de l'expression "démarrer son ordinateur". L'usage populaire actuel dans le développement web n'est pas le seul (ou l'original) usage du mot. De nombreuses autres réponses traitent de ce sujet de manière appropriée.

53voto

HeDinges Points 1863

Voir l'article de Wikipedia sur bootstrapping .

Il y a une section et des liens expliquant ce que cela signifie dans Informatique . Il a quatre utilisations différentes sur le terrain.

Voici quelques citations, mais pour une explication plus approfondie, et des significations alternatives, consultez les liens ci-dessus.

"...est une technique par laquelle un simple programme informatique active un système plus compliqué de programmes."

"Une utilisation différente du terme bootstrapping consiste à utiliser un compilateur pour se compiler lui-même, en écrivant d'abord une petite partie d'un compilateur d'un nouveau langage de programmation dans un langage existant pour compiler davantage de programmes du nouveau compilateur écrits dans le nouveau langage."

6 votes

Pourriez-vous citer ou paraphraser afin que les lecteurs n'aient pas à parcourir plusieurs sites web pour obtenir leur réponse ?

5 votes

"L'industrie du logiciel, l'unique activité consistant à vendre légalement des produits de qualité inférieure et à faire payer leurs mises à niveau."

0 votes

Je cherchais une réponse Bootstrapping dans le compilateur . Cela a été utile.

29voto

Michael Borgwardt Points 181658

Dans le contexte du développement d'applications, le terme "amorçage" est généralement utilisé pour parler de logiciels modulaires et/ou auto-adaptables.

Au lieu de télécharger toute l'application, y compris les fonctions dont il n'a pas besoin, puis de la retélécharger et de la mettre à jour manuellement à chaque fois qu'une mise à jour est disponible, l'utilisateur ne télécharge et ne lance qu'un petit exécutable "bootstrap", qui télécharge et installe à son tour les parties de l'application dont il a besoin. En outre, le composant d'amorçage est capable de rechercher les mises à jour et de les installer à chaque fois qu'il est lancé.

4 votes

Je n'ai jamais entendu le terme "bootstrapping" utilisé dans ce contexte particulier.

0 votes

Couramment utilisé dans le cadre d'applications php (par exemple, en utilisant Composer pour y parvenir).

15voto

Dirk Eddelbuettel Points 134700

Pour être complet, il s'agit également d'une méthode assez importante (et relativement nouvelle) en statistique qui utilise le rééchantillonnage / la simulation pour déduire les propriétés de la population à partir d'un échantillon. Cette méthode a sa propre Article Wikipedia sur le bootstrapping (statistiques) .

1 votes

Relativement nouveau ? Cela faisait partie de ma formation en statistiques il y a au moins 15 ans.

7 votes

C'est pourquoi j'ai dit "relativement" : Les premiers articles d'Efron datent du début des années 1980, alors que les premiers articles sur la robustesse datent des années 1960.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X