PayPal muda de Java para JavaScript

59 respostas
V

PayPal muda de Java para JavaScript

O PayPal decidiu usar JavaScript de ponta-a-ponta, do browser até o servidor de backend para aplicações web, descontinuando o código legado escrito em JSP/Java.

Jeff Harrell, diretor de engenharia do PayPal, explicou em alguns posts no seu blog (Set My UI Free Part 1: Dust JavaScript Templating, Open Source and More, Node.js at PayPal), o motivo por trás dessa decisão e algumas das conclusões que resultaram da mudança de seu desenvolvimento web de JSP/Java para uma solução totalmente JavaScript/Node.js.

Fonte: http://www.infoq.com/br/news/2013/12/paypal-java-javascript

O que acham da notícia colegas?

[]'s

59 Respostas

S

ue? javascript não é totalmente client side? é possivel fazer transições de banco de dados com o js?

V

Sim com os conceito trazido do node.js, que funciona “basicamente” como um interpretador de js rsrs

[]'s

S

Sim com os conceito trazido do node.js, que funciona “basicamente” como um interpretador de js rsrs

[]'s

então no caso o node.js roda no servidor? não conhecia D:

V

Não apenas o node.js, existe um framework novo chamado meteor que serve tanto pra client quanto pra server side. É o futuro sendo unificado em uma única linguagem, o sonho de todos os devs.

Mas indo à notícia do tópico: Acho excelente novas tecnologias surgirem e substituirem o java, já passou da hora de usarmos algo mais prático no desenvolvimento e isso prova que mesmo tarefas críticas, podem sim ser substituídas por algo mais moderno.

H

Bem… não é só simplesmente mudou. Creio que o buraco é mais embaixo.

vinsor:
É o futuro sendo unificado em uma única linguagem, o sonho de todos os devs.
Ops, cuidado aí com a generalização.

J

Apenas me intrometendo. Em pesquisas rápidas na internet encontrei muitos tutoriais de Node.js com bancos de dados não-relacionais. Pergunto para alguém que tenha experiência com NoSQL, qual a verdeira vantagem que esses bancos possuem quando comparados com bancos relacionais? E porque o Node.js está tão envolvido com bancos de dados não-relacionais? Isso pode significar uma mudança profunda em muitas ferramentas de desenvolvimento para os próximos anos?

V

Ora, que mudou, mudou. Os motivos são N. O que a decisão mostra é que java não precisa ser a linguagem universal, como tem ocorrido há mais de uma década. Muitas empresas tem medo de trocar seus sistemas feitos em linguagens mais conservadoras por algo mais moderno. Uma decisão dessas, vinda do PayPal é algo pra se comemorar e muito.

Creio que um futuro onde tanto client quanto server side possam ser desenvolvidos em uma única linguagem é sim o sonho de todos os devs. Se não for todos, então creio que exista apenas uma minoria (que pode ser desprezivel em termos estatísticos) que é contra. Acho que o maior motivo de divergencia é sobre qual linguagem será usada para unificar ambos os lados e nesse caso, tudo converge para que seja o javascript, o que naturalmente não é algo que todos os devs gostam. Obviamente, a opinião deles não importa, é um movimento que a indústria já tomou e lentamente vamos convergindo pra isso.

P.S.: Li o link. Apesar dele dar motivos pelo qual a comparação é de “alhos com bugalhos” (sim, eu sei que ele não usou essas palavras), ele simplesmente ignora o mais básico, que é “PayPal resolveu mudar pq achou Javascript melhor do que Java para as tarefas que precisava resolver no seu sistema”. O maior problema de Java é ser estritamente orientada a objetos, ela não permite que vc use outros paradigmas de desenvolvimento. Outro problema é que a linguagem é extremamente verbosa e isso até pode ser uma vantagem para sistemas muito grandes, mas eu creio que seja desnecessário (Não sei se existem estudos acadêmicos a respeito de linguagens extremamente verbosa x linguagens cleans, talvez rendesse um tema interessante de estudo). Outra coisa que o autor do texto ignorou foi que graças ao uso do Javascript, foi possível integrar o time de design com o time de devs server side e isso sim foi algo que aumentou a velocidade de desenvolvimento, não a questão de quantos devs foram usados. Algo impossível enquanto usavam Java. O futuro está aí, Javascript universal :smiley:

