Comment expliquer aux non-programmeurs que la programmation n'est pas une tâche répétitive? [fermé]

11

Certaines personnes pensent que la programmation consiste simplement à taper répétitivement sur un clavier. Rien de tout cela n'est vrai. Tout d'abord, il y a tellement plus à faire que de taper réellement le code, comme l'architecture de conception, etc. Deuxièmement, il pourrait s'agir d'une tâche non répétitive très variable, avec de nouveaux défis à venir tout le temps.

Comment expliquer que la programmation n'est pas une tâche répétitive pour les non-programmeurs ?

Anto
la source
5
Demandez: leur travail est-il une tâche répétitive? Si c'est le cas, eh bien, ça craint pour eux, ils ne connaissent probablement pas les joies d'un métier créatif et varié. Si ce n'est pas le cas, dites que c'est exactement la même chose.
Mark Canlas
4
@Mark Canlas: Bon point. Quels emplois occupent ces personnes (en vue de la programmation comme une frappe répétitive)? Il y a de fortes chances que vous puissiez signaler une répétition superficielle dans leurs tâches quotidiennes et réduire leur travail à «quelque chose ou autre répétitif», puis leur demander d'expliquer en quoi ce n'est pas le cas .
FrustratedWithFormsDesigner
14
Si c'est répétitif, vous le faites mal.
1
Cette déclaration était destinée en général. De nombreuses tâches sont mal effectuées lorsque vous faites la même chose encore et encore. Coller des pièces de voiture ensemble? Concevez un robot pour le faire (en supposant que vous pouvez, bien sûr - sinon, désolé, vous allez perdre votre travail). Coller simplement les pièces du robot? Construisez un robot pour construire les robots;) C'est essentiellement de la programmation . Ajoutez plus de couches pour une non-répétitivité infinie.
2
Disons que le football est un sport répétitif (tout le monde continue de faire la même chose, de frapper le ballon)
apoorv020

Réponses:

31

Donnez-leur des exemples auxquels ils peuvent se rapporter.

Le tennis est répétitif. Vous continuez à frapper la balle tout le temps de l'autre côté du filet.

Le football est répétitif. Vous continuez à frapper le ballon à chaque fois jusqu'à ce que vous trouviez un poteau de but.

Jouer du piano est répétitif. Vous continuez à bouger vos doigts sur la planche.

Merde, tous tellement ennuyeux !!!

gofeddy
la source
3
Le tennis, le soccer et le piano sont ennuyeux, contrairement à la programmation. Dans toutes ces activités, on est confronté à plusieurs reprises à la même situation et doit faire la même chose. En programmation, cependant, comme d'autres réponses l'ont souligné, si vous vous retrouvez dans la même situation deux fois, vous vous trompez.
Avi
1
@Avi dans la même veine, la programmation est ennuyeuse, contrairement au tennis ou au piano, c'est donc vraiment un argument théorique.
Maurycy
18

Vous pouvez toujours dire que la programmation est une frappe répétitive exactement dans la même mesure que l'écriture de prose est une frappe répétitive. Écrira-t-on un grand roman (ou même médiocre) en s'asseyant et en assemblant soigneusement les lettres?

acéré
la source
18

Eh bien, c'est en quelque sorte. Vous tapez à plusieurs reprises les mêmes lettres (AZ, az, 0-9) encore et encore. Juste dans différentes combinaisons.

J'essaie généralement d'éviter de telles discussions avec de telles personnes.

Tour
la source
1
@Rook - Bon conseil.
John Shaft
4
+1. Me fait penser à une belle comparaison entre les livres et l'alphabet . (Se traduit librement par: l'alphabet est une collection de lettres, qui surpasse la structure et le contenu des livres. Alors que dans les livres, les lettres sont toutes mélangées, celles de l'alphabet sont successivement écrites dans l'ordre croissant. )
back2dos
1
J'espère que vous n'éviterez pas toutes les personnes qui s'intéressent à vous.
3
@Rook: Avoir quelqu'un qui pose des questions sur le monde de la programmation est une bénédiction. Ne les évitez pas. Cause avec eux. Autant que vous le pouvez.
4
J'essaie de mélanger les choses en utilisant la ponctuation. AZ n'est pas assez intéressant pour moi.
MJB
13

