Porque Ruby on Rails não vai entrar pro Mainstream

148 respostas
1112

http://beust.com/weblog/archives/000382.html

Alguns pontos interessantes:

Have you ever come across Smalltalk or Lisp programmers? You know, these people who, no matter what you tell them, will always respond that “Smalltalk did that twenty years ago” or that “Nothing has been invented since Lisp”.
(…)
I believe that in ten years from now, people will look back at Ruby on Rails and will have the same reaction. I’m not sure what Web frameworks we will have by then, but I’m quite convinced that a lot of the current Ruby on Rails fanatics will have the same kind of attitude: “That’s nice, but Ruby on Rails already did this ten years ago, and better”.

148 Respostas

Mauricio_Linhares

Se Ruby em si não for pro mainstream (o que é realmente possível, mas é uma pena…) pelo menos a comunidade vai ter a chance de aplicar o que se aprendeu por lá em outros projetos, como o Grails.

O pior de Ruby pra mim hoje é que não tem como fazer rodar nos Tomcats da vida que eu tenho aqui e convencer o pessoal a sair de Java pra Ruby agora é simplesmente impossível… :frowning:

plentz

Essa é a intenção do JRuby :smiley:

Daniel_Quirino_Olive

Maurício Linhares:
Se Ruby em si não for pro mainstream (o que é realmente possível, mas é uma pena…) pelo menos a comunidade vai ter a chance de aplicar o que se aprendeu por lá em outros projetos, como o Grails.