S

Estava pensando,então vale a pena estudar node.js outro framework para rodar js em servidores? e java? perderia espaço em projetos grandes para essas tecnologias(porque em projetos pequenos já perdeu para php imo)? Eu acho que,se eles quisesem facilitar o desenvolvimento,poderiam usar uma linguagem mais simples de desenvolver tipo php,apesar de que,eles teriam que migrar o sistema de java para php…
Então,se você precissa de um sistema bem simples,seria mais lucro usar node.js ou php?
Desculpe se fui simples em minhas observações!

V

Java continua dominante e continuará por bastante tempo ainda, eu creio. Para trabalhar com um sistema simples, vc poderia usar N linguagens, depende apenas do seu framework. Até em Java poderia ser feito, com frameworks “simples” como o vert.x. A vantagem de usar node.js (ou meteor) é que vc vai trabalhar com uma única linguagem, tanto no lado servidor, quanto no lado cliente e terá mt mais prazer tbm :p. Além disso, Javascript tem sido a queridinha da indústria. Hoje em dia ninguém mais fala de thin client, mas sim de fat client, ou seja, a única coisa que trafega pela rede são os dados e quem renderiza a página é o próprio javascript. Esqueça JSP e afins. Entretanto, isso pode ser quase uma realidade fora do Brasil, mas por aqui o pessoal é bem atrasado com relação a isso. Se você não sabe Java, vale a pena estudar algo (mas não se preocupe com a infinidade de frameworks, saiba apenas a linguagem). Se quiser desenvolver um sistema por conta própria, então escolha uma linguagem e pegue o framework e estude-o conforme vc desenvolve seu sistema. Como disse em outros tópicos, o paradigma não vai mudar, o que um framework A faz, o B tbm faz (assumindo que ambos atuam no mesmo grupo de aplicações). A diferença será quantas linhas de código vc vai precisar e quantos arquivos de configuração são necessários.

J

Slow17:
Estava pensando,então vale a pena estudar node.js outro framework para rodar js em servidores? e java? perderia espaço em projetos grandes para essas tecnologias(porque em projetos pequenos já perdeu para php imo)? Eu acho que,se eles quisesem facilitar o desenvolvimento,poderiam usar uma linguagem mais simples de desenvolver tipo php,apesar de que,eles teriam que migrar o sistema de java para php…
Então,se você precissa de um sistema bem simples,seria mais lucro usar node.js ou php?
Desculpe se fui simples em minhas observações!

Sinceramente, na visão de um empregado, eu prefiro tomar um pouco de cuidado com essas tecnologias novas demais. Entre Node.js e PHP, prefiro estudar PHP pois é muito mais requisitado no mercado que o Node. E o mesmo vale para outras tecnologias que estão aí já por um tempo e que não “pegaram” (pelo menos no Brasil) como Ruby ou Python.

De certa forma, parece que estamos um pouco atrasados. Muitas empresas não trocam seus sistemas desenvolvidos em Clipper ou Delphi por algo mais moderno como Java ou .Net. Por isso eu não vejo o mercado brasileiro mudando em tão pouco tempo de Java para Node.js. Provavelmente, por mais alguns anos, a demanda por programadores Java ainda será muito maior.

Agora, se você é um desenvolvedor independente e não está disposto a dividir o trabalho de codificação com mais ninguém, está livre para usar o que bem entender.

S

Procurei saber sobre o node.js,pelo visto ele não é a melhor escolha quando é necessario desenvolver paginas web dinamicas,então,listagens de registros em paginas web,por exemplo,não é possivel desenvolver utilizando ele…

V

Procurei saber sobre o node.js,pelo visto ele não é a melhor escolha quando é necessario desenvolver paginas web dinamicas,então,listagens de registros em paginas web,por exemplo,não é possivel desenvolver utilizando ele…

Como nao ? É só trafegar os dados do servidor pro client e aih quando os dados chegam no client, vc monta a pagina como deseja e a pagina é montada direto no cliente. Quer algo mais dinamico do que isso ?

S

