| Autor |
Mensagem |
|
|
Algo que eu tenho notado recentemente é que tem muito gente insegura sobre seu ponto de vista em relação a determinado assunto fugindo da discussão com a desculpa de que a outra pessoa é um troll.
É claro que há trolls legítimos, que devem sim ser ignorados, mas devemos ter cuidado para não usar a alcunha para qualquer um que nos desafie intelectualmente, apresentando um ponto de vista contrário ao nosso e logicamente bem construído.
|
 |
|
|
deniswsrosa wrote:Como disseram... hoje em dia existem muito mais ricos no brasil do que a 20 anos atrás, mas isso para mim só reafirma minha teoria, pois se são ricos hoje quer dizer que a vinte anos atrás acharam um nicho ótimo ou tiveram uma grande idéia e aos longo desses anos trabalharam e implementaram essa idéia pra hoje em dia serem ricos.
elomarns wrote:
Finalizando, é comum pensarmos que a melhor época para qualquer que seja o ramo em que estamos foi antes de entrarmos neste ramo, mas isso quase sempre é uma desculpa que contamos pra nós mesmos.É comum alguém querer ser grande e/ou querer fazer algo grande, mas não querer passar pelo penoso processo que o levaria até lá, por isso inventa desculpas para si mesmo pra não ver a verdade: você não é rico e/ou grande porque você sequer tentou.
Nesse ponto eu discordo de você, quanto a o que eu disse que esta bem mais difícil se tornar rico hoje em dia com TI, de longe não foi uma desculpa para mim mesmo. Quando a nossa era nasceu e começaram a surgir os primeiros sistemas, um simples cadastro de cliente já seria algo passível de venda por um valor bastante razoável, um micro ERP então, nem se fala. Conforme a área foi crescendo muitas pessoas foram enxergando sistemas que poderiam ser produzidos e vendidos como produto. E lógicamente, com o passar dos anos, milhares de softwares foram desenvolvidos para N nichos, problemas, áreas etc. Isso me leva a seguinte conclusão, será q quanto mais velha uma área for, mais difícil será criar algo inovador nela? ou ela estará sempre se reinventando?
Acontece que há alguns anos atrás "um simples cadastro de cliente" ou um "um micro ERP" não era necessariamente tão simples quanto é hoje, tanto pela evolução natural das ferramentas quanto pelo amudarecimento da área como um todo. Além disso, provavelmente não havia entre a maioria das pessoas a noção de que essas aplicações poderiam render um bom dinheiro, assim como hoje a maioria de nós não temos muita noção de que tipo de aplicação pode nos render uma quantia de dinheiro equivalente. Ou seja, eles estavam arriscando.
Ao analisar o passado, nós temos uma enorme vantagem: perspectiva. Hoje nós sabemos o que deu certo e o que deu errado, então é tentador acreditar que era fácil investir em uma idéia já que ela obviamente daria certo. Mas não era bem assim, as pessoas que estavam vivendo aquele momento não tinham tanta certeza quanto nós temos hoje que o que estavam fazendo poderia render bastante dinheiro.
Enfim, eu acredito que hoje é até mais fácil ficar rico do que no passado, só que tem que ser de forma diferente. O tempo muda as oportunidades.
Uma analogia que eu faria é alguém no início do século passado reclamando que estava para começar uma empresa de venda de carroças, mas que não pode mais ficar rico com isso porque inventaram os carros. Ficar rico com um nicho inventado por outra pessoa é uma oportunidade com prazo de validade, e tão logo esse prazo expire, você tem que criar ou achar outro nicho. No caso da empresa de venda de carroças, ela poderia se adaptar e vender carros, ou vender acessários para carros, ou atuar em algo totalmente diferente. Um nicho satisfeito não implica no fim de todos os demais nichos.
|
 |
|
|
|
A principal implementação do Ruby (MRI) de fato não tem como destaque positivo a sua performance, no entanto, ainda assim ela é performática o suficiente para a maioria das aplicações.
|
 |