O pior de Ruby pra mim hoje é que não tem como fazer rodar nos Tomcats da vida que eu tenho aqui e convencer o pessoal a sair de Java pra Ruby agora é simplesmente impossível… :(

  1. Se RoR não virar mainstream, pelo menos ele já serviu para dar uma mexida na comunidade Java, que estava muito folgada e acostumada com complexidade excessiva. Portanto, concordo com o Maurício.

  2. Se você quiser, pode tentar usar o JRuby on Rails (http://headius.blogspot.com/2006/03/progress-update-march-9.html). Mas, mesmo assim, se sua equipe não for capaz de absorver Ruby (não adianta! não é todo mundo que está preparado para aprender linguagens o tempo todo), melhor nem tentar.

renatosilva

Tomcats da vida? Web container Java ou servidor web?

Mauricio_Linhares

Hehehehe, aprender Ruby já é outra história completamente diferente, alguns até que ficaram maravilhados quando eu repeti aquele vídeo do blog “ao vivo” usando o RadRails, mas quando eu falei um pouco da mágica da linguagem, dos mixins e metaprogramação teve gente que torceu o nariz.

JRuby realmente já está em condições de ser usado em produção? Eu tava pensando em gastar um tempinho brincando com Grails pra ver se rola, mas se JRuby já estiver a caminho… eu nem olho pra Groovy :stuck_out_tongue:

1112

Não sei. Quando eu vejo o número de pessoas que, até hoje, usam coisas deprecated já no JDK 1.2, fico cético com a adoção dos desenvolvedores a novidades.

Tem esse ponto, também. Assim como nem todo mundo está preparado para aprender linguagens o tempo todo, nem todo mundo está preparado para aprender metodologias o tempo todo. Quantas pessoas você já viu usando classes como se fossem structs do C?

pcalcado

Até onde eu vi jRuby ainda é lento demais (mesmo apra os padrões atuais onde desempenho é quase sempre um detalhe já que a JVM se encarrega de otimizações).

Linguagens que não geram bytecodes e não conseguem com isso se beneficiar de JIT e outras macumbas do HotSpot têm uso limitado. Com o invokeDynamic isso deve mudar mas por enquanto não é qualquer lugar que uma linguagem de JVM substitui Java, apesar de em muitos lugares ser perfeitamente possível e até desejável.

Por exemplo, implementar um framework como Spring ou hibernate, que praticamente vão interceptar todo fluzo de dados do sistema, ou um container é altamente problemático com essa performance. isso é especialmente ruim porque Ruby tem algumas coisas que fazem criar frameworks coisa realmente simples e eficiente.

De qualquer modo você sempre pode criar o ‘core’ da sua aplicação, a arquitetura, em java e mantêr linguagens dinâmicas (atualmente) interpretadas dentro de componentes de aplicação, como regras de negócio, scripting, shells…

Vou dar uma palestra sobre isso em Maio, aliás.

plentz

O JRuby na minha opinião ainda ta beeeem longinho de poder se usado em produção, mas não deixa se ser um projeto beem legal.

TOMARA que não.

Ah, o Adam fez um post resposta. Ah, melhor ainda, o David mandou uma resposta.

saoj

Acho que se a galera da Sun parar de pensar em colocar tratamento de XML direto na linguagem e essas coisas importantes, e fazer apenas 3 coisas:

:arrow: Suporte a REGEX direto na linguagem como Perl e Ruby. Quero poder fazer isso:

if (x =~ /^\s$/) { } // sem escapar a barra !!!!

ou s = s/\n//g; // sem escapar a barra !!!

:arrow: Métodos que retornam mais de uma variável

(int x, char c) = getWhatever();

:arrow: E um novo pacote javap.* (java pragmático), onde tenhamos coisas como:

String[] lines = File.read("sergio.txt");

int x = int("3");

Acho que daria para concorrer com o Ruby…

Mauricio_Linhares

Esse “int(“3”)” já é possível usando static imports :stuck_out_tongue:

renatosilva
saoj:
:arrow: Suporte a REGEX direto na linguagem

De acordo.

saoj:
:arrow: Métodos que retornam mais de uma variável
(int x, char c) = getWhatever();

Epa! Não deixa o Gosling ver isso :D

saoj:
int x = int("3");

Não é mais fácil fazer int x = 3? :mrgreen: Falando sério, o que seria isso ae, um cast de String pra número?

saoj:
:arrow: E um novo pacote javap.* (java pragmático)

Concordo, mas acho meio distante e o tipo de coisa que a comunidade não precisa depender da Sun. Outro dia tava falando aqui de se fazer uma biblioteca do tipo, ia ser maneiro, pena que não tenho tempo para tomar a iniciativa...

Mauricio_Linhares

diego_sl:
O JRuby na minha opinião ainda ta beeeem longinho de poder se usado em produção, mas não deixa se ser um projeto beem legal.

TOMARA que não.

Ah, o Adam fez um post resposta.

Sei não, como ele mesmo disse, ele “acabou de cair” em Rails, Cedric já tem uma boa estrada e sabe o que está falando. Todo mundo fala do RadRails, mas dá pra comparar ele pelo menos de LONGE com o JDT? Nem em sonho, tanto porque ele ainda está absurdamente verde como também porque a linguagem (por ser dinâmica) não ajuda nem um pouco (uma vantagem de Groovy, onde você pode dizer qual o tipo do objeto que vai estar lá).

Hosting de Ruby ainda é complicado (Java também é, mas agente ainda consegue com uma certa facilidade por aqui, além de que você não precisa pedir a niguém pra instalar um framework novo pra você).

E Ruby, pra o “average Joe” não é complicada, é assustadora, o cara bate a vista no código, não vê parenteses, ponto e vírgula, returns, vê “blocos de código”, instruções esquisitas (“col.each ? que porra é isso”). Se o cara não está de cabeça aberta, ele simplesmente desiste (e por mais estranho que pareça, eu vejo mais gente que não quer novidade do que o contrário).

Eu gostei muito, vou (tentar) usar Rails em um sistema que agente está desenvolvendo aqui, mas o que ainda me ocupa é Java e deve continuar assim por um bom tempo :smiley:

Daniel_Quirino_Olive

Hummm, útil, mas não é algo que vá revolucionar o mundo.

Ahhh, isso sim é algo que vale a pena :slight_smile:

No comments.

J

Você pode utilizar o Jakarta Commons IO readFileToString ou então readLines

J

Existe a Jakarta Commons que você poderia estár contribuindo…

O problema é que têm sempre aquele jeito, que é o seu jeito de fazer e pensar, que nem sempre é o jeito que agrada todo mundo.

Mauricio_Linhares

Acho que eles deveriam obrigar todos os programdores Java a conhecer todos os commons, não vai matar niguém :smiley:

renatosilva

Eu queria uma biblioteca que fosse uma coisa só, que eu baixasse e tivesse tudo ali. Não quero utilidades mirabolantes como o Digester ou DBUtils ou HTTPClient, eu quero apenas algo que sirva como calda de chocolate para o bolo de cenoura, ou seja, uma “camada pragmática” para as APIs chatas do Java como a java.io.

O Commons deve ter muitas coisas legais, eu não conheço, mas não me parece que seja exatamente o que estamos procurando…

1112

renato3110:
Eu queria uma biblioteca que fosse uma coisa só, que eu baixasse e tivesse tudo ali. Não quero utilidades mirabolantes como o Digester ou DBUtils ou HTTPClient, eu quero apenas algo que sirva como calda de chocolate para o bolo de cenoura, ou seja, uma “camada pragmática” para as APIs chatas do Java como a java.io.

O Commons deve ter muitas coisas legais, eu não conheço, mas não me parece que seja exatamente o que estamos procurando…

http://jakarta.apache.org/commons/io/

pcalcado

Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:

  • Continuations
  • Reflection mais bombada
  • Uma API

Nesse momento não consigo lembrar de nada mais porém tenho uma lsita um pouco maior.

Regexp como literal me parece coisa de linguagem como Perl que é focada em manipulação de texo. Eu não sinto falta de regexp literal em Ruby quando estou fazendo aplicações, só quando faço scripts.

Java tem que se fortalecer como a linguagem de backbone da JVM.

Mauricio_Linhares

Por que não?

Mauricio_Linhares

pcalcado:
Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:

  • Continuations
  • Reflection mais bombada
  • Uma API

Não entendi essa “uma API” :stuck_out_tongue:

renatosilva

java.io é só um exemplo…

Por que não?

Por tudo o que eu disse antes :smiley:

1112

Maurício Linhares:
pcalcado:
Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:

  • Continuations
  • Reflection mais bombada
  • Uma API

Não entendi essa “uma API” :P

Ou é uma crítica sutil à API existente ou faltou alguma coisa no post do Shoes. :lol:

Quanto a Regexp como literal, eu entendo a necessidade se pensarmos que é bobagem a expressão matcher ser uma String (que usa char , onde a barra invertida é o caracter de escape ). Escapar o escape é algo um tanto quanto idiota e que dificulta o uso de expressões regulares prontas por aí, você precisa ficar adaptando os escapes.

Claro, pode-se dizer que isso não é muito necessário, eu diria que é algo tão necessário quanto leitura nativa de XML. Ou seja, não é necessário, mas ajuda.

1112

java.io é só um exemplo…

Exato, por isso que a Commons tem 32 módulos.

J

Pelo menos o Commons Lang, IO e Collections eu acho que todos deveriam conhecer. :smiley:

Mauricio_Linhares

#@®®¡$:
Maurício Linhares:
pcalcado:
Java é uma linguagem muito legal e eu acho que hoje o que ela precisa:

  • Continuations
  • Reflection mais bombada
  • Uma API

Não entendi essa “uma API” :P

Ou é uma crítica sutil à API existente ou faltou alguma coisa no post do Shoes. :lol:

:lol:

To meio devagar mesmo hoje :roll:

Tem coisas que você realmente tem vontade de dar um tiro no computador, como Calendar, mas isso são coisas que agente não tem mais pra onde correr e a Sun não tá muito interessada em fazer mudanças profundas nessas áreas né.

pcalcado

Eu queria dizer uma API ‘de guerra’ mais prática.

Eu posso ter File exatamente como ta hoje, mas eu poderia ter um outro pacote (como o javap do Saoj mas com um nome menos feio :stuck_out_tongue: ) com metodos mais praticos em vez de buffered reader.

Acho que foi o sergio mesmo que um dia disse que esses metodos ‘praticos’ podem ser implementados por nos. Sim, podem, mas eu nao quero inventar minha propria biblioteca de IO para uma cosia que deveria ser padronizada.

Foi mal, gente, hoje tá foda, me tratem como café-com-leite.

renatosilva

java.io é só um exemplo…

Exato, por isso que a Commons tem 32 módulos.

É o que eu disse, essa coisa de ‘pragmático’ não é exatamente o ‘goal’ do Commons, além de ele ser fragmentado como o próprio java.io

Não estou ignorando que o Commons tenha muitas coisas legais, se eu pudesse pôr em prática agora a idéia acharia legal considerar o uso do Commons pra isso…

A nova bilbioteca não proveria funcionalidades novas, só uma camada de abstração. O post que colocaram outro dia tem um link que acho que explica exatamente o que eu gostaria de ter:

http://blastemica.blogspot.com/2006/03/apis-que-no-mordem.html

http://www.guj.com.br/posts/list/30192.java

renatosilva

É aquela coisa, se o pessoal do Hibernate fosse esperar iniciativa da Sun talvez o EJB 3 nem existisse…

Entre abrir um editor e começar a digitar código ou um e-mail para o JCP e esperar alguma coisa, acho que a primeira opção está mais ao alcance…

J

Ter 32 módulos não é uma coisa ruim, o Commons não é para ser utilizado todo (Vc utilizaria o Deamons e CLI em casos muuuito especificos por exêmplo).

Eu acho muito útil os IO, Lang e collection, e de certa forma pragmatigo sim. Mas denovo, cai no problema que de que cada um tem um jeito diferente de fazer as cousas.

Tipo, acho bem fácil fazer um

Ou então os collect, find, transformer, predicate do CollectionUtils. Tudo bem, não é nenhum groovy nem ruby mas é bem legal também.

Minha única critica é a falta de suporte ao Java 5 ainda pelo trio commons (lang, io e collections).

obs: Eu usei static imports né.

1112

renato3110:
É o que eu disse, essa coisa de ‘pragmático’ não é exatamente o ‘goal’ do Commons, além de ele ser fragmentado como o próprio java.io

Não estou ignorando que o Commons tenha muitas coisas legais, se eu pudesse pôr em prática agora a idéia acharia legal considerar o uso do Commons pra isso…

A nova bilbioteca não proveria funcionalidades novas, só uma camada de abstração. O post que colocaram outro dia tem um link que acho que explica exatamente o que eu gostaria de ter:

http://blastemica.blogspot.com/2006/03/apis-que-no-mordem.html

http://www.guj.com.br/posts/list/30192.java

Mas é exatamente disso que estou falando.

for( Object s : readLines( new File( "arquivoTextoDeMultiplasLinhas.txt" ), null )
    System.out.println( s );

Edit: Putz, é mesmo, tem static imports. Editei meu código.

Re-Edit: Então, mas o meu próprio exemplo mostra um probleminha da FileUtils para a qual poderia ser proposta uma abstração: a possibilidade de eu mandar uma String diretamente em vez de um File e a possibilidade de eu não mandar o encoding. Ok, aumenta o número de métodos? Aumenta, mas aumenta a naturalidade.

marcelomartins

pcalcado:
Eu queria dizer uma API ‘de guerra’ mais prática.

Eu posso ter File exatamente como ta hoje, mas eu poderia ter um outro pacote (como o javap do Saoj mas com um nome menos feio :stuck_out_tongue: ) com metodos mais praticos em vez de buffered reader.

Acho que foi o sergio mesmo que um dia disse que esses metodos ‘praticos’ podem ser implementados por nos. Sim, podem, mas eu nao quero inventar minha propria biblioteca de IO para uma cosia que deveria ser padronizada.


Groovy?

[size=7]Editado para acertar o nome da linguagem hehe… to dormindo tb[/size]

renatosilva

#@®®¡$:
for( Object s : readLines( new File( "arquivoTextoDeMultiplasLinhas.txt" ), null ) System.out.println( s );

Edit: Putz, é mesmo, tem static imports. Editei meu código.

Re-Edit: Então, mas o meu próprio exemplo mostra um probleminha da FileUtils para a qual poderia ser proposta uma abstração: a possibilidade de eu mandar uma String diretamente em vez de um File e a possibilidade de eu não mandar o encoding. Ok, aumenta o número de métodos? Aumenta, mas aumenta a naturalidade.

Legal essas sugestões…

Lá vai as minhas:

Ou caso você precise fazer algum processamento com as linhas:

for (String s : readLines("arquivo.txt" ))
    Console.puts(bagulha(s));
T

o FileUtil.print eu acho meio inutil… (ateh no dos tem o type para isso)
a menos, eh claro, q vc consiga fazer algo do tipo:
FileUtil.copy (source, destination), onde destination poderia ser um OutputStream ou sei lah…
mas mesmo isso eh um tanto inutil acho…

T

pensando bem, o copy acho q tem neh?

1112

Serve isso aqui? http://jakarta.apache.org/commons/io/api-release/org/apache/commons/io/FileUtils.html#copyFile(java.io.File,%20java.io.File)

peczenyj

Eu gostaria que Java ou Ruby tivesse um redirecionador como o shell, o Pipe.

Também gostaria que, colocassemos um ‘&’ no final de uma linha ou bloco isto poderia ser executado em Background.

Sem falar nos operadores && e || ou ‘try catch’ genericos:

metodo && echo ‘funfa’ || echo ‘nao funfa’

Agora uma coisa que mata a pau seria um switch de verdade

case variavel in

valor1|valor2|[algumaexpressaoregular]) sysout lalala ;;

*) systou default ;;

esac

Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):

A = 2 3 - 5 6 - *;

Delirios de um programador Shell :oops:

cv1

Em ruby, tem - da uma lida no blog do why the lucky stiff

Io tem isso, fazer algo do genero em ruby nao eh mto difiicl - mas eh perigoso.

peczenyj:
Sem falar nos operadores && e || ou ‘try catch’ genericos:

metodo && echo ‘funfa’ || echo ‘nao funfa’

Isso tambem tem em ruby.

peczenyj:
Agora uma coisa que mata a pau seria um switch de verdade

case variavel in

valor1|valor2|[algumaexpressaoregular]) sysout lalala ;;