vinsor:
Procurei saber sobre o node.js,pelo visto ele não é a melhor escolha quando é necessario desenvolver paginas web dinamicas,então,listagens de registros em paginas web,por exemplo,não é possivel desenvolver utilizando ele…

Como nao ? É só trafegar os dados do servidor pro client e aih quando os dados chegam no client, vc monta a pagina como deseja e a pagina é montada direto no cliente. Quer algo mais dinamico do que isso ?

Páginas criadas dinamicamente

Atualmente, o Node não fornece uma forma padrão para criar páginas dinâmicas. Por exemplo, ao usar a tecnologia JavaServer Pages (JSP), é possível criar uma página index.jsp que contenha loops em snippers JSP, como <% for (int i=0; i<20; i++) { } %>. O Node não permite esses tipos de páginas dinâmicas direcionadas a HTML. Novamente, o Node não é idealmente adequado para ser um servidor de páginas da web, como o Apache e o Tomcat o são. Portanto, se quisesse fornecer uma solução no lado do servidor para isto no Node, teria que codificar a solução inteira você mesmo. Um programador PHP não gostaria de programar um conversor PHP para o Apache toda vez que implementasse um aplicativo da web, mas, neste momento, é o que o Node exigiria que você fizesse.

V

Você leu o que eu disse sobre thin client e fat client ? Se não leu, por favor, leia. Se leu e não entendeu, então pergunte ou procure no google. Como eu disse anteriormente, esqueça JSP e afins e mais, essas páginas não é para serem montadas no servidor, é para serem montadas no cliente, de acordo com o paradigma fat client. E isso é MUITO mais dinâmico do que montar página no lado servidor.

S

Pera,então é possivel eu buscar uma lista no banco,salvar em um array dinamico,passar esse array dinamico para a view ,e lá exibir ele atravez de um for em javascript por exemplo?

V

Não existe view. O que existem são dados. O seu array vc vai transformar em um json e enviar pro client. Aí quando o client receber a resposta, vc vai pegar os dados que foram enviados via json e trata-lo da maneira que achar melhor, através do javascript.

Correção: A view existe, mas ela não é montada no servidor.

V

Slow17:
Estava pensando,então vale a pena estudar node.js outro framework para rodar js em servidores? e java? perderia espaço em projetos grandes para essas tecnologias(porque em projetos pequenos já perdeu para php imo)? Eu acho que,se eles quisesem facilitar o desenvolvimento,poderiam usar uma linguagem mais simples de desenvolver tipo php,apesar de que,eles teriam que migrar o sistema de java para php…
Então,se você precissa de um sistema bem simples,seria mais lucro usar node.js ou php?
Desculpe se fui simples em minhas observações!

Calma, aqui no Brasil a realidade é meio diferente! Linguagens que estão na moda lá fora não emplacam aqui tão fácil.

[]'s

V

Hebert Coelho:
Bem… não é só simplesmente mudou. Creio que o buraco é mais embaixo.

Concordo toda generalização é burra (será? hehehe) acredito que é impossível uma linguagem ser realmente boa tanto no front-end quanto no back-end.

E de fato o buraco é mais embaixo mesmo! Pois a questão não entra somente na mudança da linguagem X para a Y mas também envolver uma forma de trabalhar diferentes, pois uma mudança de linguagem gerá um grande impacto na arquitetura da aplicação, não tenho muitos detalhes de como e a arquitetura do paypal, mas acredito que uma migração total e uma completa tolice, o que acredito que vai ser migrado vai ser apenas a camada de GUI do seu sistema (é estranho falar sobre GUI para uma aplicação web), da mesma forma que o twitter migrou sua camada de GUI do ruby para o Java.

Lembrando que o caso do twitter e diferente do paypal pois ambos utilizam arquiteturas diferentes para suprir necessidades diferentes.

Pera,então é possivel eu buscar uma lista no banco,salvar em um array dinamico,passar esse array dinamico para a view ,e lá exibir ele atravez de um for em javascript por exemplo?

