April 7th, 2008Que caminho seguir no desenvolvimento web? (parte 1)
Sei que andei um pouco relaxado em relação a esse blog, mas um monte de coisa aconteceu. Entre elas o fato de eu ter ficado mais de 2 meses sem computador, porque meu notebook deu o segundo defeito em menos de 3 meses e acabei me livrando dele. Mas voltando ao assunto do post…
Recebi uma sugestão do cara que é provavelmente meu mais antigo leitor aqui no blog, o Victor Mendes. E a sugestão dele é mesmo muito boa. Tão boa que resolvi criar uma série só com isso. O Victor, assim como muitas outras pessoas, está na faculdade, aprendendo essa coisa complicada que é a programação, e não sabe muito bem o caminho que vai escolher. O principal motivo disso, claro, é que as opções existentes simplesmente são mal explicadas, cheias de boatos e meias informações.

O melhor meio de resolver isso, então, é mostrar tudo o que sei dos caminhos a tomar, com seus prós e contras. Eu queria deixar claro pra todo mundo que tudo que vou falar aqui é sem frufrus, curto e grosso. Você pode discordar das coisas que falo, mas não me venha com papo de fanboy de que “minha linguagem é a melhor de todas”, porque não tenho mais paciência pra esse tipo de gente.
O foco vai ser o desenvolvimento web, mas antes disso preciso falar sobre duas linguagens muito usadas no desenvolvimento de aplicações desktop: C++ e Java. Principalmente porque você VAI ver estas linguagens na faculdade, e nada melhor do que ouvir opiniões sobre elas.
C++
Pessoalmente eu classifico as linguagens de programação entre dois extremos. Se imaginarmos que toda linguagem é um veículo que serve pra te levar do Rio de Janeiro pra São Paulo, podemos imaginar os extremos assim:
Temos as linguagens são como um caça. Se você souber os botões certos, elas podem te levar pra São Paulo bem rápido. Mas saber os botões certos é o principal problema. Quando você entra num caça e olha pro painel, vê que tem tanto botão, tanto mostrador, tantas alavancas que é complicado até mesmo fazer aquilo começar a se mover. Por outro lado, temos as linguagens que são como um trem. Basta entrar na cabine, empurrar a alavanca pra frente e garantir de que está nos trilhos certos, e você chega a São Paulo.
C++, pra você entender, é o caça. Não só o caça, mas é o caça com a maior quantidade de botões, painéis e alavancas. Pra você realmente fazer um caça C++ levantar vôo, voar rápido e chegar em São Paulo você precisa ser um senhor programador, e tem uma paciência de Jó. O código C++ é visualmente feio, cheio de códigos ilegíveis, você tem que ficar se preocupando com os malditos ponteiros… e mesmo que aprenda tudo isso, as ofertas de emprego são poucas.
É sério, as pessoas preferem outras linguagens pra desenvolver programas desktop, justamente pra evitar o trabalho extra e a dor de cabeça. Apesar disso tudo, nas mãos do programador certo, os programas C++ podem ser bem leves e rápidos.
Java
Ah, o java, o queridinho das empresas. Não posso garantir daqui a muitos anos no futuro, mas sabendo Java você terá facilidade de arranjar emprego, já que a impressão que se dá é de que toda maldita empresa usa java. Voltando à nossa analogia, Java ainda está muito mais pro lado do caça, só que é um caça com menos botões e alavancas. A desvantagem? É um caça com um único motor, e esse motor foi adaptado de um Fusca ‘87.
A menos que você tenha um computador bem rápido e moderno, os programas Java vão ser pesaaaaados lentos. Mas mesmo assim são bastante usados. Estou falando sério, nos computadores aqui onde trabalho eu não posso nem sonhar em usar uma IDE feita em java, porque basta abrir a IDE que todo o computador pára.
Mas se você quer seguir o caminho do desenvolvimento pra desktop, muito provavelmente vai ter que aprender Java. Ao menos fique feliz que Java não é C++, e você não terá que ficar se preocupando com os ocultismos bizarros necessários pra se fazer um programa em C++.
E na web?
Bom, escrevi demais… isso fica pras próximas partes.
Escrevi outras partes deste artigo. Leia aqui a parte 2, e a parte 3.
April 7th, 2008 at 10:25 pm
Finalmente o inicio de algo esclarecedor e sem frescuras, como vc falou o C++ é um caça, eu na faculdade antes de começar java estou vendo a linguagem C , conheço pouco de C++ , mas pela basica instrução que tenho de C ja vejo como deve ser C++, é um saco ter que ficar se preocupando com ponteiros e etc, tudo de menos dinamico possivel.
Java eu conheço pouco, só o que li, mas estudarei na faculdade a partir do proximo periodo, na pior das hipoteses se eu estudar um pouco vou ter um chance de arrumar um emprego.
E é fato isso que você disse de java ser mais lento, por rodar em maquina virtual ele torna execução muito lenta(eu acho), e muitas pessoas e empresas não tem os melhores computadores , essa ainda não é a realidade do país em que vivemos.
Espero ansioso pras proximas partes dessa série.
Abraço e ótima terça.
April 9th, 2008 at 1:28 pm
[...] Esta é a continuação de outro artigo. Se não leu o primeiro, leia Que caminho seguir no desenvolvimento web? (parte 1). [...]