Como explicar aos não programadores que a programação não é uma tarefa repetitiva? [fechadas]

11

Algumas pessoas têm a ideia de programar que é apenas digitação repetitiva no teclado. Nada disso é verdade. Antes de tudo, há muito mais a fazer do que digitar o código, como a arquitetura de design e assim por diante. Em segundo lugar, poderia ser uma tarefa muito variada e não repetitiva, com novos desafios surgindo o tempo todo.

Como você explica que a programação não é uma tarefa repetitiva para os não programadores ?

Anto
fonte
5
Pergunte, o trabalho deles é uma tarefa repetitiva? Se isso é bom para eles, provavelmente eles não conhecem as alegrias de uma profissão criativa e variada. Se não for, diga que é exatamente o mesmo.
precisa saber é o seguinte
4
@ Mark Canlas: Bom ponto. Quais trabalhos essas pessoas (com a visão de programação como digitação repetitiva) têm? As chances são de que você possa apontar alguma repetitividade superficial em suas tarefas diárias e reduzir seus empregos a "algo repetitivo ou outro" e depois pedir que expliquem como não é .
FrustratedWithFormsDesigner
14
Se é repetitivo, você está fazendo errado.
1
Essa afirmação foi feita em geral. Muitas tarefas são erradas quando você faz a mesma coisa repetidamente. Apenas juntando as peças do carro? Crie um robô para fazê-lo (supondo que você possa, é claro - se não, desculpe-se por perder o emprego). Apenas juntando peças de robôs? Construa um robô para construir os robôs;) Isso é basicamente programação . Adicione mais camadas para não repetição infinita.
2
Digamos que o futebol seja um esporte repetitivo (todo mundo continua fazendo a mesma coisa, chutando a bola).
precisa saber é o seguinte

Respostas:

31

Dê a eles exemplos com os quais eles possam se relacionar.

O tênis é repetitivo. Você continua batendo a bola o tempo todo para o outro lado da rede.

O futebol é repetitivo. Você continua chutando a bola todas as vezes até encontrar uma trave.

Tocar piano é repetitivo. Você continua movendo os dedos no quadro.

Droga, tudo tão chato !!!

gofeddy
fonte
3
Ténis, futebol e piano são chatos, de uma maneira que a programação não é. Em todas essas atividades, a pessoa se depara repetidamente com a mesma situação e deve fazer a mesma coisa. Na programação, no entanto, como outras respostas apontaram, se você entrar na mesma situação duas vezes, estará fazendo errado.
Avi
1
O @Avi da mesma maneira que a programação é chato de maneiras que o tênis ou o piano não são, então é realmente um argumento discutível.
Maurycy 30/03
18

Você sempre pode dizer que a programação é digitação repetitiva exatamente da mesma maneira que escrever prosa é digitação repetitiva. Alguém escreverá um ótimo romance (ou até medíocre) sentado e cuidadosamente juntando as letras?

dente afiado
fonte
18

Bem, é de certa forma. Você digita repetidamente as mesmas letras (AZ, az, 0-9) repetidamente. Apenas em diferentes combinações.

Eu costumo tentar evitar essas discussões com essas pessoas.

Torre
fonte
1
@Rook - Bons conselhos.
John Shaft
4
+1. Faz-me pensar em uma boa comparação entre livros e o alfabeto . (Traduz vagamente para: O alfabeto é uma coleção de letras, que ultrapassa os livros em estrutura e conteúdo. Enquanto nos livros as letras são todas misturadas, as do alfabeto são escritas sucessivamente em ordem crescente. )
back2dos
1
Espero que você não evite todas as pessoas que têm algum interesse em você.
3
@Rook: Ter alguém fazendo perguntas sobre o mundo da programação é uma bênção. Não os evite. Converse com eles. O quanto você conseguir.
4
Eu tento misturar as coisas usando pontuação. AZ não é interessante o suficiente para mim.
MJB
13

A programação é muito parecida com a composição musical . O que está longe de ser um processo repetitivo.

  • Você começa a pensar na visão geral do que precisa alcançar
  • Você pensa em um pequeno pedaço da sua composição e escreve
  • Uma vez feito, você o reproduz (F5 no Visual Studio)
  • Você repete o processo, conforme necessário
  • Às vezes você empresta idéias ou se inspira em outros compositores
  • Às vezes, você refatora sua música movendo ou retrabalhando partes

Às vezes, você não sabe o que quer e brinca. Provavelmente a melhor maneira de obter composições mais interessantes ...


fonte
1
Haha ... +1 por reproduzi-lo (F5 no Visual Studio). Agora, se eu só poderia adicionar uma tecla F5 para minha guitarra ...
JasCav
3
-1 para Visual Studio;)
Jordan
Pierre, embora não discorde de sua resposta geral ao OP, discordo que a composição musical é semelhante à programação. Composição é mais difícil - eu acho que eu colocá-lo razoavelmente bem neste post: linkedin.com/...
azheglov
1
@azheglov: mais difícil com base em quê? Qualquer um pode compor. Agora muito poucos estarão na MTV como muito poucos de nós será entrevistado pela CNN
Mesmo que, digamos, compor música seja "mais difícil", os problemas no CS são reduzidos para compensar: cada linha de código pode ser mais fácil de escrever do que uma única nota; portanto, temos projetos com literalmente milhões (se não mais) de linhas de código. Portanto, mesmo que cada ação atômica seja mais simples, espera-se que os melhores programadores resolvam problemas mais difíceis.
Tikhon Jelvis
4

Eu costumo explicar que a programação é a solução criativa de problemas. Você tem um problema - deseja um recurso em um produto (e geralmente escolho um produto conhecido, Amazon.com, MS Word etc.), e ele não está lá. Isso nunca foi feito antes, e você é o primeiro, por isso é como qualquer projeto de arte - você tem uma visão, mas precisa descobrir um caminho.