A grosso modo isso funciona assim, a página web vai ter uma série de javascripts que vão recuperar os dados com uma requisição ajax do servidor de aplicação em um objeto json e vai pegar esses dados e colocar no lugar adequado na tela e o css + jquery (ou outro framework) vai deixar a página bonitinha e cheia de efeitos. No caso o node.js é para executar a nivel de servidor as regras de negócio e processar os dados recuperado do banco. Essa é uma descrição muito superficial deste tipo de arquitetura, mas muito superficial mesmo, o processo não é tão simples assim igual eu descrevi assim, tem uma complexidade muito grande!

[]'s

M

Muito bom o fórum !!! Com diversas opiniões, e informações importantes.

Quero deixar meu comentário:

Sou “Javero” há 7 anos, adoro a linguagem, minha maior experiência são em projeto web(JSF,STRUTS,SPRING,HIBERNATE…etc), e recentemente comecei a trabalhar com aplicativos Mobile, utilizando javascript full com servidor Node.js. A solução que estamos usando é o http://www.kony.com

No desenvolvimento vi diversas vantagens em utilizar o node, incrivelmente o desenvolvimento é mais rápido, a montagem do ambiente é mais simples, organizado (MVC), fácil e bem intuitivo. Sem contar a integração do modulo de teste TDD que é fantástica.

Como alguns colegas citaram, aqui é Brasil e muitas tecnologias que pegaram fora no Brasil não.(Ex:Ruby) Porém vejo mudanças que devem diminuir o mercado de java, principalmente pelas vantagens que o javascript tem na camada web.

Acredito que nos próximos anos mais linguagens surgirão para integrações com aplicativos, não faz sentido desenvolver um sistema para site e outros para mobile.

Noticias


http://www.infoq.com/br/news/2013/12/paypal-java-javascript


https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/

Abraços
Felipe Mozena Antunes

J

mozena:
Muito bom o fórum !!! Com diversas opiniões, e informações importantes.

Quero deixar meu comentário:

Sou “Javero” há 7 anos, adoro a linguagem, minha maior experiência são em projeto web(JSF,STRUTS,SPRING,HIBERNATE…etc), e recentemente comecei a trabalhar com aplicativos Mobile, utilizando javascript full com servidor Node.js. A solução que estamos usando é o http://www.kony.com

No desenvolvimento vi diversas vantagens em utilizar o node, incrivelmente o desenvolvimento é mais rápido, a montagem do ambiente é mais simples, organizado (MVC), fácil e bem intuitivo. Sem contar a integração do modulo de teste TDD que é fantástica.

Como alguns colegas citaram, aqui é Brasil e muitas tecnologias que pegaram fora no Brasil não.(Ex:Ruby) Porém vejo mudanças que devem diminuir o mercado de java, principalmente pelas vantagens que o javascript tem na camada web.

Acredito que nos próximos anos mais linguagens surgirão para integrações com aplicativos, não faz sentido desenvolver um sistema para site e outros para mobile.

Noticias


http://www.infoq.com/br/news/2013/12/paypal-java-javascript


https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/

Abraços
Felipe Mozena Antunes


Valeu pelo relato. Qual banco de dados vocês usam nesse sistema?

M

Disponha amigo. Estamos utilizando SQLite.

Abraços,
Felipe Mozena

J

Pelo que leio NodeJs é mais para atender casos de zilhões de requisições simultâneas, e banco de dados NoSQL idem, com grande volume de dados chegando aleatóriamente, onde o requisito de alta escalabilidade tem mais importância do que as outras vantagens das outras soluções (como por exemplo perfeita integridade).

Dá uma lida:

http://www.ibm.com/developerworks/br/library/os-nodejs/


Ferramentas só com amadurecimento.

Até agora só fiz um hello world e estudei códigos. Vejo com bons olhos usar JavaScript como uma única linguagem. JavaScript é tranquilo por ser seguir uma sintaxe clássica, ao contrário de Ruby ou Objective C que são bizarras para quem é das antigas.

Outra coisa importante é ter uma opção atual respeitável não orientada a objetos no mercado comercial, assim OOP pára de ser levada como bala de prata.

J

Obrigado pelo esclarecimento javaflex!

