Escrever software é como ... escrever  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Neste artigo no Artima, Bruce Eckel disse que a analogia mais correta a ser feita com o ato de escrever software é o próprio ato de escrever - todos podem escrever, mas nem todos têm o dom de ser escritores.

http://www.artima.com/weblogs/viewpost.jsp?thread=255898

Bruce Eckel wrote:
Most people can put words together into sentences. They can communicate adequately without being great writers. Most programmers can write some kind of program. It probably won't be very good, but most companies don't really need it to be very good. Most companies only need basic programming skills. A college degree in computer "science" from anywhere is good enough, and the job is just a job. It doesn't require much in the way of continuing education, conferences, workshops, or someone who is so interested in the craft of programming that they are always trying to learn more.

Such people can write, but it's just basic writing. They are not essayists or novelists -- and keep in mind that there are lots of articles and novels that get published that are not particularly well-written or worth reading. Obviously such things seem to sell well enough to make the effort and risk worthwhile all around.

But someone who dedicates themselves to writing, who goes through the struggle of figuring it all out and discovering their own place in the world -- this is a very different kind of writer (of prose or programs) than the average programmer. This person can produce more functionality faster, and the results will be clearer and deeper than ordinary code.
[WWW]
fantomas
GUJ Master
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 1531
Localização: Terra (maior parte do tempo)
Online

Concordo.

O único porem, é que a maioria de nós passa a maior parte de nossas carreiras trabalhando com manutenção onde fica difícil encontrar uma chance de escrever um código do qual nos orgulhemos.

Infelizmente realmente parece que as empresas não se interessam por códigos com uma escrita feita com excelencia; talvez seja a velha questão do custo do projeto. Contrata-se um "lider" de projeto com vários estagiários e se faz o possível para terminar o projeto no prazo menor possível.

A analogia na minha opinião se encaixa muito bem, pois uma das coisas mais chatas de fazer é entender um texto ou código feito por uma pessoa que tem problemas em coordenar as idéias.

Outro fato que este tópico me fez lembrar ocorreu no curso de inglês que fiz; a professora disse que os problemas das pessoas ao escrever uma simples redação em inglês, por incrivel que possa parecer, não éra o idioma e sim o fato de que as pessoas simplesmente não sabem escrever; nem mesmo na lingua nativa.

flws
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

num pais onde a maioria das pessoas tem dificuldades gravissimas com matemática como o nosso fica dificil de acredita nisso...

eu acredito que seja isso mesmo, que escrever software é como escrever mesmo, mais isso depois que ja se tem certa lógica, o que é de ceerta forma raridade nesse país tomando como base a minha frase anterior, infelizmente tem muita gente por ai hoje em dia que tem dificuldade pra fazer contas de cabeça como 13 + 15, penso na dificuldade que seria escrever um programinha bem basico e pequeno usando o minimo de OOP...

primeiro aprender um pouco da linguagem, aprender de programação em si, depois escrever código com uma semantica razoavel, que tenha sentido, da mesma forma que se escreve uma redação que seja facil de ler... infelizmente acredito que a maioria das pessoas, se tentassem mal sairiam do hello word, até aprenderiam que um metodo x faz tal coisa, mais não saberiam usa-lo, não saberiam que o xxx.yyy() é um metodo do objeto xxx...coisas do tipo... não saberiam usar direito um retorno do método...

penso que escrever software tem complicações tecnicas que deixam a escrita mais dificil do que escrever uma redação... opinião

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Hum... pelo menos a maior parte das pessoas que têm dificuldades muito básicas aqui no GUJ têm problemas para escrever também.

Mas a idéia do Eckel não é que "os analfabetos não devam escrever código". O que ele disse, mais ou menos, é que "escrever software é uma atividade que é ao mesmo tempo criativa - como escrever um romance - e sujeita a restrições de tempo e custo - como escrever um artigo para o jornal. "

Nem todos são como o Donald Knuth, que escreveu o TEX , o Metafont e outros softwares, além daqueles três volumes do Art of Computer Programming. Eu classificaria o Donald Knuth mais ou menos na categoria do Tolstói (Guerra e Paz, não se lembram? Pelo menos o fôlego e a importância são os mesmos.)
Mas você pode ser um Gavin King (autor do Hibernate), ou até mesmo um programador Cobol de mainframe; todos são necessários, desde que façam as coisas bem-feito.

This message was edited 1 time. Last update was at 22/04/2009 14:34:13

[WWW]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Eu achei bem interessante o que ele falou.
Mas não concordo muito com isso de "dom" (de tipo "ah, ele nasceu com o dom"), apesar de acreditar que existem pessoas com um certo "a mais". Eu digo que não concordo porque acho que alguém sem o dom de programar pode, com muita disciplina, esforço e tempo, ficar igual a pessoa com o dom. Ainda mais se essa pessoa sem o dom tiver uma excelente formação (desde o primário) nas coisas que ela quer fazer.