*) systou default ;;

esac</blockquote>

Tambem tem em ruby. :wink:

peczenyj:
Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):

A = 2 3 - 5 6 - *;

STEP AWAY FROM THE KEYBOARD. REPEAT: STEP AWAY FROM THE KEYBOARD.

Z

peczenyj:
Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):

A = 2 3 - 5 6 - *;


:shock:

1112

peczenyj:
Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):

A = 2 3 - 5 6 - *;

Isso não deveria ser assim:

A 2 3 - 5 6 - * = ;

?

marcelomartins

cv:
peczenyj:
Ah, seria muito bom se java suportasse calculo com notação polonesa reversa (como em Forth):

A = 2 3 - 5 6 - *;

STEP AWAY FROM THE KEYBOARD. REPEAT: STEP AWAY FROM THE KEYBOARD.


:lol: :lol: :lol:

peczenyj

Lembrei de outra coisa divertida

Espero que Ruby ou Java tenham isso: Se eu simplesmente escrever uma string, gostaria que a ação default fosse escreve-la na stdout

tipo

“ola mundo”;

Sozinha, sem ter atribuida a nada, poderia chamar um metodo interno que escreveria na stdout o seu valor. :smiley:

cv1

E que utilidade tem isso? :slight_smile:

peczenyj

Economizar o maximo de System.out.println … po são 19 caracteres!

Mesmo com todas as mutretas do systou Ctrl+Barra de Espaços do Eclipse… :smiley:

jack_ganzha

Legal, vc economiza 19 caracteres, mas, quando é que vai escrever uma string sozinha para ser impressa? Isso não tem utilidade fora do mundo hello world. Creio que o cv falava sobre isso.

valeuz…

1112

Foi seguindo este tipo de pensamento que renomeei o notepad dos meus windows para “n.exe”. Economizo 6 caracteres diversas vezes ao dia.

leonardootto

Falando em economizar teclado eu faço uma coisa que considero legal e não vi ninguém fazendo até hj.
Infelizmente vc vai ter que usar windows 98SE para cima para fazer isso, me desculpem os outros usuarios.

1-Passo: Precione win+break. Va nas variaveis de ambiente e adicione na pathext a extensão .lnk (extensão do atalho).

2-Passo: Adicione ao path do sistema a pasta do quicklauch que acredito deva ser “C:\Documents and Settings[usuario]\Dados de aplicativos\Microsoft\Internet Explorer\Quick Launch”

3-Passo: Adicione o icone do notepad ao quick lauch e mude o nome dele para o que vc quiser. Por exemplo np.

Pronto agora para executar o notepad vc tem a incrivel dificuldade de digitar win+r para abrir o executar e digitar np e enter.

[editado]
Obs.: Isso server para qualquer programa colocado como atalho no quick lauch inclusive pastas
:lol:

1112

Então, foi o que eu disse, mas no meu caso eu renomeei para “n.exe” e copiei para a pasta windows.

leonardootto

Sim. É que eu uso de um forma diferente isso. hehehe.
As vezes sinto falta do tempo em que brincava com linux e tudo estava a uma linha de comando e alguns tab’s.
:lol:

marcelomartins

leonardootto:
Falando em economizar teclado eu faço uma coisa que considero legal e não vi ninguém fazendo até hj.
Infelizmente vc vai ter que usar windows 98SE para cima para fazer isso, me desculpem os outros usuarios.

1-Passo: Precione win+break. Va nas variaveis de ambiente e adicione na pathext a extensão .lnk (extensão do atalho).

2-Passo: Adicione ao path do sistema a pasta do quicklauch que acredito deva ser “C:\Documents and Settings[usuario]\Dados de aplicativos\Microsoft\Internet Explorer\Quick Launch”

3-Passo: Adicione o icone do notepad ao quick lauch e mude o nome dele para o que vc quiser. Por exemplo np.

Pronto agora para executar o notepad vc tem a incrivel dificuldade de digitar win+r para abrir o executar e digitar np e enter.

[editado]
Obs.: Isso server para qualquer programa colocado como atalho no quick lauch inclusive pastas
:lol:

Win users… ai ai ! hehe

peczenyj

Eu acho mais rapido fazer ‘vim’ mas… quem sou eu pra afirmar uma coisa dessas…

rodrigousp

Sobre o Commons…

Não tem jeito. Isto já é uma condição geográfica: Jakarta é a capital de Java. Para as coisas chegarem nas periferias de Java, a capital já deve ter a 2 anos, e olha que o pessoal da Apache é fanático por Backward Compatibility!!!

Tem coisas da Jakarta que são padrões de fato. Qualquer bibliotecazinha da sourceforge requer:
commons-lang
commons-logging
commons-collections

Eu não consigo pensar em um servidor de aplicação Java sem as bibliotecas da Jakarta.

Refletindo um pouco sobre isso: A situação casa perfeitamente com as teorias do Raymond sobre competividade: o baazar é bem mais competitivo que a catedral. Estranho é a imagem de uma ilha catedral e uma capital baazar.

renatosilva

Huahuauhauhauh, boa! Pode parecer ridículo, mas esse tipo de coisa seria uma das metas da biblioteca que eu tô falando…

Por isso que eu uso Console.puts :mrgreen:

Leozin

poxa se tem nego reclamando de caracteres usa então static import e pronto

renatosilva

Com o Console.puts fica massa!

Beren

Cria um code completion pra System.out.println no Eclipse e coloca Sys, Sys + espaco e voilah! vc nao precisa digitar 19 caracteres :wink:

tsc… tsc…

Z

Isso já tem no eclipse, creio que desde a versão 0.1: syso + control + espaço.

plentz

Dizer que uma linguagem é boa baseada nas IDE’s disponíveis é um tanto equivocado, não?

marcelomartins

Eu concordo, do mesmo modo que dizer que uma linguagem é boa baseado na quantidade de caracteres necessários para fazer alguma coisa.

Rubem_Azenha

talvez não a linguagem, mas a “plataforma” como um todo.

plentz

+1.

plentz

Então, seguindo sua linha de raciocínio, Java só se tornou uma boa linguagem após o lançamento do Eclipse e IntelliJ.

kuchma

Nao sei se sou eu ou se sao voces, mas acho que alguem aqui esta com problemas de visao. Em que momento o cara disse que uma linguagem de programacao eh boa se ela tiver uma boa IDE?

Marcio Kuchma

Grinvon

Então, seguindo sua linha de raciocínio, Java só se tornou uma boa linguagem após o lançamento do Eclipse e IntelliJ.

Que por sinal vieram muito depois de Java começar a fazer sucesso!

Thiagosc

O Ruby não vai mesmo para o “Mainstream” e não por causa do Java e nem da Sun, mas por causa da própria comunidade Ruby.

Ruby sofre do mesmo mal que o Linux, esnobismo. Algumas pessoas com “complexo de Deus” que ao invés de se comportar como pessoas maduras, gostam de se gabar de como são “mais inteligentes que todos os gerentes imbecis que não querem saber de Linux”. Existe uma razão para o atual estado das coisas, observar e entender o porquê é o mínimo que se pode fazer.

Chamar de “marketing” tudo aquilo que minha cabecinha de “code monkey” não pode entender não é realmente pensar.

Para Ruby ser o número 1 é preciso que aceitem todo tipo de gente, desde o noob mais noob até alguém com mais experiência e conhecimento. Java tenta ser o máximo para o maior número de pessoas possível, bem, Rubistas gostam de se divertir tirando sarro de programadores Java, só aí já dá para perceber a mentalidade dessa raça. E sequer IDEs acham necessário, como se pessoas do século XXI desenvolvessem software usando o ‘vi’.

Depois do hype do Linux e hype opensource já estou meio de saco cheio de hype. Aquele amontoado de softwares beta com uma interface projetada por autistas e com uma documentação na maioria das vezes inexistente chamado Linux, e aquele lixo tóxico chamado PHP, a pior ferramenta da história da humanidade, me fizeram ficar com pé atrás com qualquer coisa “milagrosa”.

ASOBrasil

Thiagosc:


Depois do hype do Linux e hype opensource já estou meio de saco cheio de hype. Aquele amontoado de softwares beta com uma interface projetada por autistas e com uma documentação na maioria das vezes inexistente chamado Linux, e aquele lixo tóxico chamado PHP, a pior ferramenta da história da humanidade, me fizeram ficar com pé atrás com qualquer coisa “milagrosa”.

