Cresce empregos com Ruby em 550% - 3.3% do mercado Java

É bem fácil saber qando uma onda vai começar, basta ler nos ugares certos. Java, AOP, POJOficação, Rails… tudo isso foi anunciado com uita antecedência aos ouvidos de quem se interesa em saber mais que o que está se usando hoje.

Concordo com o cv em tudo. Engraçado que a grande maioria dos defensoes do Java contra Ruby ou qualquer outra coisa, especialmente no GUJ, programam nsta linguagem à menos tempo que os atacantes. A maioria nunca teve que defender usar Java em favor de ASP por volta do ano 2000, eles simplesmente demoraram para entrar na mudança de mercado e agora que estão em Java há uns poucos anos tudo muda de novo.

O mundo gira, gira para no mesmo lugar.

Já fui contra o Ruby, mas hoje não sou mais. Na verdade eu era contra linguagens dinâmicas, que usam dynamic typing, por exemplo.

O responsável por me fazer mudar de idéia foi o Groovy. É incrivelmente mais fácil de se fazer muitas coisas! Não há como comparar com uma linguagem como o java, é um conceito diferente. Um exemplo:
Groovy

[code]package testes

[‘Java’, ‘Ruby’, ‘Python’, ‘Haskell’,
‘Perl’, ‘C’, ‘C++’, ‘Groovy’].each {
println it
}[/code]

Java

[code]package testes;

import java.util.ArrayList;

public class TestesJ {
public static void main(String[] args) {
ArrayList linguagens = new ArrayList();
linguagens.add(“Java”);
linguagens.add(“Ruby”);
linguagens.add(“Python”);
linguagens.add(“Haskell”);
linguagens.add(“Perl”);
linguagens.add(“C”);
linguagens.add(“C++”);
linguagens.add(“Groovy”);

	for(Object obj: linguagens){
		System.out.println(obj);
	}
}

}[/code]

A diferença é muito grande. Na minha opinião, o java deve se modernizar logo, ou perderá muito mercado nos próximos anos. Talvez a Sun saiba disso, e por isso mesmo o JCP tenha criado uma JSR para o Groovy.

Só para finalizar, o Groovy tem sido uma ferramenta utilíssima para mim. Atualmente eu o uso mais para fazer testes unitários. Para isso, eu consigo fazer mocks muito facilmente com coerção de maps e listas, o Groovy vem com um framework para mocks integrado, e uma série de outras coisas. Houve também muitos momentos em que eu precisava gerar um script q inseria algo na base, gerasse um relatório, dentre outros. Com o java seria inviável, mas o Groovy estava lá para salvar o dia, eheheh.

:wink:

E o mundo anda…
Se você gosta de Groovy dá uma olhada no RSpec com JTest

[quote=pcalcado]E o mundo anda…
Se você gosta de Groovy dá uma olhada no RSpec com JTest[/quote]

Hahahahhaha!!!

Ok, vou dar uma olhada.

[quote=neófito]Já fui contra o Ruby, mas hoje não sou mais. Na verdade eu era contra linguagens dinâmicas, que usam dynamic typing, por exemplo.

O responsável por me fazer mudar de idéia foi o Groovy. É incrivelmente mais fácil de se fazer muitas coisas! Não há como comparar com uma linguagem como o java, é um conceito diferente. Um exemplo:
[/quote]

Mudaste de idéia pelo motivo errado, pois quem compara quantidade de caracteres é digitador e não desenvolvedor. Uma linguagem não é melhor que a outra simplesmente porque usa-se menos caracteres para se preencher uma lista.

Esse barulho em volta do Ruby me é muito familiar. Lá pelos idos dos anos 90 eu ouvia coisas muito parecidas sobre uma outra “tecnologia” que viraria o mundo de cabeça para baixo e acabaria com o Windows. Ela se chamava Linux. O tempo e o hype passaram, agora até antigos defensores de Linux como eu xingam aquela porcaria por várias razões (como, por exemplo, ele ter uma usabilidade lixo, coisa que em mais de 10 anos não conseguiram resolver por motivos filosóficos). Se não fosse a IBM e a Oracle, que usam linux para vender mainframe e DB, o Linux estaria na lata do lixo da história.