This message was edited 1 time. Last update was at 22/04/2009 16:53:20


Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
Mero_Aprendiz
JavaEvangelist
[Avatar]

Membro desde: 25/08/2004 11:32:27
Mensagens: 380
Localização: Goiânia
Offline

thingol wrote:..."escrever software é uma atividade que é ao mesmo tempo criativa - como escrever um romance - e sujeita a restrições de tempo e custo - como escrever um artigo para o jornal. "


Concordo também.
Descobri nesse meio tempo de Java que, para uma na criatividade também é necessário ler outras coisas não técnicas.
O Core Java não é tão atraente de leitura que o Dibs - Em busca de Si mesmo.

[]'s
JL

P.S.: Dibs - Em busca de Si mesmo não é livro de alto-ajuda, rs: http://www.submarino.com.br/produto/1/289214

This message was edited 2 times. Last update was at 22/04/2009 16:55:27

juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3926
Offline

Andre Brito wrote:Eu achei bem interessante o que ele falou.
Mas não concordo muito com isso de "dom" (de tipo "ah, ele nasceu com o dom"), apesar de acreditar que existem pessoas com um certo "a mais". Eu digo que não concordo porque acho que alguém sem o dom de programar pode, com muita disciplina, esforço e tempo, ficar igual a pessoa com o dom. Ainda mais se essa pessoa sem o dom tiver uma excelente formação (desde o primário) nas coisas que ela quer fazer.


Digamos que o dom de programar seja raciocício rápido, facilidade em resolver problemas, e não ter uma linguagem decorada na cabeça.

Isso ae com certeza nasce com a pessoa, e outras, mesmo se esforçando não conseguem o mesmo redimento que a primeira.

www.citrox.com.br
juliocbq
GUJ Expert
[Avatar]

Membro desde: 13/11/2008 12:10:18
Mensagens: 3926
Offline

Sem falar que o programador deve ser medido pelo domínio que ele possui nos algoritmos, e não na linguagem.

Já peguei muita gente que sabia java de cabo a rabo, e não conseguia sequer implementar um bobble sort

This message was edited 1 time. Last update was at 22/04/2009 17:02:07


www.citrox.com.br
edesigncs3
What is classpath?
[Avatar]

Membro desde: 22/04/2009 16:50:47
Mensagens: 6
Offline

analisando tudo o que foi dito...em qual ponto deve se ater um iniciante em java, para que ele seja mais completo.

edesign
[WWW]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

juliocbq wrote:Digamos que o dom de programar seja raciocício rápido, facilidade em resolver problemas, e não ter uma linguagem decorada na cabeça.
Isso ae com certeza nasce com a pessoa, e outras, mesmo se esforçando não conseguem o mesmo redimento que a primeira.

Eu não diria que é o dom pelos seguintes motivos: os melhores em matemática e algoritmos que eu conheço (compreendem poucas "fontes" - TopCoder, ICPC e GCJ) começaram cedo. Eu digo que a facilidade deles em resolver problemas é por essa prematuridade.

Eu tenho amigos que começaram a programar com 10, 11 anos e estes sim eu digo que resolvem problemas com mais facilidade do que eu (que comecei com 17). Mas simplesmente porque começaram praticamente na infância e amadureceram isso com o amadurecimento do conhecimento geral deles. Por isso, a capacidade de resolver problemas computacionalmente é a mesma capacidade que eles adquiriram com o tempo de resolver problemas do dia a dia (tipo decidir se vai de ônibus ou a pé). É tão natural chegar a decisão de "que técnica vou usar pra resolver esse problema" quanto decidir o meio de se locomover de casa para a faculdade (ou outro tipo de problema).

This message was edited 1 time. Last update was at 22/04/2009 17:39:18


Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

Fico impressionado como alguns "espertos" (ou seria eSperts) querem valorizar o ato de codificar como de um escritor. Nem de perto seria como. Nem pelo valor, que um bom escritor ganha-se bem e um bom codificador nem passa perto, nem pelo ato "criativo", que convenhamos, a maior parte do desenvolvimento de sistemas são nada mais, nada menos, que cadastros e relatórios. Aperfeiçoa-se o que? O ato de criar um cadastro mais...criativo?
Mesmo que muitos não queiram aceitar, basta olhar a tarefa ao qual trabalham. Se não fazem isso, fazem testes. Os que não codificam quase, os tal "arquitetos", que eu chamaria mais de "técnicos de edificações" , não entram no caso também, o que resume, na minha nada humilde opinião, em uma total discordância com tal "afirmação".

"Quanto mais aprendo mais tenho consciência que nada sei."
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

interessante isso...