auhahuuahuha ! voltou com a corda toda heim ?

Particularmente achei uma baba programar em PHP! Tudo bem que não fiz nada complexo, mas a linguagem é bem fácil para trabalhar na Web.

Realmente Linux tem um curva de aprendizado bem mais demorada que o Windows, mas depois que vc acostuma e entende como funciona, vc passa a gostar dele. E desculpe, mas documentação, fóruns e livros é o que não falta para o Linux. Quando eu sai do Visual Basic (que Deus ou o Diabo o tenha ! ahahah) e fui para o Java, no começo também meti o pau no Java, tudo era difícil, um monte de plugins e softwares para baixar!

ASOBrasil

Thiagosc

Eu uso Linux desde 1998 e é meu desktop padrão, principalmente por não gostar do Windows. Até que recentemente ele está se tornando usável, mas a principal falha é que os patetas open source não melhoram nada, apenas copiam.

O Gnome que tem uns objetivos interessantes, ainda que incompletos, de interface de usuário (“just works”) é constantemente avacalhado por figuras da comunidade por ser “fácil demais”. Esse pessoal é doente.

Mas eu uso Linux por 2 motivos:

  • inércia: não tenho a mínima vontade de formatar a minha máquina;
  • Windows é um lixo: não quero me preocupar com vírus, spywares e falhas de segurança.

Quanto ao PHP, é bom somente para coisas simples e mais nada.

Nunca achei Java difícil, o que é difícil de agüentar é o misticismo dessa área. Todo dia tem uma “febre” nova. Esses “cientistas da computação” fazem tudo, menos ciência. “Ciência” da computação deveria ser rebaixada a pseudo-ciência, assim como Astrologia, Cartomancia, etc.

F

Hauihaiuhaui…

Por isso eu amo o off-topic do GUJ… Sempre alguem revive os fights…

Amanhã promete… sexta-feira… uma boa discussão no off-topic…

marcelomartins

Thiagosc:
O Ruby não vai mesmo para o “Mainstream” e não por causa do Java e nem da Sun, mas por causa da própria comunidade Ruby.

Ruby sofre do mesmo mal que o Linux, esnobismo. Algumas pessoas com “complexo de Deus” que ao invés de se comportar como pessoas maduras, gostam de se gabar de como são “mais inteligentes que todos os gerentes imbecis que não querem saber de Linux”. Existe uma razão para o atual estado das coisas, observar e entender o porquê é o mínimo que se pode fazer.

Chamar de “marketing” tudo aquilo que minha cabecinha de “code monkey” não pode entender não é realmente pensar.

Para Ruby ser o número 1 é preciso que aceitem todo tipo de gente, desde o noob mais noob até alguém com mais experiência e conhecimento. Java tenta ser o máximo para o maior número de pessoas possível, bem, Rubistas gostam de se divertir tirando sarro de programadores Java, só aí já dá para perceber a mentalidade dessa raça. E sequer IDEs acham necessário, como se pessoas do século XXI desenvolvessem software usando o ‘vi’.

Depois do hype do Linux e hype opensource já estou meio de saco cheio de hype. Aquele amontoado de softwares beta com uma interface projetada por autistas e com uma documentação na maioria das vezes inexistente chamado Linux, e aquele lixo tóxico chamado PHP, a pior ferramenta da história da humanidade, me fizeram ficar com pé atrás com qualquer coisa “milagrosa”.


Tava indo bem, muito bem, mas no final desandou e como média ficou só um monte de palavras sem sentido!

plentz

Nessa você realmente se esforçou.

Uso windows, acho um software muito bom pras minhas necessidades quanto à sistema operacional e não me preocupo com vírus. Não abro anexos do tipo “nude photos.src” ou “jennifer lopez.exe”. E a propósito, navego bem tranquilamente usando o Firefox(sim, no windows). Por sinal, ainda não tive problema de invasão e também não utilizo qualquer tipo de firewall e antivírus. Será sorte?

Fabricio_Cozer_Marti

Eu uso linux no trabalho e windows em casa, dá pra perceber a diferença, estou pensando quase definitivo em mudar o de casa pra linux também.

Z

Eu uso Windows no trabalho pq eh o jeito, uso na universidade pq soh tem ele, uso no desktop em casa pq minhas irmãs odeiam Linux e uso no notebook pq ainda nao consegui fazer o Maddenl NFL 2006 rodar no Wine. Então… :smiley:

Tenho até instalado o Ubuntu aqui, mas tenho preguiça de ficar rebootando qnd quero jogar e qnd quero trabalhar.

cv1

Definam ‘mainstream’, e pq Ruby ou Rails teriam que entrar pro ‘mainstream’ pra serem bons ou fazerem sucesso, lembrando que ‘popular’ e ‘melhor’ sao conceitos nada relacionados e muitas vezes opostos.

Mauricio_Linhares

Mainstream é exatamente o popular e é difícil de Ruby chegar lá porque é uma linguagem complexa e bem diferente do que a maior parte dos programadores já trabalhou (já que ela não tem muita herança de C).

Um programador “comum” que olha pra código Ruby pela primeira vez, ou ama de paixão ou morre de desespero, não existe meio termpo, porque o choque é bem grande.

renatosilva

Mainstream é exatamente o popular e é difícil de Ruby chegar lá porque é uma linguagem complexa e bem diferente do que a maior parte dos programadores já trabalhou (já que ela não tem muita herança de C).

Um programador “comum” que olha pra código Ruby pela primeira vez, ou ama de paixão ou morre de desespero, não existe meio termpo, porque o choque é bem grande.

Discordo aliroubit. Ruby tem meios excêntricos de fazer coisas, mas muitas vezes tem como fugir delas. No meu caso, eu ouvia falar que Ruby tinha uma sintaxe simples e quando peguei o bicho pra olhar não achei que fosse tão limpa assim não.

Na verdade pensei: que absurdo, como podem chamar de limpa essa sintaxe com var $var @var @@var :string etc etc. Mas com o tempo me acostumei. Hoje em dia não acho Ruby uma linguagem exatamente “limpa”, mas sim uma linguagem simples, para os que a entendem.

Moral da história o que eu acho é que tem umas coisas chocantes que não batem com o marketing de linguagem incrivelmente “limpa”, mas não acho que seja pra tanto…

grprado

Limpa e super clara IMHO ela não é. Mas em alguns casos acaba resolvendo problemas com bem menos linhas de código e com maior legibilidade.

Como o Maurício falou, ao ver um código em ruby, ou você se apaixona ou você odeia até o final da vida.

Eu me apaixonei, mas ainda estou na fase de amor platônico, tá faltando tempo pra estudar :frowning:

Mauricio_Linhares

O caso não é fugir, é se acostumar e usar!

Se for pra fugir das coisas excêntricas, é melhor continuar com Java, porque são as “excentricidades” de Ruby que fazem dela uma linguagem interessante.

cv1

Nao eh pq tem caracteres estranhos que a linguagem eh “suja” - eu acho Java muito mais “sujo” que Ruby ou Smalltalk, pq em Java eu tenho que ficar dando papinha na boca do compilador o tempo todo. Nao da pra ver o que o meu codigo realmente quer dizer, pelo menos nao tao bem.

renatosilva

O caso não é fugir, é se acostumar e usar!

Se for pra fugir das coisas excêntricas, é melhor continuar com Java, porque são as “excentricidades” de Ruby que fazem dela uma linguagem interessante.

Ruby te dá alternativas. Se eu acho certa coisa muito doida, apesar de ser curta e digitar menos, em geral eu vou ter uma alternativa mais legível. Tem uns bagulhos sinistros de $_ $% $* ____AB que acho que tem como fugir de usá-los.

O que eu me lembro agora é que pelo menso eu posso escolher entre {} e do-end. Não sou muito chegado em linguagens simbólicas, então geralmente não vou usar as chaves…

Z

Nao tem que entrar no “mainstream” pra fazer sucesso pq “mainstream” eh fazer sucesso (muito sucesso). O titulo da thread que poderia ser mais claro: pq Ruby nao vai fazer taaaaanto sucesso? Ou Ruby vai fazer tanto sucesso quanto Java?

renatosilva

Nao eh pq tem caracteres estranhos que a linguagem eh “suja” - eu acho Java muito mais “sujo” que Ruby ou Smalltalk, pq em Java eu tenho que ficar dando papinha na boca do compilador o tempo todo. Nao da pra ver o que o meu codigo realmente quer dizer, pelo menos nao tao bem.

Então. Depois que você se acostuma com as covenções sim. Mas o cara que olha esses códigos de primeira não entende muito. É legal olhar @var e saber que é variável de instância, é legal fazer new Tatau(:bla => 1, :qualquer => “ha”) (é assim?), mas não antes de aprender…