|
|
Antes de mais nada, é importante desfazer a noção de que muitas pessoas/empresas fizeram um sucesso estrondoso da noite por dia. Isso é exceção, mesmo entre os empreendedores mais bem sucedidos. A maioria deles trabalharam durante anos até conseguir um sucesso que os fez ser notados por um número realmente grande de pessoas. E como esse público nunca havia ouvido falar deles antes, passaram a acreditar que eles tiveram uma idéia num dia, implementaram no outro, e ficaram bilionários no 3º dia. A verdade é que a extrema maioria dos casos de sucesso são frutos de um trabalho longo e contínuo. Não existe fortuna fácil de ser alcançada. Pelo menos não para a ampla maioria dos que tentarem. O sucesso da noite pro dia leva anos (http://37signals.com/svn/posts/1624-overnight-success-takes-years).
Além disso, uma coisa é ser capaz de fazer algo, e outra completamente diferente é fazer esse algo. Por exemplo, eu sou fisicamente capaz de voltar a praticar a tocar guitarra, e gostaria de fazer isso, mas isso não quer dizer que eu estou disposto a pegar a guitarra e praticar após chegar em casa depois de um dia cansativo de trabalho, ou usar parte do tempo que eu tenho no fim de semana pra isso.
Quando alguém implementa uma idéia, é porque esse alguém tem muito mais do que apenas a idéia e a capacidade de implementá-la. Ele teve coragem, pois estatisticamente falando toda nova idéia tem muito mais chances de fracassar do que de dar certo. Ele teve disposição, pois a menos que se esteja apenas estudando, é difícil conseguir se dedicar a algo por um tempo prolongado tendo tantas coisas que minam sua energia. Ele teve confiança, pois não achou que sua idéia ou implementação era ruim quando viu que ninguém deu a mínima nos primeiros dias. Enfim, são necessárias várias características para por uma idéia em prática.
Também é importante desmitificar o valor da idéia. Ter uma idéia é importante, mas apenas se você implementa ela. Não vale de nada dizer coisas como "Eu tive a idéia do Google" ou "Eu imaginei o Mercado Livre anter dele surgir". Ter boas idéias pode até não ser fácil, mas não tem custo nenhum, não envolve riscos, enfim, é bastante cômodo. Difícil mesmo é por a idéia em prática, e só isso tem valor. Afinal, ninguém pode usar o seu Google imaginário ou vender algum pertence no seu site de leilão que nunca saiu da sua cabeça.
Finalizando, é comum pensarmos que a melhor época para qualquer que seja o ramo em que estamos foi antes de entrarmos neste ramo, mas isso quase sempre é uma desculpa que contamos pra nós mesmos.É comum alguém querer ser grande e/ou querer fazer algo grande, mas não querer passar pelo penoso processo que o levaria até lá, por isso inventa desculpas para si mesmo pra não ver a verdade: você não é rico e/ou grande porque você sequer tentou.
P.S.: Isso não é uma lição de moral para ninguém, ao mesmo tempo que é, incluindo a mim mesmo no bolo.
|
 |
|
|
Giulliano wrote:
UMC wrote:
é mais fácil tio Bill G. comprar o google! rsrsrrsrrrsrs
Pra que o Bill Gates iria comprar o google ??? Ele não precisa de mais nada. Estrategicamente já esta aposentado. : /
A Microsoft possui um valor de mercado de US$252,59 bilhões, e o Google vale US$178,13 bilhões, ou seja, eles são caros demais para serem comprados. Não sei de nenhuma empresa que possua tanto dinheiro em caixa a ponto de poder comprar qualquer uma dessas duas empresas.
|
 |
|
|
kired wrote:Enfim, desenvolver java para sites web (portais, sites pessoais, etc...) realmente é um desperdício, agora comparar sistemas que rodam na web feitos em Java com sistemas em PHP é sacanagem. Sem contar que acho o código Java muito mais limpo e legível que o PHP.
Por que é sacanagem "comparar sistemas que rodam na web feitos em Java com sistemas em PHP"? Até onde eu sei, nenhuma das duas linguagens é inerentemente superior a outra no quesito aplicações Web. E exatamente por isso, a afirmação "acho o código Java muito mais limpo e legível que o PHP" não faz o menor sentido. De quê código Java você está falando? E de que código PHP? É completamente sem sentido afirmar que um código qualquer não especificado escrito em uma linguagem é mais limpo e legível que um outro código qualquer também não especificado escrito em outra linguagem.
|
 |
|
|
ViniGodoy wrote:Elomarns, acho que vc acidentalmente duplicou o seu post. O texto está escrito 2 vezes. Pode editar ali em cima e corrigir?
Aliás, concordando com o que você falou, vi algumas coisas em PHP recentemente que me surpreenderam. Tanto pela evolução da linguagem, quanto do estilo de programar da própria comunidade.
Para citar 3 exemplos: PrestaShop, Wordpress e Joomla.
Todos com códigos bem escritos, fáceis de manter, performáticos e com usuários de escalas consideráveis. E sem tanta burocracia.
ViniGodoy, é um fato que a comunidade PHP tem uma fama de ser bastante desleixada em relação a características importantíssimas no desenvolvimento de software, como clareza do código, coesão, acoplamento e cobertura de testes automatizados. No entanto, pra ser sincero, eu acho que essa é uma fama merecida. A maior parte da comunidade PHP realmente programa de forma a ter algo funcionando e pronto. A razão disso ocorrer é que devido ao PHP ser bem fácil, muitas pessoas sem maiores conhecimentos sobre desenvolvimento de software se aventuram a programar na linguagem. Obviamente o PHP em si não tem nenhuma parcela de culpa nisso
Em relação às aplicações que você mencionou, eu já olhei o código de apenas uma: o WordPress. Na minha opinião, não há sistema de blogs melhor do que o WordPress. No entanto, se você tiver que mudar algo no código dele precisará de paciência. Da última vez que eu vi, o código era medonho, com classes gigantes responsáveis por todas as letras do MVC. E pelo que tenho lido recentemente, acho que isso não mudou em nada. Sendo assim, acho que você deve ter dado sorte ao olhar o código do WordPress, tendo visto uma parte mais bem escrita do que a média.
Aliás, eu diria que em geral o código de aplicações open source PHP é bem ruim. Além do WordPress, já tive que alterar o código de uma instância do Zen Cart, e posso dizer que a situação ali também era péssima. E como já vi pessoas reclamando da qualidade do código de várias outras aplicações open source feitas com o PHP, e considerando a falta de preparo de boa parte dessa comunidade, eu diria que código ruim é regra nos projetos open source em PHP, e não exceção.
Mas como disse acima, a culpa não é da linguagem, que resolve bem o problema a que se proõe. Além disso, a comunidade PHP aos poucos está amadurecendo. É meio tarde, mas é melhor do que nunca.
|
 |
|
|
ViniGodoy wrote:Elomarns, acho que vc acidentalmente duplicou o seu post. O texto está escrito 2 vezes. Pode editar ali em cima e corrigir?
Aliás, concordando com o que você falou, vi algumas coisas em PHP recentemente que me surpreenderam. Tanto pela evolução da linguagem, quanto do estilo de programar da própria comunidade.
Para citar 3 exemplos: PrestaShop, Wordpress e Joomla.
Todos com códigos bem escritos, fáceis de manter, performáticos e com usuários de escalas consideráveis. E sem tanta burocracia.
É verdade, o conteúdo do post foi duplicado mesmo. Geralmente me sinto mais a vontade escrevendo textos um pouco mais longos em um editor de texto, e acabei colando duas vezes sobre o text area do GUJ.
Enfim, já corrigi o post, e desculpe o engano.
|
 |
|
|
Concordo plenamente com a autora do texto, que, aliás, escreve muito bem.
Assim que comecei a estudar o Java, eu achei a linguagem maravilhosa, e acabei me tornando o típico Java fan boy. Mas com o tempo, e principalmente com experiência em projetos reais, eu percebi que as coisas não eram tão fáceis como eu achava (e ainda acho) que deveriam ser.
Nessas situações nós tendemos a nos culpar, questionando a nossa inteligência ou aptidão para a o programação, e naturalmente eu também passei por esse processo. Mas novamente o tempo passa, e eu acabei percebendo que eu não era tão burro quanto imaginava, e que provavelmente o problema não estava comigo.
Digo isso porque eu acabei tendo contato com outras tecnologias, sendo que todas elas obviamente também possuem seus problemas, mas algumas delas me pareceram consideravelmente mais simples que o Java em aspectos que me importavam, como desenvolver facilmente uma aplicação Web que faça as operações básicas no banco de dados.
Sei que o que vou dizer nessa frase pode ativar o flag trollarComoSeNaoHouvesseAmanha de alguns usuários do GUJ, mas eu acho que utilizar o Java para Web foi uma das piores idéias de todos os tempos.
Hoje eu não gosto mais de programar com o Java, mas admito que a linguagem tem seus méritos. No entanto, me parece que o Java simplesmente não foi feito para a Web, e nem poderia, já que a Web estava engatinhado quando iniciou-se o desenvolvimento do Java.
Eu sempre vi o Java como uma versão mais segura e amigável do C++, mas assim como esse último, me parece que tentar aplicar o Java para desenvolvimento Web era tentar usar algo antiquado e verboso em um ambiente mais dinâmico. Dá pra fazer, assim como dá pra criar aplicações Web com C++, mas não me parece uma boa idéia.
Uma analogia que eu sempre tive na minha cabeça é que o Java é música clássica, e a Web é uma festa. Ou seja, os dois simplesmente não combinam.
Ainda que a plataforma tenha obtido bastante sucesso no desenvolvimento Web, eu credito esse sucesso ao poder que a Sun tinha no início da década passada. Se pararmos pra pensar imparcialmente, o que eu sei por experiência própria que é difícil quando estamos apaixonados por uma tecnologia, veremos que a imensa maioria das aplicações Web que desenvolvemos em Java poderiam ser desenvolvidas com outras tecnologias mais simples, como Ruby on Rails, PHP e Python. E sem perdas.
Eu sei que o lado troll do típico Java fan boy diria que essas tecnologias são "quick and dirty", que são toscas, que tornam a manutenção um parto, que não escalam pra mais do que meia dúzia de usuários, entre outras idiotices que contamos a nós mesmos para nossa tecnologia preferida não parecer inadequada em um dado cenário. Eu sei disso porque eu já estive nessa posição, e disse e pensei coisas que hoje eu acredito serem incrivelmente idiotas.
Mas a realidade é que essas tecnologias são sim adequadas para a maioria das aplicações Web, e também são perfeitamente capazes de produzir código limpo, fácil de manter, e com uma suite de testes abrangente. Basta lembrar que a maioria dos sites mais populares da Web não têm no seu núcleo o Java, e sim o PHP (LAMP, sendo mais específico). Isso já prova, na mais cética das hipóteses, que o Java não inventou a escalabilidade, e que outras tecnologias podem sim ser aplicadas em sites com muitos milhões de pages views mensais.
Na verdade, é interessante notar que nesse sentido é o Java que tem que provar seu valor, já que dos sites mais populares, eu só me lembro do Linkedin e dos sites relacionados ao Google que possuem o Java como tecnologia base. Eu imagino que devem existir outros, mas é inegável que ele não é a tecnologia server side dominante na "Web pública". Isso, ao meu ver, reforça o meu ponto de que o Java não foi feito para a Web, e que não é a melhor opção para a extrema maioria das aplicações Web. Caso contrário, porque tantos sites que deram tão certo passaram longe do Java. Desconhecimento? Duvido muito.
Outro ponto que me faz ver que o Java e a Web são opostos que não se atraem de forma nenhuma é o fato de que todo web designer que eu conheço odeia o Java, e acha que se trata da pior plataforma do mundo para a Web. E aqui eu não estou falando de pilotos de Photoshop/Fireworks, e sim de web designers de verdade, ou seja, pessoas que conhecem tudo sobre coisas como tipografia, teoria das cores e usabilidade, mas que também sabem mais sobre HTML/XHTML, CSS e JavaScript do que qualquer programador que eu já vi.
Esse tipo de profissional, cujo habitat natural é a Web, raramente se dá bem com o Java, pois se trata de uma tecnologia cujo feeling é muito diferente das tecnologias de base da Web. E olha que o melhor web designer que eu conheço sabia programar em C++, Objective-C, PHP e Ruby, mas ainda assim odiou o Java. Ou seja, a desculpa "odeia porque não conseguiu aprender" não é nem de longe válida aqui.
Aliás, esse argumento é péssimo sempre, além de ser um tiro no próprio pé. Se um número grande de desenvolvedores não consegue aprender uma tecnologia que deveria fazer algo comum como aplicações Web com CRUDs e relatórios, devemos, no mínimo, desconfiar que o problema está na tecnologia.
Enfim, o que estou tentando dizer aqui é que não foi exatamente a programação que se tornou mais complicada, e sim que a linguagem mais popular do mundo nos últimos anos possui uma visão mais burocrática do desenvolvimento de software. E por ser a linguagem dominante, essa complexidade atingiu inúmeros desenvolvedores, dando a impressão que desenvolver software hoje é mais difícil. E com isso foi-se embora o que pra mim é o fator mais importante: a diversão.
|
 |
|
|
O motivo para essa proibição é realmente nebuloso, já que teoricamente quanto mais aplicações a App Store tiver melhor para a Apple, uma vez que ela ganha 30% na venda de cada aplicativo.
No entanto, como a App Store no momento já possui mais de 150.000 aplicações, ela acabou se tornando uma plataforma muito poderosa, logo, a Apple não precisa mais se esforçar para atrair desenvolvedores. As empresas e desenvolvedores independentes irão publicar seus aplicativos na AppStore de qualquer forma, mesmo com essa nova restrição, já que muitas empresas possuem seu modelo de negócio quase que totalmente focado na App Store.
Então, se essas empresas desenvolveram ou pretendiam desenvolver aplicações usando ferramentas intermediárias ao invés de usar o iPhone SDK com o Objective-C, elas provavelmente irão usar as ferramentas indicadas pela a Apple de agora em diante, já que algumas dessas empresas ganham milhões com a App Store. Por exemplo, o jogo Plants vs Zombies gerou um lucro de 1 milhão de dólares só nos 9 primeiros dias de venda. É evidente que empresas como a PopCap, que o desenvolveu, lançarão seus produtos mesmo que tenham que ficar presos ao Objective-C, já que não podem dar as costas a um lucro tão grande e de certa forma fácil.
Sendo assim, é provável que o mercado acabe tendo mais pessoas qualificadas para desenvolver usando Objective-C, o que causa o efeito colateral de ter mais desenvolvedores habilitados a desenvolver para o Mac OS X. Isso poderia explicar essa nova restrição, ainda mais agora que há boatos que a Apple crie uma Mac App Store.
Por fim, vale lembrar que a proibição da Apple só é referente a App Store, ainda é possível desenvolver usando outras tecnologias e instalar o aplicativo no seu iPhone/iPod Touch/iPad, ou até mesmo lançar em uma loja alternativa para dispositivos desbloqueados, como a Cyndia.
|
 |
|
|
Recentemente comecei a estudar Objective-C visando desenvolver para o iPhone OS e também para o Mac OS X, e posso dizer que inicialmente a linguagem realmente assusta, até porque ela tem uma sintaxe meio críptica à primeira vista. Além disso, ela está mais próxima do C/C++ do que de linguagens de mais alto nível, como o Java, o que afasta muitos desenvolvedores, já que hoje estamos mais acostumados a não nos preocupar com coisas como gerenciamento de memória. Mas depois de um tempo você acostuma e passa a gostar da linguagem, pelo menos foi o meu caso.
Além disso, Objective-C tem coisas bem interessantes, como a orientação a objetos focado em envio de mensagens, inspirada na implementação da orientação a objetos do Smalltalk.
Em relação às ferramentas, eu acho o Xcode excelente, e, talvez por ainda estar começando meu estudo sobre a linguagem, acho que ela não fica devendo nada à IDEs como o Eclipse. Adicionalmente, até acho mais agradável trabalhar com Xcode, até porque muitas das desvantagens creditadas a ele na verdade são da linguagem. Isso sem mencionar o Interface Builder, que é o melhor GUI Builder que eu já usei.
Vale lembrar para quem sugeriu o Mono Touch que ontém a Apple mudou os termos do contrato com os desenvolvedores, impedindo que aplicações desenvolvidas com ferramentas intermediárias sejam lançadas na App Store, o que inclui aplicações desenvolvidas com o Mono Touch, Unity, Game Salad, Adobe Creative Suite 5 (ainda a ser lançada), etc.
|
 |
|
|
|
Um tópico que eu acho que seria interessante abordar no site seria desenvolvimento de jogos para o iPhone.
|
 |
|
|
Algo que a comunidade Ruby já assimilou e que faria bem parte da comunidade Java também entender é que mesmo que em alguns cenários a plataforma seja lenta, ela é rápido o suficiente para a maioria das situações, até porque a grande maioria das aplicações comerciais não têm requisitos tão críticos de performance.
O mais importante, ao meu ver, é a performance dos desenvolvedores, ou seja, a produtividade. Isso sim me faz optar por uma plataforma específica em algum projeto.
|
 |
|
|
|
Eu comprei um MacBook Pro recentemente e definitivamente valeu a pena. Mas no meu caso eu aproveitei o Black Friday, e ganhei R$400 de desconto num modelo com 4GB de RAM. De qualquer forma, acho que o MacBook White de 13" está com um preço razoável, e vale a compra.
|
 |
|
|
asaudate wrote:
elomarns wrote:
asaudate wrote:
elomarns wrote:Embore ache que "desenvolvedor de software" expresse melhor o conjunto de atividades que costumamos fazer, não vejo problema nenhum com a palavra "programador". Até porque, a maioria das pessoas sabe o que é um programador, por isso fica mais fácil explicar para terceiros o que fazemos do que usando "desenvolvedor" ou "analista de sistemas" (essa expressão sim me desagrada).
Por fim, vale mencionar que pessoas do calibre do Dennis Ritchie se definem como programador, portanto, estar na mesma categoria que o criador do C e um dos criadores do Unix não pode ser demérito.
E na mesma categoria dos estagiários da empresa, também!
Se você prefere nivelar por baixo, em termos de conhecimento e experiência (não joguem pedras em mim, estagiários), sim. Já eu fico satisfeito com uma expressão que descreve razoavelmente bem o que eu faço, é de fácil compreensão para leigos, e que é suficiente para gente muito mais competente do que eu, citando novamente pessoas como Dennis Ritchie.
Na real, o comentário não foi feito nivelando... é que, de fato, é um termo beeeem abrangente!
EDIT: "gerente" também é um termo que define muitas coisas, não?
Concordo que "programador" é um termo bem abrangente, mas a nossa profissão é mesmo abrangente. Por exemplo, dois desenvolvedores podem executar o mesmo conjunto de tarefas (definição da arquitetura, implementação das features e criação dos testes automatizados, por exemplo), mas por usarem tecnologias e metodologias diferentes, na prática, o trabalho deles pode ser bem diferente.
No fim das contas, tanto "programador" quanto "desenvolvedor de software" são expressões vagas. E mesmo a primeira sendo um subconjunto da segunda, eu não a considero indigna, já que ela expressa uma das mais importantes atividades do desenvolvimento de software, sendo em geral justamente a atividade que nos trouxe a esta indústria. Além disso, como disse antes, "programador" tem o bônus de não precisar ser explicado.
|
 |
|
|
|
|