A menos que a IBM ou outra companhia gigante adote o Ruby como carro chefe, ele não dará em nada. E mesmo que alguma delas o adotem, ele pode acabar como o Linux, ou seja, uma “eterna promessa”.

Acredito que o Ruby não decolará por essas razões:

  • O hype é muito mentiroso, e quando os desenvolvedores perceberem que foram enganados eles atacarão o Ruby assim como hoje vemos antigos defensores do Linux nem querendo chegar perto daquela porcaria;
  • Assim como o Linux, onde a usabilidade é um lixo e os desenvolvedores acham que esse é o “Unix way”, no Ruby os desenvolvedores não dão a devida importância a IDEs e APIs, pois esse é o “Ruby way”;
  • o “Ruby way” também não terá padronização alguma, pois é parte da filosofia dar “liberdade” aos programadores. Liberdade nesse contexto é só uma desculpa daqueles que tem medo de tomar decisões, então jogam as decisões nas costas dos usuários;
  • É opensource e não um produto de uma empresa assim como o Java ou o .Net. Isso significa que seus desenvolvedores trabalham por hobby;
  • É lento;
  • É instável;
  • A sintaxe é muito ruim;

Basicamente o que Ruby tem são aqueles mesmos Lemmings que ficavam martelando porcarias na cabeça dos outros, para então vender consultoria e livros. Porcarias como AOP, Spring, Hibernate e outras inutilidades. Agora encontraram outro filão para explorar.

Por falar nisso, quantos anos fazem desde que esse hype sobre o Ruby começou? Já não era para ter mudado alguma coisa?

A única coisa que poderia fazer Ruby valer a pena se chama metaprogramming. Isso é algo que não existe em Java e permite fazer muita mágica. Pena que os fanáticos Ruby não possuam a capacidade de articular idéias claramente. Todos os seus exemplos descambam para quantidade de linhas de código ou de caracteres usados para se imprimir algo na tela, tipo um Hello World que usa menos linhas.

Continuations são o “goto” das linguagens funcionais. Closures são como objetos em linguagens funcionais.

O problema maior do Ruby é a sua lentidão (e não adianta dizer que pode-se fazer partes que exijam performance em C, pois assim joga-se a “produtividade” na lata do lixo e acrescentam-se pontenciais fontes de bugs difíceis de se resolver), instabilidade e a linguagem que é muito estranha. Não há a perspectiva de nada disso mudar tão cedo.

Obs: o termo “on Rails” é perfeito, e já é uma dica do que é possível naquela aplicação. Significa que ela funciona se o que você deseja é tipo um next->next->finish, mas se as suas necessidades são mais complexas que isso não. Você pode ir com um trem para onde você quiser? Não, apenas para os trilhos te levam.

Mas francamente… a sintaxe deste ruby e horrivel… para quem esta acostumado com java, C, C++, C# vendo ruby realmente e bem estranho… e muito parecida com aquelas linguagens exoticas que ngn ou qse ngn usam como: list, prolog, haskell, perl, simula, natural, whitspace, fuckbrain entre diversas outras…

Mudaste de idéia…[/quote]

ahahahahahhahaha!!!

Legal. Bom, em primeiro lugar, não defendi apenas o Ruby, que apesar da sintaxe esquisita, parece ser uma linguagem que tem idéias bem legais. Defendi que o Ruby, e outras linguagens dinâmicas como o Groovy, posuem um conceito diferente de programação. O java ainda vai ter seu lugar durante muito tempo, pois linguagens como o Groovy, que usam o conceito de metaprogramação que você citou, tem uma chance grande de serem mais lentas. Com isso é possível otimizar trechos do seu código escrevendo-os em java, já que o Groovy se integra de forma natural ao java. Com o Groovy você tem o melhor dos dois mundos.

Nunca quis comparar duas linguagens apenas com um programa que adiciona elementos em uma lista e depois os imprime. O que quis fazer foi dar um exemplo do quão mais prático o Groovy pode ser. Isso deixa o código mais limpo, mais fácil de ser lido, e além disso menos maçante de se escrever. Ainda nem falei sobre metaprogramming, builders, mocks integrados a linguagem, coerção, dynamic typing, entre outros.