Aproveitando o tema do tópico, é interessante notar como o javascript, uma tecnologia tipicamente web, está também tomando espaço em outras plataformas. Por exemplo, quem conhece .Net talvez conheça os projetos javascript para criação de apps para windows 8. Você pode aplicar seus conhecimentos de javascript, html5 e css3 num aplicativo desktop, por exemplo (claro que tudo isso dentro dos moldes definidos pela microsoft).

Também existem sistemas operacionais mobile com sua interface desenvolvida com html5, como o Tizen.

J

Júlio Murta:
Obrigado pelo esclarecimento javaflex!

Aproveitando o tema do tópico, é interessante notar como o javascript, uma tecnologia tipicamente web, está também tomando espaço em outras plataformas. Por exemplo, quem conhece .Net talvez conheça os projetos javascript para criação de apps para windows 8. Você pode aplicar seus conhecimentos de javascript, html5 e css3 num aplicativo desktop, por exemplo (claro que tudo isso dentro dos moldes definidos pela microsoft).


Tem muito tempo que não trabalho com desktop, mas isso é verdade mesmo pelo que acompanho, apesar de XAML ainda parece estar mais valorizado.

Pois é, FireFox OS e Chrome OS são outros a considerar. Se vai pegar ou não, é bom ficar ligado acompanhando, não sou cientista mesmo, então espero o momento certo mas sem ficar boiando.

NodeJs no momento fica para acompanhamento também, assim como Rails ficou mas que nunca usei e acabou trazendo frutos para a própria tecnologia que eu já usava, copiando as ideias. Programação assíncrona no C# 5 já é super fácil, e o mesmo time que faço parte faz o server side C# e client side JavaScript sem problemas, só o CSS e diagramação do HTML que é time separado.

F

Já havia falado sobre Node.js há uns dois anos!!! Alguém sabe como fica a segurança e a confiabilidade da camada serve-side?

J

Confiabilidade não sei, mas prefiro que as coisas amadureçam no mercado e uma real necessidade de uso, caso o que uso hoje não atender, o que não vejo ainda.

Aqui tem um exemplo sobre autenticação básica usando framework Express http://blog.modulus.io/nodejs-and-express-basic-authentication

Se você tiver praticando dá um retorno ai pra galera, só acompanho Nodejs em leituras.

J

Slow17:
Estava pensando,então vale a pena estudar node.js outro framework para rodar js em servidores? e java? perderia espaço em projetos grandes para essas tecnologias(porque em projetos pequenos já perdeu para php imo)? Eu acho que,se eles quisesem facilitar o desenvolvimento,poderiam usar uma linguagem mais simples de desenvolver tipo php,apesar de que,eles teriam que migrar o sistema de java para php…
Então,se você precissa de um sistema bem simples,seria mais lucro usar node.js ou php?
Desculpe se fui simples em minhas observações!

Depende da equipe e projeto, a equipe do PayPal avaliou e decidiu usar Nodejs. Minha equipe usa .NET, outra equipe usa Java. O importante é a tecnologia atender bem o objetivo e a equipe + cliente que solicita sejam felizes, coisa que pelo jeito não acontecia no PayPal, onde ter uma equipe de desenvolvimento separado da outra e uma dependendo da outra deve ter sido o maior problema. Na minha equipe todo mundo programa em JavaScript e C#. Sobre estudar, vai de cada um, eu prefiro só acompanhar lendo até vir uma necessidade real para investir.

J

acredito que é impossível uma linguagem ser realmente boa tanto no front-end quanto no back-end.

Aí você usa linguagem json pro backend, linguagem html pra frontend, linguagem css pro estilo, etc. :wink:

W

Pera,então é possivel eu buscar uma lista no banco,salvar em um array dinamico,passar esse array dinamico para a view ,e lá exibir ele atravez de um for em javascript por exemplo?

Você pode ter template engines no client side também. Dê uma estudada no AngularJS e veja como ele usa o próprio html como um template.

Aproveite o embalo e estude sobre REST e JSON, você não vai se arrepender!

J

Lá vai eu fazer curso de Node.JS no Alura.

E

A vantagem é que eles fazem buscas mais rápidas e usam menos recursos de servidor, quando se trabalha com Big Data esses bancos são uma boa opção.

V

emanoelcominesi:

