Issuu on Google+

 

  Data: 13 de Setem mbro de 2011 1 

Program mação !== Ciência da Comp putação Li um m artigo com m o título “Programaçã ão != (é differente de)) ciência da a computaçção” de Mattt Welsh, engenheiro de s software do o Google, que antes erra professo or de ciência a da compu utação em Harvard. co o autor compara c allgumas dife erenças que e percebeu ao entrar para a indú ústria Por este passado acadêmic na árrea de dese envolvimentto de softw ware. Basica amente dua as compara ações foram m usadas, conforme c a seguiir: 1)) Pensar g grande vs s. Entregar r pronto: n nesta comp paração o autor destacca que o cie entista de computação (penso o que mais o autor pella bagagem m acadêmica) consum irá anos pe ensando num a até ter um ma solução maravilho sa que pod derá ainda por p cima pa assar pelo escrutínio e d de problema revisores s de um periódico cien ntífico. Enq uanto que a indústria (nós, GN1 ) precisa mover-se m depressa a, resolvend do um prob blema o sufficiente parra partir para o próxim mo problema. Assim o desenvollvedor gera almente fica a satisfeito quando resolve um problema p co oncreto bem m definido e que passa no os testes un nitários. Por este moti vo, o desen nvolvedor muitas m veze es não se pergunta p “o o que minha so olução não faz?”. Justa amente porr estarem bastante b attarefados. N Na academia são gasttos meses fa azendo avaliação de desempenho o apenas pa ara apresen ntar algunss gráficos bonitinhos b q que mostram m que uma dada d soluçã ão técnica ffunciona be em em uma a ampla faiixa de caso os; 2)) Protótip po descarttável vs. Solução rob busta: cien ntistas de computação c o (acadêmicos) geralm mente não são bons desen nvolvedores s. A piada é que muito os acadêmiicos escrev vem um cód digo tão pobre morona em uma pilha de bits tão o rápido quanto o deadline de en ntrega do artigo passa a. que desm Enquanto o desenvolv ver código que é conffiavelmente e robusto, bem b escaláv vel, fácil de e manter, bem b documen ntado, bem testado e que usa to das as boas práticas aceitas a não o é coisas que acadêm micos são trein nados a faze er. O autor até relata que trabalhando no Google, G eng genheiros de d software m problema as totalmen nte obvios em e seu código e concl ui que há muito m que “hardcore” apontam s da compu utação pode em aprende er sobre es screver softtware “real”” ao invés de d protótip pos; cientistas Conc clusão do D Daniel Ao ler sobre estta comparaç ção e esta básica dife renciação de d objetivos de cada p profissionall, como qua alquer procurei me e identificarr com algum ma delas, sou s cientista as da comp putação ou sou leitorr da área, p desen nvolvedor? Mas ao res sponder a pergunta p pe ensei um pouco p mais de tempo ssobre a des scrição dada para cada um. P Pois nenhum m é mais im mportante q que o outro o, são focos s diferentess que traba alhando em m pe se completam. equip Assim m, o cientistta de comp putação con nsume tem po estudan ndo um problema de fo forma a aprresentar um ma solução ampla u usada por muito m tempo. Imediata amente me e exclui des sta definiçã o, pois não o passo tanto m problema a, tão poucco, submeto o os resulta ados para u uma revista a científica. tempo assim estudando um Desta a forma, me detive na a definição dada pelo a autor para desenvolve edor: “...esscreve códig go que é confia avelmente robusto, be em escaláv vel, fácil de manter, be em docume entado, bem m testado e que usa todas t as bo oas práticas s aceitas...”” estas foram as pala avras usada as pelo auto or. A identidade fico ou maior ne esta definiç ção, mas esspere um pouco, p será que minha as soluções s realmente e são stas, escalá áveis, fáceis s de mante er, bem doccumentadas s, bem testtadas e usa ando as boa as práticas robus aceita as na comp putação? Ao me deparar c com isto, conclui que tenho muitto o que melhorar, estudar e ava ançar basta ante para eguir entreg gar, nos có ódigos que escrevo, to odos os critérios acima a. Uma opçção seria se entar e chorar, conse

Propo osta: 0001.011.11   

1


mas prefiro proc curar me desenvolverr, lendo artiigos, fóruns s, livros, re evistas, pra aticando desenvolvime ento asa, aprend dendo com meus com mpanheiros e procuran ndo sempre num novo o projeto faz zer melhor que em ca o antterior. Desaffio o leitor a fazer a mesma m perg gunta e enccontrar o que pode faz zer para me elhorar. Nota a final: O a autor do arttigo cita que os engen nheiros de software s do o Google crriticam seu código em problemas óbvio os quando ele submette seu códig go para rev visão. Excelente, preciisamos nos s organizar para os esta prática na GN1 um dia. termo Fonte e: http://matt-welsh.b blogspot.co om/2011/09 9/programm ming-comp puter-sciencce.html Abraç ços, Danie el Marcoto Syste em Analyst Pabx:(19) 3633.1624 ( 9205.9 9309  Cel: (19)

 

Propo osta: 0001.011.11   

2


Programação != Ciência da Computação