Muitas das características do Groovy permitem mágicas inviáveis de se fazer simplesmente com java.

:wink:

[quote=Thiagosc]A única coisa que poderia fazer Ruby valer a pena se chama metaprogramming. Isso é algo que não existe em Java e permite fazer muita mágica. Pena que os fanáticos Ruby não possuam a capacidade de articular idéias claramente. Todos os seus exemplos descambam para quantidade de linhas de código ou de caracteres usados para se imprimir algo na tela, tipo um Hello World que usa menos linhas.

Continuations são o “goto” das linguagens funcionais. Closures são como objetos em linguagens funcionais.

O problema maior do Ruby é a sua lentidão (e não adianta dizer que pode-se fazer partes que exijam performance em C, pois assim joga-se a “produtividade” na lata do lixo e acrescentam-se pontenciais fontes de bugs difíceis de se resolver), instabilidade e a linguagem que é muito estranha. Não há a perspectiva de nada disso mudar tão cedo.[/quote]

Para isso que projetos como JRuby e IronRuby existem. Quando performance for necessária, é possível usar uma linguagem de baixo nível como Java ou C# em vez de C. Acho que foi o John Lam que no Lang.Net desse ano mostrou uma diferença de 10x no tamanho do código para exportar um método do C# pro Ruby em comparação com uma função escrita em C.

[quote=Thiagosc]A única coisa que poderia fazer Ruby valer a pena se chama metaprogramming. Isso é algo que não existe em Java e permite fazer muita mágica. Pena que os fanáticos Ruby não possuam a capacidade de articular idéias claramente. Todos os seus exemplos descambam para quantidade de linhas de código ou de caracteres usados para se imprimir algo na tela, tipo um Hello World que usa menos linhas.

Continuations são o “goto” das linguagens funcionais. Closures são como objetos em linguagens funcionais.

O problema maior do Ruby é a sua lentidão (e não adianta dizer que pode-se fazer partes que exijam performance em C, pois assim joga-se a “produtividade” na lata do lixo e acrescentam-se pontenciais fontes de bugs difíceis de se resolver), instabilidade e a linguagem que é muito estranha. Não há a perspectiva de nada disso mudar tão cedo.

Obs: o termo “on Rails” é perfeito, e já é uma dica do que é possível naquela aplicação. Significa que ela funciona se o que você deseja é tipo um next->next->finish, mas se as suas necessidades são mais complexas que isso não. Você pode ir com um trem para onde você quiser? Não, apenas para os trilhos te levam. [/quote]
Bela argumentação de político. Mas onde está realmente a sua decepção?
Dizer que Java é melhor é brincadeira. Dizer que é mais fácil trabalhar com Hibernate (ou JPA) do que ActiveRecord seria um ultraje. Na boa, Ruby pode não ser a melhor coisa do mundo, mesmo pq num sou daqueles que acha que ele tem tudo que dá pra ser feito. Mas quer melhor? Python. Quer um case? Google. Quer um framework? Django.
Linux num é tudo isso que disse. Usabilidade: Ubuntu. Windows dá uma porrada de problemas e seu melhor argumento é: não trabalhamos por Hobby. No entanto, domina as máquinas de usuários.
Na boa, tira a revolta de lado, e comece a estudar o que está vendo aparecer. Na certa, vai começar a criticar melhoras em falhas existentes em outros lugares. Agora se acha que o mundo deve estar errado, bom, paciência.

[quote]Esse barulho em volta do Ruby me é muito familiar. Lá pelos idos dos anos 90 eu ouvia coisas muito parecidas sobre uma outra “tecnologia” que viraria o mundo de cabeça para baixo e acabaria com o Windows. Ela se chamava Linux. O tempo e o hype passaram, agora até antigos defensores de Linux como eu xingam aquela porcaria por várias razões (como, por exemplo, ele ter uma usabilidade lixo, coisa que em mais de 10 anos não conseguiram resolver por motivos filosóficos). Se não fosse a IBM e a Oracle, que usam linux para vender mainframe e DB, o Linux estaria na lata do lixo da história. [/quote].
Não entendo o pq do seu ataque ao linux, usuabilidade ele tem, depende do seu conhecimento e interesse em aprender sobre esse excelente SO, uso linux a muito tempo e se não fosse debates como esse nem lembraria da existencia do windows.