Não tenho estudado, mas na época que eu fazia e voltava a mexer com Java já começava a sentir saudades do Ruby :smiley:

1112

Ei, o título da thread vem do artigo no post inicial, não me culpem. :stuck_out_tongue:

Fabricio_Cozer_Marti

Isso depende da adoção dela na indústria de software, as empresas precisam acreditar que ela vai render lucros, não só que seja uma maravilha que atinge uma pequena porção, quantas linguagens melhores do que java já existem a tempo por aí e não se tornaram populares ?

Infelizmente para a área científica isso é um problema, mas para o mercado, onde os empresários querem industrializar a produção de software, e precisam de muita gente que ‘apertem parafusos’ e ‘plugem peças’ , é de fato uma vantagem enorme.

Thiagosc

Fabrício Cozer Martins:
Infelizmente para a área científica isso é um problema, mas para o mercado, onde os empresários querem industrializar a produção de software, e precisam de muita gente que ‘apertem parafusos’ e ‘plugem peças’ , é de fato uma vantagem enorme.

Li um artigo no blog do Spolsky, provavelmente vocês devem ter lido pois acho que saiu no java.net ou algum site assim, que ele dizia que “existe mais no negócio de software do que código”, e eu tenho que concordar, apesar de ser programador e ter asco a coisas relacionadas a vendas e marketing.

O comportamente “imaturo” da comunidade Ruby, assim como em Linux, é criar esse antagonismo imbecil de “nós, os desenvolvedores super inteligentes VS os empresários e gerentes gananciosos querendo ganhar dinheiro vendendo software ruim”. Isso é negar a realidade.

Vocês já pararam para pensar que determinados tipos de software, não digo todos e não é minha função vender produtos de outras empresas, atendem uma necessidade, e normalmente essa necessidade é mais que simplesmente “em quantas linhas de código se faz um hello world”?

Ruby seria matador se não fosse pela mentalidade hippie-rage-against-the-machine de alguns rubistas hardcore. E as pessoas deveriam aprender a comunicar idéias do que isso acrescenta para o negócio. Simplesmente vomitar coisas como “Rails, DSL, funcionais vs imperativas, linguagem dinâmica, etc” só faz sentido para nós, programadores.

renatosilva

Exatamente o que eu penso sobre Stallman e seus nós-filho.

Rubem_Azenha

O dia que eu ver Ruby ocupando uma boa relevante das ofertas de emprego, ai eu concordarei que Ruby vai entrar pro “Mainstream”.

Mauricio_Linhares

Só tenha cuidado pra não ser pego de surpresa pela onda :wink:

louds

Thiagosc:
Fabrício Cozer Martins:
Infelizmente para a área científica isso é um problema, mas para o mercado, onde os empresários querem industrializar a produção de software, e precisam de muita gente que ‘apertem parafusos’ e ‘plugem peças’ , é de fato uma vantagem enorme.

Li um artigo no blog do Spolsky, provavelmente vocês devem ter lido pois acho que saiu no java.net ou algum site assim, que ele dizia que “existe mais no negócio de software do que código”, e eu tenho que concordar, apesar de ser programador e ter asco a coisas relacionadas a vendas e marketing.

O comportamente “imaturo” da comunidade Ruby, assim como em Linux, é criar esse antagonismo imbecil de “nós, os desenvolvedores super inteligentes VS os empresários e gerentes gananciosos querendo ganhar dinheiro vendendo software ruim”. Isso é negar a realidade.

Vocês já pararam para pensar que determinados tipos de software, não digo todos e não é minha função vender produtos de outras empresas, atendem uma necessidade, e normalmente essa necessidade é mais que simplesmente “em quantas linhas de código se faz um hello world”?

Ruby seria matador se não fosse pela mentalidade hippie-rage-against-the-machine de alguns rubistas hardcore. E as pessoas deveriam aprender a comunicar idéias do que isso acrescenta para o negócio. Simplesmente vomitar coisas como “Rails, DSL, funcionais vs imperativas, linguagem dinâmica, etc” só faz sentido para nós, programadores.

Linguagens de programação são importantes apenas para programadores, não para gerêntes. Um gerente normalmente sabe que uma linguagem de programação é um martelo de fazer software. A responsabilidade de saber se precisa de uma marreta, um machado ou um martelinho de precisão é toda do programador.

Fabricio_Cozer_Marti

louds:
Thiagosc:
Fabrício Cozer Martins:
Infelizmente para a área científica isso é um problema, mas para o mercado, onde os empresários querem industrializar a produção de software, e precisam de muita gente que ‘apertem parafusos’ e ‘plugem peças’ , é de fato uma vantagem enorme.

Li um artigo no blog do Spolsky, provavelmente vocês devem ter lido pois acho que saiu no java.net ou algum site assim, que ele dizia que “existe mais no negócio de software do que código”, e eu tenho que concordar, apesar de ser programador e ter asco a coisas relacionadas a vendas e marketing.

O comportamente “imaturo” da comunidade Ruby, assim como em Linux, é criar esse antagonismo imbecil de “nós, os desenvolvedores super inteligentes VS os empresários e gerentes gananciosos querendo ganhar dinheiro vendendo software ruim”. Isso é negar a realidade.

Vocês já pararam para pensar que determinados tipos de software, não digo todos e não é minha função vender produtos de outras empresas, atendem uma necessidade, e normalmente essa necessidade é mais que simplesmente “em quantas linhas de código se faz um hello world”?

Ruby seria matador se não fosse pela mentalidade hippie-rage-against-the-machine de alguns rubistas hardcore. E as pessoas deveriam aprender a comunicar idéias do que isso acrescenta para o negócio. Simplesmente vomitar coisas como “Rails, DSL, funcionais vs imperativas, linguagem dinâmica, etc” só faz sentido para nós, programadores.

Linguagens de programação são importantes apenas para programadores, não para gerêntes. Um gerente normalmente sabe que uma linguagem de programação é um martelo de fazer software. A responsabilidade de saber se precisa de uma marreta, um machado ou um martelinho de precisão é toda do programador.


Depende, que tipo de programador vc está falando ?
Na maioria das vezes, o programador pode até saber que uma marreta é melhor que um martelo, mas será que na maioria das situações, ele consegue convencer os gerentes de usar uma e não a outra ?

Aí é que está a questão! Quantas vezes alguém aqui já estava cansado de se F*** com ejb, struts, etc… e mesmo sabendo das vantagens de outras tecnologias melhores surgindo por aí não conseguiram usá-las ? As vezes tem projetos que valem 100x mais só por ser em java ou em .net, em php, asp, python, etc … elas seriam menos lucrativas.

Z

Não se trata apenas de provar pro gerente que a linguagem de programação é boa. Enquanto não for relativamente fácil pra um gerente montar uma equipe com um bom número de programadores Ruby (digamos 10 a 15, evidente que isso depende do projeto), vai ser difícil um gerente médio querer usá-la. Falta de mão-de-obra disponível implica em alto custo.

Se bem que olhando por essa ótica vira um dilema de tostines: pra entrar no mainstream precisa ter uma grande adoção, mas só vai ter grande adoção quando entrar no mainstream.

1112

Ou seja, você não gosta do Ruby por causa dos Rubystas. Isso faz tanto sentido quanto não gostar de teatro por causa das pessoas que assistem à peça.

De qualquer maneira, se isto aqui não der uma idéia do quanto mudar de ares pode ser bom para o negócio, não sei o que dará.

plentz

Bem lembrado, as vezes

cv1

Eu estou em contato mais ou menos diario com gente que seria facilmente classificada como rubista hardcore, e nao consigo pensar em nenhum que caiba na sua descricao. Voce poderia citar alguns exemplos de rubistas hardcore que tem mentalidade hippie-rage-against-the-machine?

Daniel_Quirino_Olive

Se por um lado existe esta mentalidade “hippie-RATM” por parte dos Rubistas, existe também uma mentalidade bem provinciana por parte dos Javaneses em não querer aceitar novidades vindas de fora da comunidade Java. Foi assim com .NET (ok, .NET não agregou nenhuma grande inovação revolucionária) e está sendo assim com Ruby. Eu não entendo qual é o mal em se aprender uma nova tecnologia, principalmente se ela pode ajudar a torná-lo um desenvolvedor melhor.

J

Para mim, depois de cabeleiro a profissão que têm mais frescura e ego é a de desenvolvedor.

Cara, eu trabalho com Java quase que full time, acho Java bom pra dedeu… Mas dizer que é a melhor opção para tudo? NÃO! Pensando tecnicamente, acho que nem seria a melhor opção pra muita coisa que eu uso… Mas não posso pensar só tecnicamente…

