
Récemment, on m'a demandé en quoi le développement en C # diffère du développement en C ++. En conséquence, l'idée est née pour expliquer la signification de divers termes informatiques en utilisant l'exemple du processus de culture des pommes de terre.
Imaginez que vous ayez besoin de planter des pommes de terre. Vous avez plusieurs façons de résoudre ce problème.
Vous pouvez trouver une personne avec un tracteur qui viendra planter des pommes de terre pour vous, ainsi qu'une personne qui s'assurera qu'une personne avec un tracteur a planté correctement les pommes de terre. Ils viendront avec leurs pommes de terre.
C'est l'externalisation.
Vous pouvez trouver la personne qui plantera vos pommes de terre sur votre tracteur.
C'est insuffisant.
Vous pouvez trouver une personne qui viendra prendre des mesures du jardin, proposer plusieurs modèles de tracteurs et le mode de fonctionnement optimal de l'opérateur du tracteur. Dans ce cas, personne ne plantera de pommes de terre, mais vous saurez exactement comment procéder.
Il s'agit de R&D ou de travaux de recherche.
Vous pouvez appeler votre voisin Kolya pour planter des pommes de terre pour une bouteille de vodka et 2 paquets de cigarettes.
C'est indépendant.
Vous pouvez appeler tous vos proches, voisins, amis et planter des pommes de terre ensemble.
C'est du crowdsourcing.
Vous pouvez vous promener entre amis, voisins, parents et dire que vous savez comment planter des pommes de terre, mais pour cela, vous avez besoin de ressources financières. Vous promettez que dès que vous récupérez les pommes de terre, vous êtes sûr de nourrir d'abord tous ceux qui ont aidé.
C'est du crowdfunding.
Vous pouvez prendre une charrue, plusieurs seaux, des pommes de terre, le livre "Planter des pommes de terre en 21 jours" et planter les pommes de terre vous-même. Mais, si vous devez planter une autre variété de pommes de terre, vous devrez à nouveau creuser le jardin. Risque: un voisin peut visiter la nuit et déterrer vos pommes de terre enterrées.
Il s'agit d'un développement sur Wordpress.
Vous pouvez prendre une pelle et planter des pommes de terre dans un jardin où il y a déjà de l'engrais, des trous creusés et des flèches, dans quel ordre planter les pommes de terre.
Il s'agit d'un développement en .NET / C #.
Vous faites d'abord une pelle à partir de zéro, puis des seaux, étudiez la composition du sol, puis comptez manuellement la quantité de pommes de terre. Ensuite, vous devez creuser autant de trous que vous avez de pommes de terre. Ensuite, vous devez toujours remplir toutes les fosses de pommes de terre. Ne sautez pas les stands, vous serez choqué.
Il s'agit du développement C ++.
Vous pouvez venir voir le président de la ferme collective et lui dire que vous savez le mieux planter des pommes de terre, mais cette année vous ne les planterez pas, mais à 100% vous le ferez l'année prochaine. Et ce sera vraiment cool, et la récolte sera 10 fois plus importante que la récolte d'un voisin. Par conséquent, vous avez maintenant besoin d'argent, de pelles, d'un tracteur, d'un chauffeur de tracteur (de préférence deux), de cinq pelleteuses et d'une secrétaire.
Il s'agit d'un pitch de startup devant un investisseur.
Votre arrière-grand-père a planté des pommes de terre, votre grand-père a planté des pommes de terre, votre père a planté des pommes de terre. Et vous aussi, continuez à planter des pommes de terre.
Il s'agit du support produit.
Creuser des pommes de terre, de temps en temps vous déterrez celle que votre père et votre grand-père ont plantée.
Il s'agit d'un code hérité.
À 8 heures du matin, vous et votre ami, père et voisin allez au jardin pour discuter des progrès de la plantation de pommes de terre. Vous dites à toutes les personnes présentes que vous avez planté des pommes de terre hier, aujourd'hui vous planterez aussi des pommes de terre et vous n'avez aucun problème qui vous empêche de planter des pommes de terre, à l'exception des moustiques qui vous piquent constamment. Mais cela n'affectera pas la qualité et la vitesse de plantation des pommes de terre et la récolte future. Après cela, tout le monde prend des pelles et continue de planter des pommes de terre.
C'est un rallye de mêlée.
Vous avez planté des pommes de terre. Au bout d'un moment, elle a commencé à germer. Et dans vos pommes de terre, des coléoptères du Colorado ont commencé à apparaître. Vous commencez à les empoisonner, à les collecter manuellement, à les écraser et à mettre le feu. Vous parvenez à détruire la plupart d'entre eux, mais après un certain temps, ils réapparaissent à certains endroits.
Ce sont le débogage de code et la correction de bogues.
Vous avez planté des pommes de terre. Votre père est venu au jardin et a dit que les pommes de terre étaient de travers et que vous avez oublié de laisser une place aux betteraves. Par conséquent, vous devez transplanter une partie de la pomme de terre. Deux jours plus tard, lorsque vous avez terminé le travail, votre grand-père vient et dit que la profondeur à laquelle vous avez enterré les pommes de terre n'est pas suffisante, et donc vous devez déplacer les pommes de terre entières 5 cm plus bas. Et il va boire de la bière avec son voisin Kolya et ton père.
Il s'agit du chef d'équipe (Team Lead), du chef de projet (Project Manager) et du refactoring (refactoring).
Vous voulez gagner de l'argent. Vous allez chez le voisin Kolya et dites que vous voulez l'aider à planter des pommes de terre. Un voisin vous demande de montrer la plus grosse pomme de terre que vous avez récoltée l'année dernière, ainsi que les noms des autres voisins à qui vous avez planté des pommes de terre par le passé. Un voisin vous demande également pourquoi vous êtes venu planter des pommes de terre spécialement pour lui, à quoi vous devez répondre que vous avez rêvé de planter des pommes de terre toute votre vie uniquement dans son jardin. Ensuite, il vous sera demandé d'expliquer la différence entre un râteau et une cisaille de jardin, de parler du meilleur râteau avec lequel vous avez dû travailler, et également d'expliquer en détail le processus de préparation du foin et de nettoyage du puits. Et seulement après que la mère du voisin aura confirmé qu'elle "connaît cette petite chose", ils vous donneront la pelle la plus stupide et vous commencerez à planter des pommes de terre.
Ceci est un entretien avec une entreprise de services.
Vous venez chez le voisin Kolya et ramassez des pommes de terre dans sa cave pour les planter dans votre jardin. Vous promettez que lorsque votre pomme de terre grandira, vous retournerez une partie ou l'aiderez à la planter l'année prochaine. Bien sûr, vous ne faites rien, et après un an, vous retournez chez votre voisin pour lui obtenir des pommes de terre.
Il s'agit d'un logiciel open source.
Votre village a un grand champ où les gens du voisinage jettent leurs pommes de terre et parfois d'autres légumes. Quelqu'un jette des pommes de terre pourries, et quelqu'un - bien. Par conséquent, vous décidez de ne pas planter vos pommes de terre, mais plutôt de visiter périodiquement le champ pour y ramasser des pommes de terre.
Il s'agit de StackOverflow.com.
Toute ta famille plante des pommes de terre dans le village. À ce moment-là, vous vous promenez sur le marché et dites à tout le monde que vous avez des parents qui peuvent planter rapidement et efficacement des pommes de terre qu'ils peuvent vendre à prix élevé sur le même marché.
Il s'agit d'un directeur des ventes vendant son équipe offshore.
Vous voulez juste planter des pommes de terre en privé. Mais des centaines d'étrangers se sont rassemblés dans le jardin. Ils ne vous aident pas à planter des pommes de terre, mais surveillent attentivement le processus. Après avoir creusé les pommes de terre dans le trou, tout le monde commence rapidement à écrire le nombre de trous, de rangées et combien de pommes de terre restent dans le monde dans un cahier. Ensuite, ils échangent leurs cahiers et courent chez votre voisin, qui plante également des pommes de terre. Aucun des observateurs ne vous croit que vous venez de planter des pommes de terre jusqu'à ce que vous réécriviez toutes les informations des autres cahiers.
Ceci est une blockchain.
Vous imprimez 1 000 photos de pommes de terre sur une imprimante. Vous vendez chaque photo à votre voisin pour 1 dollar, en disant que planter de vraies pommes de terre est le siècle dernier et très bientôt personne n'aura besoin de cette vraie pomme de terre, et tout le monde aura des photos de la pomme de terre. Et comme il sera impossible d'imprimer de nouvelles photographies à l'avenir, ces photographies augmenteront de prix. Puisque tout le monde a de vraies pommes de terre et que personne n'a de photos, les voisins sont heureux d'acheter des photos. Mais pour le dîner, ils font toujours cuire de vraies pommes de terre. A cette époque, dans un village voisin, d'autres personnes vendent d'autres photos de pommes de terre et disent que seules ces photos auront une valeur dans 10 ans.
C'est du bitcoin.
Vous disposez de 10 ha de pommes de terre. Vous commencez à le creuser. Mais vous n'êtes pas intéressé par la pomme de terre entière, mais seule la pomme de terre est de forme carrée, de couleur verte et similaire à Mickey Mouse. Après avoir déterré toutes les pommes de terre, ramassez les dix pommes de terre trouvées qui répondent à vos critères et rentrez chez vous.
Il s'agit de l'exploration de données ou de la recherche de connaissances dans de grands ensembles de données.
Vous vivez dans un village où personne n'a planté de pommes de terre depuis 20 ans. Mais vous êtes sûr que quelque part c'est. Par conséquent, vous prenez une pelle et commencez à tout creuser - jardins, sentiers, champs, plantations et même lacs. Après un certain temps de dur labeur, vous avez de la chance et vous déterrez vraiment des pommes de terre. Après un certain temps, tout le village commence à chercher des pommes de terre, tout creuser de suite.
Il s'agit de l'extraction de crypto-monnaie.
Une pomme de terre peut en dire beaucoup sur qui l'a élevée. Par exemple, un propriétaire consciencieux l'a-t-il cultivé, puis a-t-il fertilisé la terre, quels outils a-t-il utilisé, l'a-t-il cultivé lui-même, ou peut-être l'a-t-il simplement volé à un voisin, et si sa femme était également belle.
Derrière le village, il y a un endroit où tous les résidents doivent envoyer des échantillons de leurs pommes de terre afin que chacun puisse apprécier leur travail.
Mais au fil du temps, cet endroit s'est transformé en décharge. Quelqu'un a refusé de porter des pommes de terre, quelqu'un a apporté des pommes de terre pourries, et quelqu'un a commencé à dire qu'il avait des pommes de terre, mais il ne le montrait pas. Certaines personnes ont mis en place un gardien et ont commencé à prendre de l'argent à quiconque veut regarder les pommes de terre.
Au fil du temps, pour trouver la pomme de terre d'une personne en particulier, vous devez trier les montagnes d'ordures.
Ce sont des données ouvertes.
Vous avez déterré beaucoup de pommes de terre. Le président de la ferme collective est venu vers vous et a publié un document qui indique le nombre de pommes de terre que vous avez récoltées. Mais pour lire ce document, il faut retourner voir le président de la ferme collective, car il est le seul du village à pouvoir lire. D'autres voisins peuvent voir le document, mais personne ne comprend ce qui y est écrit.
C'est du hachage (hachage, fonction de hachage).
Vous avez des instructions sur la façon de planter des pommes de terre. Il décrit comment creuser des trous, à quelle profondeur ils devraient être, de quel côté vous devez mettre les pommes de terre dans le trou.
Vous commencez à planter des pommes de terre. Après chaque pomme de terre enterrée, votre père vérifie si toutes les instructions sont suivies correctement. Et si au moins une instruction est violée, vous devez déterrer les pommes de terre, remplir le trou et recommencer le processus.
Il s'agit d'un développement piloté par les tests ou TDD.
Vos voisins creusent des pommes de terre. Quelqu'un a déjà apporté les pommes de terre creusées dans la cave, et quelqu'un a déterré, mais n'a pas encore ramassé, et il se trouve toujours dans le jardin. Et quelqu'un d'autre n'a même pas commencé le processus, et leurs pommes de terre sont toujours en terre.
Votre tâche consiste à collecter une copie exacte de toutes les pommes de terre dans votre cave, même celles qui n'ont pas encore été creusées. De plus, il est important que vous signiez chaque pomme de terre - qui l'a cultivée, dans quel jardin particulier elle a été récoltée et de quel type.
De plus, vous devez le faire de telle manière qu'aucun des voisins ne découvre que vous avez fait une copie exacte de leurs pommes de terre et que vous l'avez stockée dans votre cave.
Il s'agit du scraping (data scraping) ou de l'analyse des données (data parsing).
Vous venez au jardin, et des pommes de terre y sont plantées. La taille optimale de la pomme de terre, la profondeur de la fosse et la vitesse de plantation sont calculées en temps réel sur la base d'indicateurs tels que la vitesse du vent, l'humidité, la température, le coût des pommes de terre sur le marché mondial et les stocks de Kartoshka Inc. à la Bourse de New York.
Il s'agit de l'intelligence artificielle.
Vous devez planter des pommes de terre, mais personne dans votre famille ne sait comment le faire. Alors, allez chez un voisin et regardez-le planter des pommes de terre. Après un moment, tout le monde plante des pommes de terre comme votre voisin.
C'est l'apprentissage automatique.
PS
Vous avez déterré des pommes de terre et les avez mises dans la cave - chaque variété séparément. Si par erreur votre pomme de terre arrive sur la mauvaise étagère, votre grand-père viendra en courant et commencera à vous battre avec un bâton.
Il s'agit d'une base de données relationnelle.
Une fois que vous aviez le droit de ne pas trier les pommes de terre, mais simplement de les jeter dans la cave.
Il s'agit d'une base de données NoSql.
Vous ne jetez pas de pommes de terre dans la cave, mais dans le grenier, où elles les poussent sur les étagères, une partie est ramenée à la cave et une partie à la cave de vos voisins.
Il s'agit d'un stockage de données cloud.
Avez-vous des pommes de terre? Mais au lieu de le planter, vous faites quelque chose de similaire à vos pommes de terre à partir de divers moyens improvisés. Vous ne pouvez pas le manger, mais la similitude est évidente.
Ceci est une imprimante 3D.
Dans le processus de plantation de pommes de terre, vous enregistrez les coordonnées GPS du village, de votre champ et, enfin, d'un trou spécifique, obtenant ainsi un identifiant unique grâce auquel vous pouvez facilement calculer où une pomme de terre particulière est enterrée.
Ceci est l'adresse IP.