La programmation est à peu près comme la composition musicale . Ce qui est loin d'être un processus répétitif.

  • Vous commencez à penser à la vue d'ensemble de ce que vous devez réaliser
  • Vous pensez à un petit morceau de votre composition et vous l'écrivez
  • Une fois terminé, vous le jouez (F5 dans Visual Studio)
  • Vous répétez le processus, au besoin
  • Parfois, vous empruntez des idées ou vous vous inspirez d'autres compositeurs
  • Parfois, vous refactorisez votre chanson en déplaçant ou en retravaillant des parties

Parfois, vous ne savez pas ce que vous voulez et vous jouez. Probablement la meilleure façon d'obtenir les compositions les plus intéressantes ...


la source
1
Haha ... +1 pour le jouer (F5 dans Visual Studio). Maintenant, si je pouvais seulement ajouter une touche F5 à ma guitare ...
JasCav
3
-1 pour Visual Studio;)
Jordan
Pierre, bien que n'étant pas en désaccord avec votre réponse globale au PO, je suis en désaccord avec le fait que la composition musicale est similaire à la programmation. La composition est plus difficile - je pense que je l'ai assez bien mise dans ce post: linkedin.com/…
azheglov
1
@azheglov: plus difficile sur quoi? Tout le monde peut composer. Maintenant, très peu seront sur MTV comme très peu d'entre nous seront interviewés par CNN
Même si, par exemple, composer de la musique est "plus difficile", les problèmes de l'échelle CS compensent: chaque ligne de code peut être plus facile à écrire qu'une seule note, nous avons donc des projets avec littéralement des millions (sinon plus) de lignes de code. Ainsi, même si chaque action atomique est plus simple, les meilleurs programmeurs devraient simplement résoudre des problèmes plus difficiles.
Tikhon Jelvis
4

J'explique généralement que la programmation est une solution créative aux problèmes. Vous avez un problème - vous voulez une fonctionnalité dans un produit (et je choisis généralement un produit bien connu, Amazon.com, MS Word, etc.), et ce n'est pas là. Cela n'a jamais été fait auparavant, et vous êtes le premier, c'est donc comme n'importe quel projet artistique - vous avez une vision, mais vous devez trouver un chemin.

Je me concentre également sur le fait qu'il y a plus d'une façon de résoudre le problème, un tas de très mauvaises façons, et probablement plus d'une bonne façon. À long terme, il pourrait y avoir un meilleur moyen, mais ce meilleur moyen ne sera pas évident pendant longtemps (extensibilité, réutilisation, etc.), donc au moment du développement, il y a beaucoup d'appels de jugement importants.

Enfin, le produit final peut être aimé ou détesté par le destinataire. Tout comme certaines personnes aiment Picasso et d'autres ne peuvent pas faire des têtes ou des queues d'art moderne - certaines personnes peuvent aimer une fonctionnalité, et certaines peuvent la détester. Vous faites du mieux que vous pouvez pour la plupart des gens et pensez que vous ne pouvez pas plaire à tout le monde.

En se concentrant sur:

  • territoire inconnu
  • personne ne répond
  • sujet à interprétation

Montre que ce travail ressemble beaucoup plus à de l'art et beaucoup moins à un travail ennuyeux répétitif.

J'en parle assez souvent avec des artistes (et ils semblent avoir une croyance instinctive que le travail sur ordinateur est peu créatif. Habituellement, je peux aussi le relier à la forme d'art préférée de l'artiste. À un certain niveau, la plupart des artistes sont aussi des techniciens - peinture , danser, faire de la musique et probablement tout autre art - tous impliquent une série d'activités répétitives qui vous amènent au point d'exécution de quelque chose de nouveau, de différent et de créatif. En d'autres termes, les artistes ont généralement du mal à nier que des activités apparemment répétitives peuvent conduire aux oeuvres d'inspiration et de beauté.

À ce stade, ils sont généralement prêts à admettre que le simple fait que mon "art" implique un ensemble d'instructions de syntaxe à l'aspect bizarre et de diagrammes UML à l'aspect fade ne signifie pas qu'il n'est pas créatif dans la mesure où ces lignes de code et les modèles du système finissent par faire quelque chose de tout à fait différent de la somme de ses parties.