Também me concentro no fato de que há mais de uma maneira de resolver o problema, várias maneiras muito ruins e provavelmente mais de uma boa maneira. A longo prazo, pode haver um caminho melhor , mas esse caminho não será óbvio por um longo tempo (extensibilidade, reutilização etc.); portanto, no momento do desenvolvimento, há muitas solicitações de julgamento importantes.

Finalmente, o produto final pode ser amado ou odiado pelo destinatário. Assim como algumas pessoas amam Picasso e outras não conseguem fazer cara ou coroa da arte moderna - algumas podem amar um recurso e outras podem odiá-lo. Você faz o melhor que pode para a maioria das pessoas e acha que não pode agradar a todos.

Focando em:

  • território desconhecido
  • ninguém responde
  • sujeito a interpretação

Mostra que esse trabalho se parece muito mais com arte e muito menos com trabalho repetitivo e chato.

Eu converso sobre isso com artistas com bastante frequência (e eles parecem ter uma crença instintiva de que o trabalho com computadores não é criativo. Geralmente, também consigo relacioná-lo com a forma de arte favorita do artista. Em algum nível, a maioria dos artistas também é técnica - pintura , dançar, fazer música e provavelmente qualquer outra arte - todos envolvem uma série de atividades repetitivas que levam você ao ponto de executar algo novo, diferente e criativo.Para assim, os artistas geralmente têm problemas em negar que atividades aparentemente repetitivas possam levar a obras de inspiração e beleza.

Nesse ponto, eles geralmente desejam admitir que, apenas porque minha "arte" envolve um conjunto de instruções de sintaxe bizarras e diagramas UML de aparência branda, isso não significa que não seja criativo, pois essas linhas de código e os modelos do sistema acabam criando algo bem diferente da soma de suas partes.

bethlakshmi
fonte
2
Sendo um artista, eu gosto dessa comparação. Faz sentido para a maioria dos artistas, de todos os tipos, e aqueles que podem se relacionar com atividades artísticas. (Não tenho certeza sobre o não-artistas.)
darenw
3

A programação é sobre abstrações. Quanto mais você escreve, mais semelhanças você pode ver. Mas então é hora de abstrair. Ao refatorar uma estrutura, evolui o que elimina a duplicação. Isso reduz a complexidade no código do domínio do problema.

Programação repetitiva é possível. Mas é ineficiente.

Witek
fonte
+1 quando a codificação fica muito repetitiva, é um sinal de que talvez "você esteja fazendo errado!"
FrustratedWithFormsDesigner
3

Se realmente fosse, bastava copiar e colar: D

Um dos principais desafios da programação é criar blocos de construção de alta qualidade, para que você

  • você pode usá-los para construir seu edifício (ou seja, o software que você está construindo) de componentes sólidos, aumentando assim a estabilidade
  • pode reutilizá-los várias vezes no mesmo edifício ou mesmo em diferentes edifícios (para reduzir a repetição) e, assim, aumentar sua produtividade
  • poderá alterar um bloco sem causar colapso de todo o edifício, aumentando assim a flexibilidade local
  • poderá alterar todas as instâncias de um bloco ao mesmo tempo, aumentando assim a flexibilidade global

Por sua própria natureza, esse desafio exige que você não se repita .

Como corolário: se você se repete como programador, perde tempo construindo software, que não é estável nem flexível.

back2dos
fonte
1

Além das outras respostas que apontam como a repetitividade ou a digitação / clique são superficiais, você também pode apontar que a programação geralmente é muito mais sobre solução de problemas do que sobre digitação (e acho que foi Djikstra quem disse que a ciência da computação é tão muito sobre computadores como astronomia é sobre telescópios - ou algo semelhante ).

A digitação é apenas uma maneira de implementar a solução (e atualmente a mais popular), embora existam outras maneiras, como:

  • pseudocódigo em um quadro branco (que ilustra a solução, mas na verdade não executa ou faz nada, infelizmente)
  • cartões perfurados (agora considerados obsoletos)
  • Talvez matrizes lógicas programáveis ou se você deseja que sua solução seja implementada diretamente no hardware (embora seja provável que haja alguma digitação para levar a solução do seu cérebro ao PLA, não sei como é comum "codificar" esses coisas diretamente - eu realmente não trabalho com elas, apenas as conheço de outras pessoas que trabalham).
  • pessoas (ouvi falar recentemente de um grupo que implementou algoritmos de classificação como dança)
  • pedras no deserto . ;)
FrustratedWithFormsDesigner
fonte
0

Grande parte do ato de programar está digitando. Pintar envolve afagar com um pincel, mas chamar repetitivo é bastante superficial.

Eles aplicariam essa lógica a: - O pessoal de vendas fala muito ao telefone. - Os gerentes vão a muitas reuniões. - Cantores apenas cantam. - Os atores repetem scripts.

Nesse caso, é por isso que eles não são programadores.

JeffO
fonte
-2

Se você quer ser bom em programação, é repetitivo, mas o mesmo pode ser dito para qualquer coisa. A repetição está no cerne de dominar qualquer habilidade.

John Shaft
fonte
-2

Bem, a programação pode realmente ser uma tarefa bastante repetitiva. Especialmente quando a infraestrutura é construída, o processo chato de criar o mesmo software de diálogo / negócios (apenas ligeiramente diferente) é iniciado repetidamente. Você tem sorte se não tiver que participar para cumprir os prazos ou se tiver juniores suficientes para fazer esse tipo de trabalho.

Falcão
fonte
1
Depende do tipo de trabalho que você faz, eu acho.
Anto 27/04