PayPal muda de Java para JavaScript

Isso varia dependendo do banco. Alguns (como o MongoDB) tem como premissa a integridade, tanto quanto um banco tradicional. Já outros sacrificam um pouco em nome da performance e alta disponibilidade

Um exemplo desse segundo caso é o Riak, ao gravar um dado ele pode retornar sucesso para o cliente e depois replicar em background para outros servidores do Cluster, sem garantias. Se houver falha de comunicação entre as instâncias elas continuam respondendo a requisições de cliente, mesmo havendo a possibidade de dados desatualizados. Essas características são configuráveis para obter um meio-termo razoável para sua aplicação.

[quote=Vina]
Quando digo custo, me refiro ao custo computacional. Pela própria natureza das foreign keys no modelo relacional, é menos custoso fazer uma consulta join-like no relacional do que simular uma no MongoDB.[/quote]

Banco de dados relacional é uma solução fechada para problemas antigos.

Quem trabalha com bigdata hoje precisa combinar dados de diferentes origens, cruzar com dados que estão na memória, executar algoritmo neles, observar o resultado.

Essas coisas são praticamente impossíveis de serem feitas usando um banco de dados tradicional, pra isso existem soluções nosql. Não faz sentido comparar custo de soluções que procuram obter resultados diferentes.

lkbm viajei mesmo …

[quote=JDesenvolvedor][quote=Vina]
Quando digo custo, me refiro ao custo computacional. Pela própria natureza das foreign keys no modelo relacional, é menos custoso fazer uma consulta join-like no relacional do que simular uma no MongoDB.[/quote]

Banco de dados relacional é uma solução fechada para problemas antigos.

Quem trabalha com bigdata hoje precisa combinar dados de diferentes origens, cruzar com dados que estão na memória, executar algoritmo neles, observar o resultado.

Essas coisas são praticamente impossíveis de serem feitas usando um banco de dados tradicional, pra isso existem soluções nosql. Não faz sentido comparar custo de soluções que procuram obter resultados diferentes.[/quote]

Simplesmente não. SQL não é para soluções “antigas”, ele vai muito bem obrigado o marketing do NoSQL e o hype do BigData que fazem esta propaganda, SQL e NOSQL se complementam, cada é uma solução para um range de situações.

Um exemplo: Facebook, Twitter e LinkedIn usam MySQL em partes dos seus sistemas, assim como NoSQL em outras partes.
fonte: http://www.itnews.com.au/News/357842,social-networks-stick-with-mysql.aspx

O hype do BigData é que está criando marketig que SQL já não serve para nada… e o pior na minha opinião é que consideram BigData qualquer sistema web de medio porte …

Meu problema com o Node.js é todo o hype que o envolve.