tipo eu até concordo com ele que depende da criatividade ao escrever algo que tenha sentido, que se tenha espressado bem a ideia, a lógica da coisa, tanto em relação a escrever código quanto uma redação em si, ou mesmo um artigo, a regra de negocio do software eu poderia até ligar ao assunto da redação, o conhecimento de quem escreve sobre isso contribui e muito pra fica bem feito, além também da didatica da pessoa para escrever de uma forma mais clara e de facil compreensão. Porém eu acho ainda que ao escrever código, o conhecimento da regra de negocio não basta, também é necessário o conhecimento técnico, não to falando da linguagem de programação em si, mais também conhecimento de redes por exemplo, buferização, sei la... coisas que nos deparamos no dia a dia relacionados a parte de computação mesmo... e sim, de prazos e custos também (na pratica é essencial ter essa noção pra se manter o emprego...hehe) mais essas coisas diferem da escrita de um romance por exemplo

bom..acho que não me espressei direito no outro comentário, concordo com o pouquissimo que eu intendi, e que soma ao que você me explicou, acho que é muito bem colocado também, isso de "saber escrever" é a essencia da coisa, da qualidade, acho que eu tinha dito que concordo em partes, isso que eu honestamente não sei se expliquei direito não é algo que va contra ao que ele disse, penso nisso mais como um complemento... no que se refere a código tem um poco mais de coisa ai também...

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

maior_abandonado wrote:Porém eu acho ainda que ao escrever código, o conhecimento da regra de negocio não basta, também é necessário o conhecimento técnico, .


Eu não disse que você "tira as coisas da cabeça" como um escritor.
Nem os escritores fazem isso; veja o serviço de investigação que muitos escritores fazem antes de escrever qualquer coisa. Eles não trabalham só com a inspiração.
Acho que o nosso serviço é mais parecido com o de um jornalista: há prazos, custos e você tem de pesquisar suas fontes. E se você tem o costume de ler jornais ou assistir aos noticiários da televisão (ou mesmo vê alguns documentários) sabe que há jornalistas e jornalistas.


[WWW]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

djemacao wrote:Fico impressionado como alguns "espertos" (ou seria eSperts) querem valorizar o ato de codificar como de um escritor. Nem de perto seria como. Nem pelo valor, que um bom escritor ganha-se bem e um bom codificador nem passa perto, nem pelo ato "criativo", que convenhamos, a maior parte do desenvolvimento de sistemas são nada mais, nada menos, que cadastros e relatórios. Aperfeiçoa-se o que? O ato de criar um cadastro mais...criativo?
Mesmo que muitos não queiram aceitar, basta olhar a tarefa ao qual trabalham. Se não fazem isso, fazem testes. Os que não codificam quase, os tal "arquitetos", que eu chamaria mais de "técnicos de edificações" , não entram no caso também, o que resume, na minha nada humilde opinião, em uma total discordância com tal "afirmação".



bom... alguma coisa dar mais dinheiro não significa que ela exige mais criatividade e tecnica, lembrando que nos referimos a raciocinio...

a maioria dos desenvolvedores se resumem a cadastro e relatório? sim isso é verdade, poucos são os softwares que exigem mais da regra de negocio, mais também poucos escritores são como dostoievski ou tolstoi por exemplo...

respondendo a sua pergunta, quem quer se aperfeiçoar, pode faze-lo para criar algo maior do que "cadastro e relatório" como diz você, pode se especializar em alguma coisa mais avançada como IA por exemplo ou mesmo nos cadastros e relatórios, pode utilizar padrões de projeto por exemplo para que a coisa fique mais bem feita, visando facilitar a manutenção.

só um ultimo detalhe, não estou dizendo que uma profissão exige maior capacidade ou criatividade que a outra, na verdade estou dizendo justamente o contrario, que uma não deve ser desmerecida em relação a outra...

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

thingol wrote:
maior_abandonado wrote:Porém eu acho ainda que ao escrever código, o conhecimento da regra de negocio não basta, também é necessário o conhecimento técnico, .


Eu não disse que você "tira as coisas da cabeça" como um escritor.
Nem os escritores fazem isso; veja o serviço de investigação que muitos escritores fazem antes de escrever qualquer coisa. Eles não trabalham só com a inspiração.
Acho que o nosso serviço é mais parecido com o de um jornalista: há prazos, custos e você tem de pesquisar suas fontes. E se você tem o costume de ler jornais ou assistir aos noticiários da televisão (ou mesmo vê alguns documentários) sabe que há jornalistas e jornalistas.


hehe...

[teimoso]ainda acho que isso ta mais ligado a analise de requisitos (que convenhamos, é mais pra um analista)[/teimoso]

quanto a jornais normalmente não vejo, leio alguns portais na internet(normalmente 3 ou 4) todo dia, e realmente... há jornalistas e jornalistas...

assim é claro que a quantidade de programadores ruins é enorme... vo parar de fugir do assunto.

pensando direito no assunto penso que também tem uma outra diferença, uma coisa que o escritor de um livro muitas vezes expressa (os bons ao menos) que o programador não... sentimento.

é...tem la suas diferenças, mais que tem muito mais semelhança ai eu ainda concordo...

This message was edited 1 time. Last update was at 23/04/2009 08:12:09


espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team