A vantagem é que eles fazem buscas mais rápidas e usam menos recursos de servidor, quando se trabalha com Big Data esses bancos são uma boa opção.

Mais rápidas? Nem sempre. Buscas com join no MongoDB são bem mais lentas do que em qualquer banco relacional.

A grande vantagem do movimento NoSQL é o que ele não te obriga a usar somente o paradigma relacional em seus projetos. Caso você precise fazer uma grande quantidade de consultas em objetos simples, pode usar um banco orientado a documentos, como o MongoDB. Caso seja interessante atribuir relacionamentos com diferentes pesos e caminhos para suas entidades, você pode usar um banco orientado a grafos, como o Neo4J. Se você tem uma grande quantidade de informações não categorizadas, e pretende organizá-las de forma a tomar decisões em cima desses dados, você pode usar um sistema que lance mão de algoritmos do tipo map-reduce, como o Hadoop.

O que o NoSQL te dá é liberdade. Por isso esse termo tem sido tão difundido nos últimos anos.

J

MongoDB não tem joins.

V

Verdade, falha minha. O que eu quis dizer é que o custo para se fazer uma consulta join-like no mongodb é maior do que em um banco relacional.

M

Basicamente a grande vantagem do Node em termos de performance é que javascript é naturalmente assincrono e que nasceu focado para web.

A grande desvantagem: não há muitos frameworks para coisas especificas, portanto bastante coisa que já existe em java por exemplo tem que ser feito na mão ou via integração.

NOSQL da para ter uma discução separada já que há varios aspectos sobre o que é big-data, webscale, perfomace etc etc, o que é propaganda e o que é verdade

J

Verdade, falha minha. O que eu quis dizer é que o custo para se fazer uma consulta join-like no mongodb é maior do que em um banco relacional.

?

NoSQL fornece os dados que você vai usar pra criar e executar a sua consulta localmente, enquanto um banco de dados sql você envia a consulta pro servidor executar e retornar os dados como resultado. Esse servidor quase sempre é remoto, por isso mais caro?

L

mcarabolante:
Basicamente a grande vantagem do Node em termos de performance é que javascript é naturalmente assincrono e que nasceu focado para web.

A grande desvantagem: não há muitos frameworks para coisas especificas, portanto bastante coisa que já existe em java por exemplo tem que ser feito na mão ou via integração.

NOSQL da para ter uma discução separada já que há varios aspectos sobre o que é big-data, webscale, perfomace etc etc, o que é propaganda e o que é verdade

JavaScript não tem Threads, não pode ser “naturalmente assincrono”. Acho que você esta se referindo ao mecanismo de callbacks que existe na linguagem. Neste caso, não são a mesma coisa.

V

JDesenvolvedor:

?

NoSQL fornece os dados que você vai usar pra criar e executar a sua consulta localmente, enquanto um banco de dados sql você envia a consulta pro servidor executar e retornar os dados como resultado. Esse servidor quase sempre é remoto, por isso mais caro?


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.

V

A vantagem é que eles fazem buscas mais rápidas e usam menos recursos de servidor, quando se trabalha com Big Data esses bancos são uma boa opção.

Ele te fornece mais liberdade para trabalhar como novos paradigmas sempre precisar fazer gambiarras e entupir seus SGDB com extensões. Agora a performance e outro ponto que precisa sempre ser analisado, existem tantos paradigmas de bancos nosql que em cada circunstância alcançar um objetivo vai ser diferente, podendo ser mais rápido com um paradigma ou mais lento com outro paradigma.

[]'s

G

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.

J

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.

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.

M

lkbm viajei mesmo …

JDesenvolvedor:
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.

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.

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 …

K

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.

R

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

P

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.

J

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 …

Nas partes novas. :wink:

P

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.

K

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.

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

K

kicolobo:
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.

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

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”.

J

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.

nuss, melhor texto até agora.

J

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!

J

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.

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

P

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!

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).

P

JDesenvolvedor:

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

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).

K

JDesenvolvedor:
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.

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

Em qual caso?

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

S

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!

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).

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:

M

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.

J

kicolobo:

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

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?

P

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.

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.

Criado 27 de dezembro de 2013
Ultima resposta 9 de jan. de 2014
Respostas 59
Participantes 20