Mas no fundo, Java para mim é um negócio. Da onde eu tiro o pãozinho de cada dia… Se amanhã eu tiver que trabalhar com ruby ou até mesmo C# (dos quais eu gosto muito), faço numa boa.

Outra coisa que me mata, e isso normalmente eu vejo muito no mundo java, e o amor a padrões, principalmente formados pela SUN. Gente, nem todo projeto prececisa usar todos aqueles padrões. Os pattern normalmente, é inclusive são catalogados assim, servem para resolver problemas. Conhecer pattern é muito bom, sabe usa-los é outra coisa. (Atenção. NAO SOU CONTRA ELES!)

1112

Aqui eu acho que o problema é outro: as pessoas muitas vezes usam as coisas sem saber usar, sem saber quando usar e sem saber para quê usar, então acabam usando sem critério. Isso vale para padrões, tecnologias, e riffs de guitarra em algumas bandas de garagem.

F

Vc fala isso porque nunca trabalhou no setor de mídia, publicidade e afins.
Pelo que eu aprendi com eles, acho que posso afirmar que nossos egos são minúsculos.

Desenvolvedores acho que tem um ego maior, alem de uma “amor” de mãe com suas tecnologias e aplicações. “Ai de alguem mexer na minha aplicação” :twisted:

Acho que toda novidade gera burburinho excessivo, muitos dizendo que será a tábua de salvação de todos os problemas, outros dizendo que será a próxima encarnação de Jesus Cristo. E outros dizendo que isso é coisa do anti-cristo, que é besteira,…

Acho que discutir tecnologia é bobagem, pode-se fazer de tudo e bem feito com qualquer tecnologia. Algumas tem abordagens diferentes, melhores em alguns pontos, piores em outros…

O que acho que vai ser fundamental para o Ruby (e qq linguagem que vier a surgir) é criar uma boa comunidade de desenvolvedores, boa em qualidade e quantidade, para que o nível das soluções seja sempre em alto. Isso é o grande ponto forte da comunidade Java, e vantagem a qual outras tecnologias (.Net, PHP, Delphi e C++) não conseguem igualar.

Como a comunidade Ruby está sendo incubada dentro da comunidade Java. Basta manter o crescimento dos desenvolvedores e manter o alto nivel de desenvolvimento (patterns, frameworks adicionais, IDEs) para que Ruby conquiste seu espaço no Mainstream.

louds

ZehOliveira:
Não se trata apenas de provar pro gerente que a linguagem de programação é boa. Enquanto não for relativamente fácil pra um gerente montar uma equipe com um bom número de programadores Ruby (digamos 10 a 15, evidente que isso depende do projeto), vai ser difícil um gerente médio querer usá-la. Falta de mão-de-obra disponível implica em alto custo.

Se bem que olhando por essa ótica vira um dilema de tostines: pra entrar no mainstream precisa ter uma grande adoção, mas só vai ter grande adoção quando entrar no mainstream.

Ou seja, o problema com Ruby não é a linguagem ou os que programam com. Mas sim que no geral as pessoas são má negociadoras e tímidas. Sabem negociar e vender ídeias é muito importante para quem não quer apenas “tirar certificado, programar e ganhar uns troco”.

Fabricio_Cozer_Marti

louds:
Sabem negociar e vender ídeias é muito importante para quem não quer apenas “tirar certificado, programar e ganhar uns troco”.

É complicado, vc pra ter que conseguir vender essas idéias vc tem q ser qualificado, e não basta um mero bla bla bla no pé do seu gerente, mas também usar de arte manhas em títulos como certificações,graduação, pós, mestrado, etc…

plentz

Fabrício Cozer Martins:
É complicado, vc pra ter que conseguir vender essas idéias vc tem q ser qualificado, e não basta um mero bla bla bla no pé do seu gerente, mas também usar de arte manhas em títulos como certificações,graduação, pós, mestrado, etc…

Fabrício, se você realmente acredita que precisa de títulos para chegar a algum lugar na sua carreira, espero que você tenha muita sorte no seu futuro profissional.

Fabricio_Cozer_Marti

diego_sl:
Fabrício Cozer Martins:
É complicado, vc pra ter que conseguir vender essas idéias vc tem q ser qualificado, e não basta um mero bla bla bla no pé do seu gerente, mas também usar de arte manhas em títulos como certificações,graduação, pós, mestrado, etc…

Fabrício, se você realmente acredita que precisa de títulos para chegar a algum lugar na sua carreira, espero que você tenha muita sorte no seu futuro profissional.


Desculpa, quis generalizar os gerentes/diretores existentes hoje em dia por aí, mas se não me engano foi até no Mundo Java, que li uma reportagem com os principais gerentes de software das maiores empresas no Brasil, e eles falaram que esses títulos ajudam, claro que não são necessários, mas é uma forma ‘normal’ de se acreditar num profissional.

Tem muita gente que faz mestrado por aí que não consegue levantar um braço pra clicar no mouse, mas enfim … isso é uma outra discussão, e novamente desculpa diego , creio que você deve ter ficado ofendido por um motivo muito justo, sem duvida alguma tem muita gente que consegue convencer os gerentes sem ter esses títulos, afinal vendedor que é vendedor não precisa de títulos, mas com eles, ou também com muita experiência favorecem mais … entendeu ?

Rubem_Azenha

Maurício Linhares:

Só tenha cuidado pra não ser pego de surpresa pela onda :wink:

Pode deixar, já me previni! :slight_smile:

Thiagosc

http://www.loudthinking.com/arc/000577.html

Especialmente essa parte:

“With that out of the way, we’re faced with a more serious problem. How do we fork the word enterprise? The capitalized version has obviously been hijacked by McGovern and his like-minded to mean something that is synonymous with hurt and pain and torment.”

Mas que p*** “hurt”, “pain” e “torment” tem a ver com arquitetura de software? Isso é de um infatilismo absurdo. É como querer “ganhar” uma discussão xingando o outro de “seu bobo”.

Você já pensou chegar para um engenheiro que projetou um prédio ou uma ponte e falar para ele que o projeto dele é “hurt, pain and torment”?? Provavelmente o indivíduo olharia para a sua cara sem saber o que pensar! É por essas e por outras que essa área está no nível de Astrologia!!

Se Rubistas conseguissem se expressar em termos lógicos, sem “amor à causa rage-against-the-machine” eles poderiam até parecer dignos de confiança. No entanto qualquer um que levante uma dúvida sequer a respeito “da onda” é tachado de idiota.

O mais cômico é as figura do “Bruce Tate” dar uma entrevista aqui e ali, mas nunca elucidar o que ele quer dizer com o “beyond Java”. É lógico, ele quer que você compre o livro!

As pessoas deviam teclar menos e pensar mais.

Thiagosc

#@®®¡$:
Ou seja, você não gosta do Ruby por causa dos Rubystas. Isso faz tanto sentido quanto não gostar de teatro por causa das pessoas que assistem à peça.

De qualquer maneira, se isto aqui não der uma idéia do quanto mudar de ares pode ser bom para o negócio, não sei o que dará.

Sim, assim como os testemunhos das pessoas na TV que compraram os produtos do 1406? Perderam 20 quilos em 1 mês depois de comprar a incrível máquina de abdominais?

Cara, pára de pensar apenas na telinha na sua frente e pensa macro! Não se mede um software simplesmente por “quantidade de linhas de código”. E ainda que isso importe para você não há nada impedindo Java e nenhuma outra linguagem de ter soluções que poupem trabalho.

O fato de desenvolvedores ficarem idiotas para estudar um livro de 500 páginas para aprender um framework que supostamente deveria poupar-lhes trabalho não significa que todos sejam igualmente idiotas.

Para concluir, apenas por uma combinação milagrosa de eventos o Ruby poderia chegar a algum lugar, entre outras coisas os nerds l33t deveriam pensar em tornar Ruby uma linguagem para todos, e o Java deveria congelar no tempo. Nenhum dos dois está acontecendo, os nerds continuam l33t e seletivos, e o Java continua evoluindo…

plentz

Thiagosc:
Mas que p*** “hurt”, “pain” e “torment” tem a ver com arquitetura de software? Isso é de um infatilismo absurdo. É como querer “ganhar” uma discussão xingando o outro de “seu bobo”.

Você já pensou chegar para um engenheiro que projetou um prédio ou uma ponte e falar para ele que o projeto dele é “hurt, pain and torment”?? Provavelmente o indivíduo olharia para a sua cara sem saber o que pensar! É por essas e por outras que essa área está no nível de Astrologia!!

Nunca pensei, porque para fazer uma ponte, uma construção que normalmente tem um bom grau de complexidade(suporte dos pilares, suporte de carga, envelhecimento), a necessida de um bom planejamento é visível. Mas quando estamos falando de um sistema web que não passa de um simples CRUD, qual a real necessidade de um megalo-projeto?

