{"id":45,"date":"2007-11-01T12:52:41","date_gmt":"2007-11-01T19:52:41","guid":{"rendered":"http:\/\/www.milfont.org\/tech\/2007\/11\/01\/estudar-para-que-se-eu-ja-sei-o-que-fazer\/"},"modified":"2007-11-01T12:52:41","modified_gmt":"2007-11-01T19:52:41","slug":"estudar-para-que-se-eu-ja-sei-o-que-fazer","status":"publish","type":"post","link":"https:\/\/www.milfont.org\/tech\/2007\/11\/01\/estudar-para-que-se-eu-ja-sei-o-que-fazer\/","title":{"rendered":"Estudar para que se eu j\u00e1 sei o que fazer"},"content":{"rendered":"<p><script type=\"text\/javascript\"> function get_style45 () { return \"none\"; } function end45_ () { document.getElementById('wqd45').style.display = get_style45(); } <\/script><\/p>\n<p>Tenho severas cr&iacute;ticas ao modelo educacional, principalmente o superior. Vou e volto para a faculdade de tempos em tempos, minha escola real est&aacute; nos livros, a faculdade &eacute; pelo diploma porque a falta dele as vezes fecha portas que n&atilde;o tem como serem abertas e em determinados momentos precisam serem ultrapassadas.<\/p>\n<p>Minhas cr&iacute;ticas derivam principalmente da fal&aacute;cia e do sofismo, as pessoas acreditam que possuir um n&iacute;vel superior  as credita para a qualifica&ccedil;&atilde;o necess&aacute;ria a uma determinada tarefa simplesmente. Quantos alunos est&atilde;o se formando esse ano em Ci&ecirc;ncia da Computa&ccedil;&atilde;o sem a necess&aacute;ria qualifica&ccedil;&atilde;o? A maioria? Todos? Nenhum? Como saber se n&atilde;o existe um mecanismo eficiente de provar isso?<\/p>\n<p>Na aus&ecirc;ncia de um mecanismo eficiente, o mercado sempre adota pontos factuais para basear suas contrata&ccedil;&otilde;es, e uma delas &eacute; o porte de um diploma de curso superior.<\/p>\n<p>Fiz quase todas as cadeiras que envolvem desenvolvimento de software: Estrutura de dados, laborat&oacute;rio 1 e 2, t&eacute;cnicas de programa&ccedil;&atilde;o 1 e 2, l&oacute;gica matem&aacute;tica, teoria da computa&ccedil;&atilde;o, entre outras que n&atilde;o lembro no momento. Em todas essas cadeiras nunca ouvi o professor(a) sequer mencionar coisas como: <a href=\"http:\/\/en.wikipedia.org\/wiki\/Closure_(computer_science)\">Closure<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Currying\">Currying<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Continuation\">Continuation<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Design_by_contract\">Design By Contract<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Actor_model\">Actor model<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Lazy_evaluation\">Lazy evaluation<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Tail_recursion\">Tail recursion<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Quine_%28computing%29\">Quine<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Engine_%28computer_science%29\">Engine<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Liskov_substitution_principle\">Liskov substitution principle<\/a>, &#8230; mais algumas coisas que n&atilde;o lembrei no momento &#8230;<\/p>\n<p>O b&aacute;sico de orienta&ccedil;&atilde;o a objetos &eacute; ensinado, o aluno consegue at&eacute; responder o que &eacute; heran&ccedil;a e encapsulamento, mas eu nunca vi sequer mencionarem Orienta&ccedil;&atilde;o a Objetos <a href=\"http:\/\/en.wikipedia.org\/wiki\/Prototype-based_programming\">Prototype-based<\/a>, a&iacute; tenho que me deparar com gente dizendo que Javascript ou Lua fede porque simplesmente n&atilde;o entende como funciona os conceitos e acha estranho a sintaxe das linguagens. <\/p>\n<p>Eu mesmo passei a faculdade inteira  sem discutir <a href=\"http:\/\/en.wikipedia.org\/wiki\/Design_pattern\">design patterns<\/a>, com exce&ccedil;&atilde;o de <a href=\"http:\/\/en.wikipedia.org\/wiki\/Data_Access_Object\">DAO<\/a>, que eventualmente pula na frente dos alunos em alguma cadeira obscura de &quot;desenvolvimento web&quot; (sic). Hoje um amigo estava impressionado com as recomenda&ccedil;&otilde;es que o pessoal da SUN passou sobre o GoF na <a href=\"http:\/\/www.cejug.org\/display\/cejug\/Caravana+Sun+2007\">caravana de ontem<\/a>, e eu falei para ele que isso &eacute; naftalina, s&eacute;rio, se em 2007, o GoF &eacute; novidade para voc&ecirc;, algo de muito s&eacute;rio aconteceu com sua forma&ccedil;&atilde;o. <\/p>\n<p>Tive um professor muito bom, H&eacute;lio Moura, que usava na &eacute;poca a primeira edi&ccedil;&atilde;o do livro &quot;<a href=\"http:\/\/www.amazon.com\/Applying-UML-Patterns-Craig-Larman\/dp\/0137488807\/ref=sr_1_3\/103-8969754-9514222?ie=UTF8&amp;s=books&amp;qid=1193944157&amp;sr=1-3\">Applying UML and Patterns<\/a>&quot;(que &eacute; de 1997 e faz portanto 10 anos) do <a href=\"http:\/\/en.wikipedia.org\/wiki\/Craig_Larman\">Craig Larman<\/a>, refer&ecirc;ncia na &eacute;poca para RUP, e passou alguns princ&iacute;pios legais como <a href=\"http:\/\/en.wikipedia.org\/wiki\/GRASP_%28Object_Oriented_Design%29\">GRASP<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Law_of_Demeter\">Law of Demeter<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Open\/closed_principle\">Open\/closed principle<\/a>, entre mais algumas coisas legais que n&atilde;o lembro agora. Mas isso foi uma exce&ccedil;&atilde;o, e esse professor n&atilde;o ministra mais aulas na faculdade onde estudo. Isso era coisa de 99 ou 2000, in&iacute;cio do mil&ecirc;nio, vi que os professores de l&aacute; ainda usam a mesma vers&atilde;o do livro do <a href=\"http:\/\/www.craiglarman.com\">Craig<\/a>. Detalhe, j&aacute; estamos na <a href=\"http:\/\/www.amazon.com\/Applying-UML-Patterns-Introduction-Object-Oriented\/dp\/0131489062\/ref=sr_1_2\/103-8969754-9514222?ie=UTF8&amp;s=books&amp;qid=1193944157&amp;sr=1-2\">terceira edi&ccedil;&atilde;o<\/a> e com mudan&ccedil;as significativas. <\/p>\n<p>Agora <a href=\"http:\/\/martinfowler.com\/books.html#eaa\">PoEAA<\/a> do <a href=\"http:\/\/martinfowler.com\/\">Martin Fowler<\/a> que &eacute; bom, voce vai passar batido, nem tenha <a href=\"http:\/\/martinfowler.com\/eaaCatalog\">esperan&ccedil;a de discutir isso<\/a> em sala de aula. <\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Domain_model\">Domain Model<\/a>? isso &eacute; anos-luz da academia brasiliana, v&aacute; <a href=\"http:\/\/martinfowler.com\/eaaCatalog\/domainModel.html\">estudar<\/a> que &eacute; melhor. <a href=\"http:\/\/domaindrivendesign.org\/\">Domain Driven Design<\/a> tamb&eacute;m &eacute; assunto inexistente, procure <a href=\"http:\/\/www.amazon.com\/Domain-Driven-Design-Tackling-Complexity-Software\/dp\/0321125215\">outra freguesia<\/a>. <\/p>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Agile_software_development\">Metodologias &aacute;geis<\/a>, enquanto a academia est&aacute; descobrindo XP (timidamente claro), o mercado j&aacute; discute a fus&atilde;o entre <a href=\"http:\/\/en.wikipedia.org\/wiki\/Extreme_Programming\">XP<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Scrum_(development)\">Scrum<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Feature_Driven_Development\">FDD<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Crystal_Clear_(software_development)\">Crystal<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dynamic_Systems_Development_Method\">DSDM<\/a>. At&eacute; a Microsoft tem m&eacute;todos &aacute;geis enquanto a academia consolida UPs como novidade. <\/p>\n<p>A maioria sai da faculdade monoglota, com apenas o conhecimento espec&iacute;fico de uma linguagem de programa&ccedil;&atilde;o, enquanto deveriam estudar princ&iacute;pios, est&atilde;o estudando linguagem. <a href=\"http:\/\/en.wikipedia.org\/wiki\/Functional_programming\">Programa&ccedil;&atilde;o funcional<\/a> at&eacute; pode ser vista, talves raramente em uma cadeira de calculo, ou IA (com LISP) se der tempo, alguns confundem senten&ccedil;as com paradigmas, tinha um professor que falava que por a linguagem ter senten&ccedil;a condicional como um &quot;IF&quot;, ela n&atilde;o poderia ser considerada 100% Orientada a objetos, entre outras sandices bizarras. DSL? bah! <\/p>\n<p>Conversando com um amigo dia desses l&aacute; na faculdade, entramos no assunto banco de dados, sem querer surgiu no meio da discuss&atilde;o sobre <a href=\"http:\/\/en.wikipedia.org\/wiki\/Database_normalization\">formas normais<\/a>, para minha surpresa ele disse que n&atilde;o sabia do que eu estava falando, achei estranho porque o professor de banco de dados 1, cadeira respons&aacute;vel por esse conte&uacute;do, &eacute; um excelente professor, <a href=\"http:\/\/paginas.terra.com.br\/informatica\/fsiqueira\/\">Fernando Siqueira<\/a>, e conhecendo ele eu sabia que n&atilde;o passaria ningu&eacute;m sem ensinar formas normais. Depois esse meu amigo voltou e falou que deu uma &quot;olhada&quot; no livro e &quot;lembrou&quot;. Ora, isso me causa apreens&atilde;o, mesmo eu sabendo que o professor tem a compet&ecirc;ncia sobre uma mat&eacute;ria e tenho certeza que a aplicou, porque um aluno simplesmente esquece o principal conte&uacute;do de uma determinada mat&eacute;ria?<\/p>\n<p>S&atilde;o mist&eacute;rios, mas mist&eacute;rio mesmo &eacute; uma menina que se forma esse ano e n&atilde;o sabe ainda para que serve um banco de dados, mesmo evidentemente ter cursado todas as cadeiras de banco de dados. Isso sim merece estudo, tese, trabalhos cient&iacute;ficos e tudo que n&oacute;s pudessemos descobrir.<\/p>\n<h3>Livros <\/h3>\n<p>A minha escola real s&atilde;o os livros, tive e tenho alguns bons professores, uns poucos excelentes, mas os autores cl&aacute;ssicos s&atilde;o os mestres dos meus mestres. N&atilde;o procure livro espec&iacute;fico, procure autor, e toda a cultura por volta desse autor.<\/p>\n<p>Posso indicar alguns que s&atilde;o a base da carreira de qualquer desenvolvedor que se preze: Alan S. Koch, Alistair Cockburn, Bertrand Meyer, Craig Larman, Eric Evans, Joshua Kerievsky, Kent Beck, Martin Fowler, Rod Johnson, Ron Jeffries, Steve McConnell, Robert C. Martin, &#8230; isso s&oacute; dando uma olhadela aqui na minha &quot;biblioteca&quot;. Sei que esqueci nomes importantes, mas se voc&ecirc; seguir essa lista, vai acabar caindo neles.<\/p>\n<p>O pior disso tudo &eacute; que o pessoal fica empolgado com t&iacute;tulo aqui, o cara virou doutor j&aacute; se acha semi-deus, s&atilde;o praticamente inacess&iacute;veis, &eacute; muito mais facil voc&ecirc; falar com Martin Fowler do que falar com um Doutor brasileiro. <\/p>\n<p> Ent&atilde;o voce tem duas alternativas, estudar ou frequentar a faculdade, d&aacute; para conciliar as duas, mas a prefer&ecirc;ncia ser&aacute; sempre para o estudo, ele que pagar&aacute; o leite de cada dia, ali&aacute;s&#8230; leite n&atilde;o que esse est&aacute; matando ultimamente, e ei que pensei que era a cerveja \ud83d\ude42\n<\/p>\n<p id=\"wqd45\">Typically chemist&#8217;s shop can sale to you with discreet treatments for various soundness problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about &#8220;<a href=\"http:\/\/free-viagrasamples.com\/viagra_coupons.html\">viagra manufacturer coupon<\/a>&#8220;. Maybe &#8220;<a href=\"http:\/\/free-viagrasamples.com\/viagra_coupons.html\">viagra discount coupons<\/a>&#8221; is a very much complicated matter. Matters, like &#8220;<a href=\"http:\/\/free-viagrasamples.com\/viagra_coupons.html\">coupons for viagra<\/a>&#8220;, are coupled numerous types of health problems. If you need to take prescription medications, ask your druggist to check your testosterone levels before. Sometimes the treatment options may turn on erectile malfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile disfunction drugs like Viagra without a formula is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies. <\/p>\n<p><script type=\"text\/javascript\"> end45_(); <\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tenho severas cr&iacute;ticas ao modelo educacional, principalmente o superior. Vou e volto para a faculdade de tempos em tempos, minha escola real est&aacute; nos livros, a faculdade &eacute; pelo diploma porque a falta dele as vezes fecha portas que n&atilde;o tem como serem abertas e em determinados momentos precisam serem ultrapassadas. Minhas cr&iacute;ticas derivam principalmente [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,11,12,39],"tags":[],"_links":{"self":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts\/45"}],"collection":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":0,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.milfont.org\/tech\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}