Vocês vão perder temo com o Thiago? O cara está, neste momento, acessando um site instalado em GNU/Linux. Eu sei que muita gente aqui não em idéia disso mas antigamente boa ate do investimento em um projeto era para adquirir licenças de UNIX. Nunca um sitezinho como o GUJ rodaria em um UNIX, muito caro. Aprender a programar era uma tragédia. Qauntos sistemas rodam em Linux e quanto em UNIXes proprietários hoje?

Além disso as afirmações sobre Java não ter meta programação, as besteiras sobre continuations e closures, o cara soltar uma bomba e sumir de repente… por favor, né gente? Vocês não percebem? Ia existir alguém tão estereótipo de troll assim?

O thiagosc é o cv disfarçado para criar discórdia em tópicos monótonos! Foi mal estragar a surpresa mas depois deste temo todo ninguém perceber isso é frustrante…

Cara, eu vejo esses tópicos e só fico cascando o bico… me lembra dos conflitos alta plataforma vs baixa plataforma, Cobol vs Clipper, Clipper vs Visual Basic, Visual Basic vs Delphi, Delphi vs Java, Java vs .Net…

Mais essa agora… um gujeiro com dupla personalidade. Daqui a pouco ele cria outro usuário e isso aqui vai virar “Onde está Wally?”. ha ha ha…

Interessante ver como tem gente que ainda perde seu tempo defendendo linguagem A ou B.
Faça o que vc gosta.
Lembrando: hoje existem várias vagas para BONS programadores COBOL.

[quote=pcalcado]
O thiagosc é o cv disfarçado para criar discórdia em tópicos monótonos! Foi mal estragar a surpresa mas depois deste temo todo ninguém perceber isso é frustrante…[/quote]
Ué, mas como ele escreve os acentos? :lol:

Acho Ruby uma linguagem interessante o Rails trouxe ao mercado o conceito de simplicidade, o q acho muito válido.

Já entrei em outro tópico até discutindo com o Shoes sobre Grails vs Rails e no meu entender, apostaria no primeiro por uma série de motivos que citei no tópico ( faça uma busca).

Mas obsvervando de um outro lado, o financeiro, prefiro focar em soluções como SEAM. Quanto ganhará um developer Ruby + Flex no futuro ? Qual o valor hora para um profissional especialista em SEAM + Flex ?

Vejo o Ruby como o novo PHP, com salários baixos, sendo contratado por consultorias pequenas, que não possuem capital para investir em projetos maiores.

Prefiro focar minha atenção em coisa que dá mais grana como CEP, OSGI, SOA, BPM , SAP, BEA e por aí vai …

Pequenas tipo a Thoughtworks e a 37Signals?

[quote=rodrigoy]
Pequenas tipo a Thoughtworks e a 37Signals?[/quote]

Você citou duas consultorias\empresas grandes que utilizam Ruby, eu posso citar 29412968127 que utilizam Java.

Enfim, eu acho que embora Ruby esteja com 3,3% do mercado Java, é bem mais provável que esses 3,3% das vagas estejam entre as mais interessantes, pois provavelmente as empresas que oferecem essas vagas tem ambientes mais “modernos”.

bom… em relação ao ruby eu nem falo nada pq nem conheço, agora falar isso do linux é no minimo ridiculo.

usabilidade lixo: os recursos 3d dele são mto bons, alem de seus ambientes estarem bons tb, ocasionalmente com mais ferramentas para gerenciamento, como por exemplo mandriva control center (que ja nem é tão novo assim mais quebra um galhão enorme).

ibm e oracle terem salvado o linux:ja vi muito servidor que não é mainframe, não tem nada a ver com a ibm, usa banco mysql e rodando em um linux…

em relação aos seus comentarios sobre o ruby eu nem sei, mais os sobre linux são infundados…

[quote=pcalcado]tereótipo de troll assim?

O thiagosc é o cv disfarçado para criar discórdia em tópicos monótonos! Foi mal estragar a surpresa mas depois deste temo todo ninguém perceber isso é frustrante…[/quote]

kkkkkkkkkk mals…