O problema da maioria dos programadores(não somente java) é esse: se recusam à ler um livrinho de 500 páginas para aprender algo novo.

Fabricio_Cozer_Marti

Para CRUDs, existem muitos frameworks até mesmo em java que ajuda a implementação, basta até vc nem programar, e a depender do nível de abstração, vc só precisa configurar.

Acho o contrário, programador java competente tem q se f**** pra aprender suas ferramentas, bote ai uns 10 livros de 500pgs, já em ruby um só bastaria ou não ? sei lá pelo menos é o q dizem … :stuck_out_tongue:

cv1

Ja pegou uma “arquitetura enterprise”, dessas onde tem EJB chamando outro na mesma JVM atraves de webservices pelo load balancer? Pra mim, isso representa hurt, pain and torment. Pode nao ser o seu caso, nao sei.

Sim, o que tem? Ta cheio de predio e ponte feio pra cacete por ai.

Eh assim que hypes funcionam, ueh. So nao entendi onde ta a grande novidade aqui, alem do fato de que Ruby e o Rails tem meritos tecnicos muito importantes de se considerar.

Eu assino embaixo, se vc prometer que vai fazer isso tambem :slight_smile:

cv1

Como vc mede o seu software? Liste metricas que determinam o seu criterio de selecao, e a gente faz uma analise.

Mauricio_Linhares

Fabrício Cozer Martins:

Acho o contrário, programador java competente tem q se f**** pra aprender suas ferramentas, bote ai uns 10 livros de 500pgs, já em ruby um só bastaria ou não ? sei lá pelo menos é o q dizem … :stuck_out_tongue:

Livros básicos do programador Java pra web (pra sair pronto):

Livros básicos do programador Ruby pra web (pra sair pronto):

No fim das contas dá no mesmo, porque o livro do Spring não precisa ser lido por inteiro pra ser útil e o Hibernate é muito mais complexo e completo do que o ActiveRecord (por isso tem um livro completo só pra ele). Então a quantidade de material necessário pra começar é praticamente a mesma, essa história de uma dúzia de livros é mera balela.

peczenyj

Isso parece com discussões do tipo MSX versus AMIGA. Ou OpenVMS versus Solaris.

Rubem_Azenha

Mauricio, eu sei que você curte Spring, mas acho que ele pode ser excluido da lista de livros nescessários.

Mauricio_Linhares

Eu não acho, porque ele tem o framework MVC (como o Rails) e faz a integração com vários outros serviços (ORM, e-mail, transações, web-services) também como Rails faz. Rails não é apenas um framework MVC e ORM, ele tem muito mais do que isso, então não seria justo comparar ele com um framework que fosse apenas um MVC, como WebWork , Mentawai ou Struts.

plentz

Bom, se for adicionar tudo que o Rails engloba, teria que adicionar na lista de livros JUnit, Hibernate, Webwork(ou semelhante), um de webservices, um de Ajax…Acho muito complicado querer comparar o Rails com equivalentes em Java.

Mauricio_Linhares

Pra citar o Spring também, provavelmente com uma lista bem maior, mas como eu já havia dito antes, o livro não precisa ser lido por completo, bastaria uma olhada na parte de inversão de controle, ORM e o framework MVC.

1112

De fato, por isso que se considera o tempo, o número de pessoas, a manutenibilidade… mas, ei! Com menos linhas de código, se usa menos tempo, menos pessoas e tem menos o que manter.

Mas mesmo assim, quais são as métricas que você usa, já que não gosta de LOC?

Verdade, e se você tivesse lido este tópico em vez de simplesmente atacar qualquer tópico com Ruby no título, veria que isso já foi dito.

Bem, eu leio livros de 600 páginas por diversão. Mas o problema da maioria das pessoas é esse, elas não gostam de ler. Isso me deixa triste. :frowning:

Detalhe que, mesmo considerando o que li sobre Java/Ruby/whatever como pouco, acho que eu já li mais ou menos umas 15 vezes mais sobre Java do que sobre Ruby.

Mas seleção natural não é o catalisador do processo de evolução? Qual o problema em ser seletivo, então?

Thiagosc

#@®®¡$:
De fato, por isso que se considera o tempo, o número de pessoas, a manutenibilidade… mas, ei! Com menos linhas de código, se usa menos tempo, menos pessoas e tem menos o que manter.

Mas mesmo assim, quais são as métricas que você usa, já que não gosta de LOC?

Eu uso o que tem cabimento dado o contexto de um projeto. O que existe é um generalização slashdotesca acerca do LOC.

Parece que ninguém nunca usou uma linguagem script na vida! Parece que nunca fizeram um scriptzinho para colocar no crontab.

Eu ataco qualquer coisa ilógica.

Bom, eu leio uns 15 livros por ano. E não é só técnico e nem desses lixos de auto-ajuda (Paulo Coelho, Qualquer-Coisa Gaspareto (?), arrrgh!).

Agora o que muitos fazem é isso:

  • Eu preciso ir do ponto A para o B:

Pessoas normais: traça uma linha reta
Programadores Java intoxicados como arquivos XML de configuração, usando o novo Mega-framework 3000, com um novo “hyped way of doing the same old thing”:

  • Preencho um requerimento (em XML) em duas vias para entregar no centro de tráfego A-B;
  • Compro uma bicicleta (carro é ruim né?);
  • Parto do ponto A;
  • Páro para tomar cafézinho à 15:00;
  • Passo pelo ponto C para dar um “oi” para o pessoal;
  • dou três pulinhos;
  • chego no Ponto B;

O problema é realmente o excesso de “complexidade” usado por muitos. A culpa é do Java? Não acredito que seja.

Fala isso para a Microsoft. Bobinhos eles, não?

Primeiro, market share, depois melhore conforme a necessidade. Graças ao .Net tivemos o Java 5, e graças ao Ruby teremos muito mais. Se não fosse pela concorrência o Java teria poucas “perspectivas” pois não haveria a necessidade de melhorar.

leomc

Essa festa toda desse tópico me lembra uns(vários) anos atrás quando entrei na faculdade e queria fazer uns “sitezinhos”, tudo que vinha na minha frente era ASP, estudei, comprei um livro e em menos de um mês de estudo achei aquilo um lixo, pesquisando achei o tal do PHP, só que ninguém usava, ninguém conhecia na faculdade, logo não prestava, o pessoal falava pra mim, se é bom por que ninguém usa? mas como achei php BEEEEEEEEEEEMMMMMMMMMMM superior ao ASP estudei php e pra minha supresa pouco tempo depois…o php virou a mesa, por que será?
Nessa mesma época quase obrigavam a gente a estudar vb e delphi pq era as duas únicas linguagens que existiam (segundo uns ignorantes) e hoje… onde estão??? morrendo! quem, sabe vamos ver daki poucos anos que tem mais sistemas em cobol que em delphi.

A tecnologia muda, evolui, por acaso java é mais fácil que vb? não né! e pq o java tá aí com toda essa força?

plentz

Eu ataco qualquer coisa ilógica.

Você continua se desviando e evitando responder alguns perguntas que provavelmente teriam respostas não à favor da sua visão. Você não precisa “ganhar” todas as discussões. Esse não é o propósito de um fórum :wink:

Thiagosc

Que rapaz engraçado…

Thiagosc

Essa foi o clássico argumento “As coisas mudam, logo ELAS TÊM QUE MUDAR AGORA simplesmente porque eu assim desejo”. Sim, depois de confrontados os “fiéis” partem para a tática “veja o passado, ele se repete”, ignorando toda e qualquer similaridade de situações ou causas temporais.

Timing conta.

As coisas com certeza mudam, mas não por causa do slashdot. Afinal de contas se dependesse desse tipo de “cabeça” o Java não teria saído do 1.0. É o mesmo tipo de cabeça que conta a “popularidade” do Java pela quantidade de aplicativos que tem no computador, pelos “Applets” (de 1996), etc.

BTW, PHP é uma coisa tosca e acho que isso é fato conhecido por todos aqui. O resto eu não vou nem comentar.

leomc

Se você leu meu post viu que me referi a vários anos atrás… em 1998 tinha algo melhor que php para se desenvolver sistemas web? E hoje me mostre um framework web tão bom quanto o rails em java.

marcelomartins

Estava programando em PHP ontem. Muito bom! Dinheiro fácil e rápido! :slight_smile:

louds

Thiago, o univervo não gira em torno da terra viu, não sei se já te avisaram disso.

Mauricio_Linhares

Estava programando em PHP ontem. Muito bom! Dinheiro fácil e rápido! :)

Tem gosto pra tudo nessa vida :lol:

Programar em PHP só por muito dinheiro mesmo :smiley:

1112

Provavelmente, ele sabe disso porque é de antes dele nascer. Se fosse uma idéia nova, ele estaria junto com os que apedrejaram Galileu.