Bethlakshmi
la source
2
Étant moi-même artiste, j'aime cette comparaison. Cela aura du sens pour la plupart des artistes, de tous types, et ceux qui peuvent se rapporter aux activités artistiques. (Je ne suis pas sûr des non-artistes.)
DarenW
3

La programmation concerne les abstractions. Plus vous écrivez, plus vous pouvez voir de similitudes. Mais alors il est temps d'abstraire. En refactorisant un cadre évolue ce qui élimine les doublons. Cela réduit la complexité du code de domaine problématique.

Une programmation répétitive est possible. Mais c'est inefficace.

Witek
la source
+1 lorsque le codage devient très répétitif, c'est un signe que peut-être "vous vous trompez!"
FrustratedWithFormsDesigner
3

Si c'était vraiment le cas, nous utiliserions simplement le copier-coller: D

L'un des principaux défis de la programmation est de façonner des blocs de construction de haute qualité, de

  • pouvez les utiliser pour construire votre édifice (c'est-à-dire le logiciel que vous construisez) de composants solides, augmentant ainsi la stabilité
  • peut les réutiliser plusieurs fois dans le même édifice ou même dans différents édifices (pour réduire la répétition) et ainsi augmenter votre productivité
  • sera en mesure de changer un bloc sans provoquer l'effondrement de tout votre bâtiment, augmentant ainsi la flexibilité locale
  • sera en mesure de modifier toutes les instances d'un bloc à la fois, augmentant ainsi la flexibilité globale

De par sa nature même, ce défi vous demande de ne pas vous répéter .

En corollaire: si vous vous répétez en tant que programmeur, vous perdez du temps à construire des logiciels, qui ne sont ni stables, ni flexibles.

back2dos
la source
1

Mis à part les autres réponses qui soulignent à quel point la répétitivité ou la frappe / le clic est superficielle, vous pouvez également souligner que la programmation est généralement beaucoup plus une question de résolution de problèmes que de dactylographie (et je pense que c'est Djikstra qui a dit que l'informatique est aussi beaucoup sur les ordinateurs comme l'astronomie est sur les télescopes - ou quelque chose de similaire ).

La saisie n'est qu'une façon d'implémenter la solution (et actuellement la plus populaire), bien qu'il existe d'autres façons, telles que:

  • pseudocode sur un tableau blanc (qui illustre la solution, mais ne fonctionne pas ou ne fait rien, malheureusement)
  • cartes perforées (désormais considérées comme obsolètes)
  • Peut-être des matrices logiques programmables ou si vous voulez que votre solution soit implémentée directement dans le matériel (bien que la plupart du temps, il y aura probablement du typage pour obtenir la solution de votre cerveau au PLA, je ne sais pas comment il est courant de "coder" ces les choses directement - je ne travaille pas vraiment avec eux, je les connais simplement des autres qui le font).
  • les gens (j'ai entendu parler d'un groupe récemment qui a implémenté des algorithmes de tri comme une danse)
  • rochers dans un désert . ;)
FrustratedWithFormsDesigner
la source
0

Une grande partie de l'acte de programmation consiste à taper. La peinture consiste à caresser avec un pinceau, mais appeler répétitif est assez superficiel.

Appliqueraient-ils cette logique pour: - Les vendeurs parlent beaucoup au téléphone. - Les managers participent à de nombreuses réunions. - Les chanteurs chantent juste. - Les acteurs répètent des scripts.

Si c'est le cas, c'est pourquoi ils ne sont pas programmeurs.

JeffO
la source
-2

Si vous voulez être bon en programmation, c'est répétitif mais la même chose peut être dite pour n'importe quoi. La répétition est au cœur de la maîtrise de toute compétence.

John Shaft
la source
-2

Eh bien, la programmation peut vraiment être une tâche assez répétitive. Surtout quand l'infrastructure a été construite, le processus ennuyeux de construction du même logiciel de dialogue / entreprise (seulement légèrement différent) recommence encore et encore. Vous avez de la chance si vous n'avez pas à participer pour respecter les délais ou si vous avez suffisamment de juniors pour faire ce genre de travail.

Faucon
la source
1
Cela dépend du type de travail que vous faites, je suppose
Anto