Pra começar o papo furado de que é uma plataforma de tempo real (já escrevi sobre isto: http://www.itexto.net/devkico/?p=1698 ).

Outro problema que vejo: há alguns mitos.

“O sonho de todo desenvolvedor é ter uma só linguagem para front e backend”. Será? Visual Basic e Delphi eram assim. Será que é realmente tão lindo assim? Ou será que é mais interessante usar a ferramenta certa pro lugar certo?

“Javascript é uma linguagem mais moderna”. Será que é mesmo? Até bem pouco tempo atrás as críticas contra o Javascript eram muitas e na maior parte muito bem fundamentada. O Javascript executado pelo Node.js é o mesmo que foi criticado anos atrás. Será que é uma linguagem tão moderna e fantástica assim MESMO? Ou será que o hype e toda a propaganda tá falando mais alto que as críticas hoje? (e por falar mais alto, por estar fazendo mais fanfarra, não por estar dando razões efetivas)

Será que Node.js poderia ser usado para desenvolver aplicações corporativas (quem realmente paga a conta) de qualidade? Este é um grande teste na minha opinião. Por que vêmos tão poucas?

Será que o Paypal trocou TUDO por Node.js mesmo? Ou será que trocou apenas algumas partes?

Há uma série de questões que não são respondidas que eu realmente gostaria de ver.
Node.js é ruim? Não. Node.js é a cura para todos os nossos problemas? Não. Node.js é a evolução final? Com certeza não?
E o hype, é imenso? Com certeza sim.

Uma última pergunta: Node.js em teoria unificaria front e backend. Será que é interessante profissioalmente isto? Será que é justo um programador backend de repente se ver forçado ao frontend ou vice-versa? Onde ficam os fatores humanos nesta história?
Não estaríamos construindo o famoso especialista em porra nenhuma, que atua nas duas pontas e acaba não fazendo nada direito?

São bons pontos para se pensar na minha opinião.

Concordo em muitos pontos com o Kico.

Eu até evito postar em tópicos assim, porque já levei muita porrada do tipo “Como você ainda tem coragem de trabalhar com Java? Gosta de ficar escrevendo nessa linguagem horrível e bla bla bla?”

Quando na verdade o produto final tem qualidade muito boa e provada por anos e anos de evolução. Não estou dizendo que Node.js seja ruim, mas também tenho certas dúvidas em relação a tecnologias que são promovidas com tanto hype e entusiasmo. Se ela for boa mesmo e a solução “ideal” de uma linguagem só, só o tempo dirá, mas eu não concordo. Como não concordo que uma linguagem só em tudo é a solução ideal.

A JVM pra mim é simplesmente sensacional para o server-side de aplicações corporativas, até hoje não vi motivos para não usá-la, e sempre me dei bem nessa escolha. Mas lembrando também, que usar a JVM não quer dizer que só vou programar em Java

Eu li muitos equivocos com relação a node.js nesse tópico.

Vejamos o que diz o site oficial http://nodejs.org/

Ou seja, existe um foco no Node.js que é maior do que simplesmente rodar javascript no servidor. É possivel rodar javascript server side há anos. Dentre outras formas podemos fazer via Java 1.6 com a engine de scripting javax.script.*

Por exemplo:
http://www.java2s.com/Code/Java/JDK-6/UseJavascriptingengineJDK16.htm

Mesmo sem java. Se alguem aqui ja brincou com CGI-BIN na unha sabe que qualquer coisa que possa ser executada na linha de comando pode ser usado como gerador de pagina dinâmica server side (bem vindo a 1999), basta respeitar as convenções do protocolo. Eu ja vi gente fazendo pagina em Fortran 77.

Interpretadores standalone de javascript (ou algo parecido) existem há muito tempo, nos mais variados lugares. me lembro que o Flash Media Server (produto de streaming de conteudo multimídia da Adobe) rodava javascript server side (acho que eles chamavam de outra coisa, tipo ActionScript 2.0). Deve ter algum jogo que use js na parte de scripting (hoje Lua com certeza é popular nesse ramo).

O que é novo é que não é facil lidar com I/O, principalmente se o seu gargalo é isso. Todo mundo aqui deve ser craque em fazer uma tela bonitinha com menus drop-down e outras paradas, aquele sistemão gostoso que vai ser usado por 2 a 200 pessoas cheio de cadastro basico e telas pra controle de estoque e contas a pagar, por exemplo. Agora vai fazer algo com uso intenso de I/O. Não acho que vc, que esta lendo, seja incapaz disso, mas o desenvolvedor médio não tem experiência com isso. Geralmente saiu do problema “mete um cache” ferrou.

E I/O não bloqueante? Isso pode ter um belo suporte na JVM mas quem ja usou na pratica? A noção de bloquear é algo que esta presente (também) no sistema operacional (que a maquina virtual tende a abstrair para a gente) e isso vai mudar dependendo do SO.

Node.js popularizou-se porque tem uma boa comunidade, tem bons cases, tem uma linguagem facil ( a sintaxe é C like, e vc ainda pode fazer uns xunxos e dizer que esta programando OO via prototipos). Logo se vc quer fazer um chat usando websockets vc pode fazer com menos overhead usando Node e vc vai estar apredendo não apenas mais JavaScript como vai estar usando uma forma diferente de programar.

Conhecimento não pesa e nem ocupa espaço. Eu nunca fiz nem um hello world com Node. Ele pode trazer uma vantagem que é forcar todo o mundo a aprender algo novo. Isso é particularmente interessante se vc tem um time onde todo mundo faz sempre a mesma coisa e não consegue aprender conceitos novos pq tem a desculpa do legado. É a mesma coisa com Ruby: toda a vez que vi (minha experiência é pequena, é claro) trocar Java por Ruby foi pq galera não sabia testar, fazia codigo macarrão, OO quase procedural, etc. É claro que tem o mimimi de performance - que pode ser resolvido pontualmente as vezes, cache, lembram? - e o mimimi do monkeypatch (sim tem ruby gems que são uma bosta ou ficaram uma bosta com o passar do tempo). Nada que a comunidade Java não tenha de problemas e vantagens.

É facil de fazer merda? sim, como qualquer tecnologia. Aposto que com Vert.x também da pra fazer muita merda. Qualquer desenvolvedor que não saiba a diferença entre select e poll VAI fazer merda com I/O bloqueante. Qualquer um sem uma boa base vai se borrar de medo com Callback Hell (se bem que tem promisses).

Se me perguntasse: que tal usar node.js hoje eu diria “nao quero”. O que eu não quero é o overhead de lidar com uma linguagem nova, um backend novo, gente sem experiência em resolver bugs, em botar isso em produção e escalar essa parada. Seria o mesmo pra Python (e olha que tenho experiência com isso). Tudo depende do contexto, se vc tem gente boa no time e gente com experiência vc pode tentar, senão vai ser arriscado ( o que vc minimiza com pesquisa, mas quem tem tempo de pesquisar? ).

Sugestão: brinquem com isso. Mas sejam céticos. Fanboy de node.js é algo nojento, como é nojento qq tipo de fanboy.

[quote=mcarabolante]
Simplesmente não. SQL não é para soluções “antigas”, ele vai muito bem obrigado o marketing do NoSQL e o hype do BigData que fazem esta propaganda, SQL e NOSQL se complementam, cada é uma solução para um range de situações.

Um exemplo: Facebook, Twitter e LinkedIn usam MySQL em partes dos seus sistemas, assim como NoSQL em outras partes.
fonte: http://www.itnews.com.au/News/357842,social-networks-stick-with-mysql.aspx

O hype do BigData é que está criando marketig que SQL já não serve para nada… e o pior na minha opinião é que consideram BigData qualquer sistema web de medio porte …[/quote]

Nas partes novas. :wink:

Até hoje tem quem ache NoSQL uma novidade. Eles dormiram nas aulas de Banco de Dados onde se discutiu Modelo Relacional, Rede e Hierárquico ?

Claro que existe novidade, existe o CAP Theorem, etc. Mas parte do NoSQL sempre existiu, só ninguem usava este nome.

Isso quando não usam como forma de eliminar o DBA, esse eterno vilão.

[quote=peczenyj]Até hoje tem quem ache NoSQL uma novidade. Eles dormiram nas aulas de Banco de Dados onde se discutiu Modelo Relacional, Rede e Hierárquico ?

Claro que existe novidade, existe o CAP Theorem, etc. Mas parte do NoSQL sempre existiu, só ninguem usava este nome.

Isso quando não usam como forma de eliminar o DBA, esse eterno vilão.[/quote]

Escrevi exatamente sobre isto alguns meses atrás: http://www.itexto.net/devkico/?p=1510

[quote=kicolobo][quote=peczenyj]Até hoje tem quem ache NoSQL uma novidade. Eles dormiram nas aulas de Banco de Dados onde se discutiu Modelo Relacional, Rede e Hierárquico ?

Claro que existe novidade, existe o CAP Theorem, etc. Mas parte do NoSQL sempre existiu, só ninguem usava este nome.

Isso quando não usam como forma de eliminar o DBA, esse eterno vilão.[/quote]

Escrevi exatamente sobre isto alguns meses atrás: http://www.itexto.net/devkico/?p=1510[/quote]

Aliás, eu vou além: o TERMO “NoSQL” não tem muito significado quando você analisa de perto: http://www.itexto.net/devkico/?p=1523

E sabem o que acho mais engraçado? É esta ausência total de conhecimento conceitual.
Recentemente em uma discussão com um fulano que se vende por aí como “expert NoSQL” (repare no título que o sujeito se dá) o sujeito não sabia diferenciar entre “banco de dados” e “sistema gerenciador de banco de dados”.

[quote=peczenyj]Eu li muitos equivocos com relação a node.js nesse tópico.

Vejamos o que diz o site oficial http://nodejs.org/

Ou seja, existe um foco no Node.js que é maior do que simplesmente rodar javascript no servidor. É possivel rodar javascript server side há anos. Dentre outras formas podemos fazer via Java 1.6 com a engine de scripting javax.script.*

Por exemplo:
http://www.java2s.com/Code/Java/JDK-6/UseJavascriptingengineJDK16.htm

Mesmo sem java. Se alguem aqui ja brincou com CGI-BIN na unha sabe que qualquer coisa que possa ser executada na linha de comando pode ser usado como gerador de pagina dinâmica server side (bem vindo a 1999), basta respeitar as convenções do protocolo. Eu ja vi gente fazendo pagina em Fortran 77.

Interpretadores standalone de javascript (ou algo parecido) existem há muito tempo, nos mais variados lugares. me lembro que o Flash Media Server (produto de streaming de conteudo multimídia da Adobe) rodava javascript server side (acho que eles chamavam de outra coisa, tipo ActionScript 2.0). Deve ter algum jogo que use js na parte de scripting (hoje Lua com certeza é popular nesse ramo).

O que é novo é que não é facil lidar com I/O, principalmente se o seu gargalo é isso. Todo mundo aqui deve ser craque em fazer uma tela bonitinha com menus drop-down e outras paradas, aquele sistemão gostoso que vai ser usado por 2 a 200 pessoas cheio de cadastro basico e telas pra controle de estoque e contas a pagar, por exemplo. Agora vai fazer algo com uso intenso de I/O. Não acho que vc, que esta lendo, seja incapaz disso, mas o desenvolvedor médio não tem experiência com isso. Geralmente saiu do problema “mete um cache” ferrou.

E I/O não bloqueante? Isso pode ter um belo suporte na JVM mas quem ja usou na pratica? A noção de bloquear é algo que esta presente (também) no sistema operacional (que a maquina virtual tende a abstrair para a gente) e isso vai mudar dependendo do SO.

Node.js popularizou-se porque tem uma boa comunidade, tem bons cases, tem uma linguagem facil ( a sintaxe é C like, e vc ainda pode fazer uns xunxos e dizer que esta programando OO via prototipos). Logo se vc quer fazer um chat usando websockets vc pode fazer com menos overhead usando Node e vc vai estar apredendo não apenas mais JavaScript como vai estar usando uma forma diferente de programar.

Conhecimento não pesa e nem ocupa espaço. Eu nunca fiz nem um hello world com Node. Ele pode trazer uma vantagem que é forcar todo o mundo a aprender algo novo. Isso é particularmente interessante se vc tem um time onde todo mundo faz sempre a mesma coisa e não consegue aprender conceitos novos pq tem a desculpa do legado. É a mesma coisa com Ruby: toda a vez que vi (minha experiência é pequena, é claro) trocar Java por Ruby foi pq galera não sabia testar, fazia codigo macarrão, OO quase procedural, etc. É claro que tem o mimimi de performance - que pode ser resolvido pontualmente as vezes, cache, lembram? - e o mimimi do monkeypatch (sim tem ruby gems que são uma bosta ou ficaram uma bosta com o passar do tempo). Nada que a comunidade Java não tenha de problemas e vantagens.

É facil de fazer merda? sim, como qualquer tecnologia. Aposto que com Vert.x também da pra fazer muita merda. Qualquer desenvolvedor que não saiba a diferença entre select e poll VAI fazer merda com I/O bloqueante. Qualquer um sem uma boa base vai se borrar de medo com Callback Hell (se bem que tem promisses).

Se me perguntasse: que tal usar node.js hoje eu diria “nao quero”. O que eu não quero é o overhead de lidar com uma linguagem nova, um backend novo, gente sem experiência em resolver bugs, em botar isso em produção e escalar essa parada. Seria o mesmo pra Python (e olha que tenho experiência com isso). Tudo depende do contexto, se vc tem gente boa no time e gente com experiência vc pode tentar, senão vai ser arriscado ( o que vc minimiza com pesquisa, mas quem tem tempo de pesquisar? ).

Sugestão: brinquem com isso. Mas sejam céticos. Fanboy de node.js é algo nojento, como é nojento qq tipo de fanboy.[/quote]

nuss, melhor texto até agora.

Facebook e Twitter começaram como um sistema web de pequeno porte, nenhum problema com isso. Programadores inexperientes adoram criar sistemas enormes mas quando falamos de bigdata não é o “porte” do sistema que precisa ser big.

ps: Provavelmente o futuro sucessor do facebook vai ser um app nativo de pequeno porte (talvez whatsapp?) por que as pessoas estão abandonando a web!

[quote=peczenyj]Até hoje tem quem ache NoSQL uma novidade. Eles dormiram nas aulas de Banco de Dados onde se discutiu Modelo Relacional, Rede e Hierárquico ?

Claro que existe novidade, existe o CAP Theorem, etc. Mas parte do NoSQL sempre existiu, só ninguem usava este nome.

Isso quando não usam como forma de eliminar o DBA, esse eterno vilão.[/quote]

Não sei pra vc, mas fazer em minutos o que um dba experiente leva horas é uma novidade pra mim!

Facebook e Twitter começaram como um sistema web de pequeno porte, nenhum problema com isso. Programadores inexperientes adoram criar sistemas enormes mas quando falamos de bigdata não é o “porte” do sistema que precisa ser big.

ps: Provavelmente o futuro sucessor do facebook vai ser um app nativo de pequeno porte (talvez whatsapp?) por que as pessoas estão abandonando a web![/quote]

Eu lembrei de uma coisa.

Antigamente se fazia sistema “cliente/servidor” usando as mais variadas tecnologias como Clipper, C++ ou Visual Basic (usando COM, DCOM, Corba). Principalmente antes da internet. Houve um tempo que vc tinha varias tecnologias (Token Ring, Novell Netware, DOS, Windows 3.11, unixes, sistemas dedicados) e vc tinha que fazer coisas do tipo “sistemas que se ligavam por modem a meia noite e sincronizar dados”. Quando a tecnologia de rede virou padrão e surgiu a internet, foi meio obvio que interligar micros em diferentes lugares e que rodam diferentes SOs através de paginas na “web”.

Foi o momento CHUPA pra muitas gambiarras pra começar a gerar html e distribuir o seu sistema de contas a pagar/estoque/logistica/ERP/etc. Era facil de debugar (ok, é possivel abrir um telnet e ver se está respondendo). Era facil interligar linux com windows (bastava ter browser). A gente “perdeu tempo” estudando javascript e css pra gerar paginas dinâmicas para sistemas internos pq as outras alternativas eram até piores (e elas ainda existem por ai). Surgiram coisas como Flex, mas ainda roda sobre a “web” de certa forma. Web nesse caso é a distribuição. São sistemas que nunca serão indexados pelo google (e nem precisa).

É por isso que a galera que vai pra “site grande” toma pau nas entrevistas. Geral fazia sistema que no maximo 4 pessoas usavam ao mesmo tempo e nunca colocaram o sistema no ar diretamente, nem nunca tiveram que configurar ou tunar.

E eu não vejo NADA de errado nisso. Perceba que uma grande porcentagem dos problemas podem ser resolvidos por sites “mixurucas” feitos por pessoas que abriram um tutorial na internet e resolveram programar. Ah o cara não tem base? Não tem AINDA. Se ele continuar fazendo sisteminha pequeno ele sempre vai estar no mundinho dele. Isso não é ruim, isso é vc se especializar e fazer algo bem feito, que atenda ao que se espera.

Galera sonha em fazer um twitter (ou trabalhar em um) mas tem tanta coisa interessante pra fazer… tem oportunidade pra todo o mundo.

É bom a gente trabalhar com prazer, trabalhar aprendendo E ensinando. Lendo livros, codando, evoluindo.

Peguem a historia do Bill Gates. O cara fez um sistema “de gestão” pra escola dele. Em basic. Usando algum computador que deveria ter alguns Kb de ram. O MS-Basic presente no Altair 8800 foi feito SEM um Altair 8800. O MS-DOS não era deles (foi comprado). Ele fez tudo o que um grande empreendedor poderia fazer. Criou um imperio bilionário. Porém ele poderia ter tomado decisões melhores, como podemos ver o que foi a Browser Wars (Netscape versus Internet Explorer) ENTRE OUTRAS. Em tempos de Startups e pessoas achando que podem criar o proximo Twitter, deveriamos ver as historias de sucesso e fracasso de grandes empreendedores dessa industria. E tudo pode começar com um sisteminha simples, feito em linguagem reprovável. Quando a gente olha a influencia de um Linus Torvalds, de um Steve Jobs, de um Gary Kindall ou Sir Clive Sinclair (e por que não Jack Tramiel ?) percebemos que muitos começaram “por baixo”, sem certificação java ou .Net, e em algum momento transformaram a industria - ninguem queimou etapas, falharam demais, foram demitidos as vezes sucessivas vezes.

Mais triste que achar que node.js é uma forma de APENAS rodar a mesma linguagem no server e no client é esquecer parte dessa história (ou nunca tentar aprender). Provavelmente revendo o passado alguem vai descobrir o novo Facebook ( usando a Web ou sendo a Web).

[quote=JDesenvolvedor]
Não sei pra vc, mas fazer em minutos o que um dba experiente leva horas é uma novidade pra mim![/quote]

Até ai, um desenvolvedor Rails faz em minutos o que um Java Certified Tabajara leva horas também se o assunto for CRUD (tipo um Blog em 15 minutos).

Não vamos comparar Bananas com Peras. Ja vi gente empolgada, por exemplo, com MongoDB no começo a meses depois estava chorando de saudades do bom e velho MySQL (ainda mais se vc fez muito READ/WRITE e - ops - SUPRESA seus dados foram pra casa do chapeu).

[quote=JDesenvolvedor][quote=peczenyj]Até hoje tem quem ache NoSQL uma novidade. Eles dormiram nas aulas de Banco de Dados onde se discutiu Modelo Relacional, Rede e Hierárquico ?

Claro que existe novidade, existe o CAP Theorem, etc. Mas parte do NoSQL sempre existiu, só ninguem usava este nome.

Isso quando não usam como forma de eliminar o DBA, esse eterno vilão.[/quote]

Não sei pra vc, mas fazer em minutos o que um dba experiente leva horas é uma novidade pra mim![/quote]

Em qual caso?

Tem também o caso do desenvolvedor MongoDB que gasta horas fazendo relacionamentos que o programador SQL faz em minutos né?

Facebook e Twitter começaram como um sistema web de pequeno porte, nenhum problema com isso. Programadores inexperientes adoram criar sistemas enormes mas quando falamos de bigdata não é o “porte” do sistema que precisa ser big.

ps: Provavelmente o futuro sucessor do facebook vai ser um app nativo de pequeno porte (talvez whatsapp?) por que as pessoas estão abandonando a web![/quote]

Eu lembrei de uma coisa.

Antigamente se fazia sistema “cliente/servidor” usando as mais variadas tecnologias como Clipper, C++ ou Visual Basic (usando COM, DCOM, Corba). Principalmente antes da internet. Houve um tempo que vc tinha varias tecnologias (Token Ring, Novell Netware, DOS, Windows 3.11, unixes, sistemas dedicados) e vc tinha que fazer coisas do tipo “sistemas que se ligavam por modem a meia noite e sincronizar dados”. Quando a tecnologia de rede virou padrão e surgiu a internet, foi meio obvio que interligar micros em diferentes lugares e que rodam diferentes SOs através de paginas na “web”.

Foi o momento CHUPA pra muitas gambiarras pra começar a gerar html e distribuir o seu sistema de contas a pagar/estoque/logistica/ERP/etc. Era facil de debugar (ok, é possivel abrir um telnet e ver se está respondendo). Era facil interligar linux com windows (bastava ter browser). A gente “perdeu tempo” estudando javascript e css pra gerar paginas dinâmicas para sistemas internos pq as outras alternativas eram até piores (e elas ainda existem por ai). Surgiram coisas como Flex, mas ainda roda sobre a “web” de certa forma. Web nesse caso é a distribuição. São sistemas que nunca serão indexados pelo google (e nem precisa).

É por isso que a galera que vai pra “site grande” toma pau nas entrevistas. Geral fazia sistema que no maximo 4 pessoas usavam ao mesmo tempo e nunca colocaram o sistema no ar diretamente, nem nunca tiveram que configurar ou tunar.

E eu não vejo NADA de errado nisso. Perceba que uma grande porcentagem dos problemas podem ser resolvidos por sites “mixurucas” feitos por pessoas que abriram um tutorial na internet e resolveram programar. Ah o cara não tem base? Não tem AINDA. Se ele continuar fazendo sisteminha pequeno ele sempre vai estar no mundinho dele. Isso não é ruim, isso é vc se especializar e fazer algo bem feito, que atenda ao que se espera.

Galera sonha em fazer um twitter (ou trabalhar em um) mas tem tanta coisa interessante pra fazer… tem oportunidade pra todo o mundo.

É bom a gente trabalhar com prazer, trabalhar aprendendo E ensinando. Lendo livros, codando, evoluindo.

Peguem a historia do Bill Gates. O cara fez um sistema “de gestão” pra escola dele. Em basic. Usando algum computador que deveria ter alguns Kb de ram. O MS-Basic presente no Altair 8800 foi feito SEM um Altair 8800. O MS-DOS não era deles (foi comprado). Ele fez tudo o que um grande empreendedor poderia fazer. Criou um imperio bilionário. Porém ele poderia ter tomado decisões melhores, como podemos ver o que foi a Browser Wars (Netscape versus Internet Explorer) ENTRE OUTRAS. Em tempos de Startups e pessoas achando que podem criar o proximo Twitter, deveriamos ver as historias de sucesso e fracasso de grandes empreendedores dessa industria. E tudo pode começar com um sisteminha simples, feito em linguagem reprovável. Quando a gente olha a influencia de um Linus Torvalds, de um Steve Jobs, de um Gary Kindall ou Sir Clive Sinclair (e por que não Jack Tramiel ?) percebemos que muitos começaram “por baixo”, sem certificação java ou .Net, e em algum momento transformaram a industria - ninguem queimou etapas, falharam demais, foram demitidos as vezes sucessivas vezes.

Mais triste que achar que node.js é uma forma de APENAS rodar a mesma linguagem no server e no client é esquecer parte dessa história (ou nunca tentar aprender). Provavelmente revendo o passado alguem vai descobrir o novo Facebook ( usando a Web ou sendo a Web).[/quote]

Otimo livre que na a evolução da industria dos computadores e esses casos de sucesso,do Gary Killdal,Bill Gates,Gordon Moore(carinha da intel) é o imperios acidentais,do Robert Cringely,vale muito a pena ler :slight_smile:

Não sei se é por nossa formação ser da área de exatas, mas as pessoas se acostumam tanto com zero e um que tendem a enxergar os extremos:, se uma tecnologia é boa, a outra necessariamente tem de ser ruim. Se eu gosto de uma empresa ou plataforma ou dispositivo, preciso odiar todos os concorrentes. Se gosto de uma distro Linux, preciso defendê-la em todos os posts e entrar em todos os posts do concorrente pra falar mal.

Aliás, o mais comum é criticar quem não é da sua preferência. E isso é chato porque as tendências da informática são cíclicas, o que é uma boa prática hoje, pode ser o que deve ser evitado amanhã, e que hoje não é aconselhável, pode virar o padrão. Além do mais, essa filosofia Highlander (“só pode haver um”) é enxergar o mercado em preto e branco e o cara perde ótimas oportunidades de trabalho e salário porque não pensa fora do seu mundo.

[quote=kicolobo]
Tem também o caso do desenvolvedor MongoDB que gasta horas fazendo relacionamentos que o programador SQL faz em minutos né?[/quote]

Alguns programadores OO perdem horas criando hierarquia de classes de objetos inúteis, é verdade. Mas isso diz mais sobre o profissional e a cultura OO que ele está inserido, um bom desenvolvedor não deveria ter dificuldade pra expressar relacionamentos na sua linguagem.

O que é um desenvolvedor nosql?

[quote=marcosalex]Não sei se é por nossa formação ser da área de exatas, mas as pessoas se acostumam tanto com zero e um que tendem a enxergar os extremos:, se uma tecnologia é boa, a outra necessariamente tem de ser ruim. Se eu gosto de uma empresa ou plataforma ou dispositivo, preciso odiar todos os concorrentes. Se gosto de uma distro Linux, preciso defendê-la em todos os posts e entrar em todos os posts do concorrente pra falar mal.

Aliás, o mais comum é criticar quem não é da sua preferência. E isso é chato porque as tendências da informática são cíclicas, o que é uma boa prática hoje, pode ser o que deve ser evitado amanhã, e que hoje não é aconselhável, pode virar o padrão. Além do mais, essa filosofia Highlander (“só pode haver um”) é enxergar o mercado em preto e branco e o cara perde ótimas oportunidades de trabalho e salário porque não pensa fora do seu mundo.

[/quote]

IMHO isso faz parte de nós como seres humanos. A gente tende a torcer por um time de futebol assim como torce por uma tecnologia. É dificil encontrar alguem realmente cético com relação a programação.