Thiagosc

Idéia nova!? hahahahahahahah

Onde? “IT é um cachorro que come as próprias fezes”, não lembro se li em algum blog ou algum fórum da vida.

NADA nessa coisa “mística” acerca do Rails é novo. É apenas o velho com uma roupinha nova.

Como em termos API Java sempre vence, e ferramentas também, muda-se as regras. APIs? Isso é “complexidade”, programadores de verdade escrevem tudo do zero. IDEs? Não, isso é “complexidade”, programadores de verdade usam o notepad.

Pelo amor de Deus, há algum lógica nisso? DSLs são usadas em Unix desde tempos imemoriais, micro linguagens para determinada função, por um acaso Unix é um exemplo de facilidade!?

Você já parou pensar no estrago que os desenvolvedores que não sabem inglês farão quando fizerem uma DSL para cada coisinha? Imagina a bagunça do Linux, multiplica por 1000, e veja se lhe agrada.

Idéia nova? Ainda não vi nenhuma. Quando você encontrar alguma me avisa, ok?

Thiagosc

Maurício Linhares:
Tem gosto pra tudo nessa vida :lol:

Programar em PHP só por muito dinheiro mesmo :D

Concordo. :slight_smile:

1112

thiagosc:
NADA nessa coisa “mística” acerca do Rails é novo. É apenas o velho com uma roupinha nova.
Foi o que eu disse. Afinal, Galileu apenas defendeu as idéias de Copérnico.

plentz

Thiago, é impressionante, mas você cada vez consegue me supreender mais. “Velho com uma roupinha nova”? E porque surgiram tantas novidades para Java derivados do Rails? Já ouviu falar de Grails e suas variantes? Pois é. Quer um exemplinho melhor do que um “velho com uma roupinha nova” pode causar? AJAX. E esse velhinho bem vestido já causou um bocado de inovações né?

Concordo plenamente contigo que Java possui melhores ferramentas. Agora API melhor? Mais completa, sim. Agora faça o seguinte antes de postar uma resposta.
Abra dois sites: http://www.ruby-doc.org/core/ e http://www.ruby-doc.org/stdlib/. Dê uma olhadinha rápida (não precisa nem “perder” muito tempo).
Agora abra o Javadoc do Java 5 e compare algumas partes equivalentes. Se você continuar com a idéia que “em termos de API Java sempre vence”, definitivamente, desisto de tentar entender tua forma de raciocínio.

marcelomartins

Maurício Linhares:
Tem gosto pra tudo nessa vida :lol:

Programar em PHP só por muito dinheiro mesmo :D


Foi o que eu disse! :lol:

Thiagosc

diego_sl:
Thiago, é impressionante, mas você cada vez consegue me supreender mais. “Velho com uma roupinha nova”? E porque surgiram tantas novidades para Java derivados do Rails? Já ouviu falar de Grails e suas variantes? Pois é. Quer um exemplinho melhor do que um “velho com uma roupinha nova” pode causar? AJAX. E esse velhinho bem vestido já causou um bocado de inovações né?

Cadê a “idéia nova” no framework? Só porque uma parte considerável dos desenvolvedores Java gostam de se acabar em XML, e depois descobriram que há formas mais automáticas de se trabalhar, isso é “novo”?

AJAX? Isso é novo? Não é baseado naquela funcionalidade que a Microsoft tinha inventado mas não dado muita bola?

Inovações? Onde?

O bom disso tudo é que a orgia de alguns desenvolvedores Java com XML vai para patamares normais. Eu adoro XML, mas simplesmente o pessoal viajou no hype. Assim como parece uma parte está viajando em outro hype agora.

diego_sl:
Concordo plenamente contigo que Java possui melhores ferramentas. Agora API melhor? Mais completa, sim. Agora faça o seguinte antes de postar uma resposta.
Abra dois sites: http://www.ruby-doc.org/core/ e http://www.ruby-doc.org/stdlib/. Dê uma olhadinha rápida (não precisa nem “perder” muito tempo).

Eu veria se conseguisse acessá-los.

1112

Thiagosc:
diego_sl:
Concordo plenamente contigo que Java possui melhores ferramentas. Agora API melhor? Mais completa, sim. Agora faça o seguinte antes de postar uma resposta.
Abra dois sites: http://www.ruby-doc.org/core/ e http://www.ruby-doc.org/stdlib/. Dê uma olhadinha rápida (não precisa nem “perder” muito tempo).

Eu veria se conseguisse acessá-los.

Está normal aqui.

Será que é por isso que você não gosta de Ruby? Por um proxy mal configurado?

F

Aproveitando… Existe alguma API para janelas, botões,etc no Ruby? Daria para eu fazer aplicações desktop para ambientes gráficos?

plentz

flaleite:

Aproveitando… Existe alguma API para janelas, botões,etc no Ruby? Daria para eu fazer aplicações desktop para ambientes gráficos?

Sim

Daniel_Quirino_Olive

diego_sl:
flaleite:

Aproveitando… Existe alguma API para janelas, botões,etc no Ruby? Daria para eu fazer aplicações desktop para ambientes gráficos?

Sim

Existem binds para GTK, QT, Cocoa, MFC… É só caçar no google.

F

diego_sl:
flaleite:

Aproveitando… Existe alguma API para janelas, botões,etc no Ruby? Daria para eu fazer aplicações desktop para ambientes gráficos?

Sim


Diego,

valeu…

F

Daniel Quirino Oliveira:
diego_sl:
flaleite:

Aproveitando… Existe alguma API para janelas, botões,etc no Ruby? Daria para eu fazer aplicações desktop para ambientes gráficos?

Sim

Existem binds para GTK, QT, Cocoa, MFC… É só caçar no google.

Daniel,

Valeu… Agora fiquei imaginando a maravilha integrar Ruby com MFC… que blz!! :shock: :shock: :shock:

cv1

Que eh mais facil que integrar Java com a MFC, isso eu posso garantir :wink:

F

Que eh mais facil que integrar Java com a MFC, isso eu posso garantir ;)

cv,

O estado de espanto é mais por causa de integrar uma linguagem como o Ruby com C++, notação hungara, APIs confusas do MFC… Seria algo tão contrastante que seria interessante de se ver. Imagine criar toda a regra de negocio com poucas linhas de codigo com o codigo para gerar GUI…

Fabricio_Cozer_Marti

Códigos relativos a regras de negócio devem estar legíveis, independente de número de linhas.
Legilibilidade é o principal concern a ser tratado quando temos regras de negócio envolvidas no código.
Se o cara escreve demais também é ruim.

F

Códigos relativos a regras de negócio devem estar legíveis, independente de número de linhas.
Legilibilidade é o principal concern a ser tratado quando temos regras de negócio envolvidas no código.
Se o cara escreve demais também é ruim.

Com certeza, camada de negocios em Ruby com poucas linhas de código e legível e a GUI usando MFC com muitas linhas de código, aquele código ilegivel com notação hungara, …

kuchma

Se alguem for seguir nessa area mesmo tente utilizar GTK, Qt ou outra opcao… usar TK eh jogar contra o patrimonio (muito feio). :mrgreen:

Marcio Kuchma

cv1

O Rails tem bastante coisa nova. Se vc ainda assim discorda, me mostra exemplos de outros frameworks e/ou ferramentas de desenvolvimento que ja faziam o equivalente as seguintes partes do Rails antes dele surgir:

  • Capistrano
  • Migrations
  • Ajax
  • RJS

Ou que seguissem convencao sobre configuracao, ou implementassem o padrao Active Record direito.

brunoGama

divagando sobre o notepad.exe basta colocar ele um atalho dele no ‘enviar para’ :smiley:

vance

Esse negócio de economizar caracteres se resolve facilmente com qualquer (boa) IDE. Acredito que toda linguagem de programação tenha uma.

vance

Sim, é. Ainda bem que eu não disse isso. Disse que acho que toda linguagem de programação tem pelo menos uma IDE boa. Isso resolve os problemas de se digitar 5 ou 500 caracteres.

vance

Não. Seguindo minha linha de raciocício: Java, por ser boa, ganhou IDEs boas como Eclipse e IntelliJ.

Repetindo pela última vez: Toda linguagem de programação, independente de ser boa ou ruim deve ter uma IDE decente, que acabe com os problemas de digitação repetitiva e/ou excessiva de código.

São eles, kuchma. Bom, pelo menos uma pessoa entendeu o meu ponto de vista. Ufa. Encerro neste tópico por aqui.

vance

Vc fala isso porque nunca trabalhou no setor de mídia, publicidade e afins.
Pelo que eu aprendi com eles, acho que posso afirmar que nossos egos são minúsculos.

Criado 7 de abril de 2006
Ultima resposta 28 de abr. de 2006
Respostas 148
Participantes 30