JavaFree.org | RubyOnBr.org

Ruby x Outras

Acompanhar Ruby x Outras 20 posts, 9 participantes

Avatar Tel 10 posts

Boa tarde.

Pessoal, meu gerente chegou pra mim e perguntou pra qual linguagem devemos ir.
Atualmente usamos delphi 7, mas iremos para plataforma WEB.

Eu preciso de argumentos concretos pra indicar Ruby. QUERO MUITO ir pra ruby, mas como vou usar argumentos contra linguagens “consolidadas” no mercado(ASP.NET, JAVA, etc..)

Vocês tem algum comparativo entre Ruby e outras linguagens ?
Ruby e casos de sucesso ?

Deixando claro: Pessoalmente já adotei ruby como minha linguagem, pois vou converter meus sistemas de delphi para Ruby. Mas na empresa eu preciso de argumentos, pois vai ser o meu emprego que vai ficar na reta.

Opiniões são bem vindas.

Obrigado
Roberto.

 
A013c064de659bbff814eb1f4410446b?s=80 Clovis 783 posts

Depende…
Que tipo de projetos a sua empresa desenvolve???

 
Avatar Tel 10 posts

A grosso modo: TeleMarketing.

 
Avatar antonio 196 posts

Tel, estou curioso a saber.

como é o sistema de telemarketing?

 
Avatar Tel 10 posts

Basicamente uma tela onde tem as informações do cliente que vai ser abordado. Onde tem a “vida” financeira dele numa parte da tela e os dados pessoais.
Onde o operador pode alterar os dados nesta mesma tela. Telefone, Endereço e fazer cálculos pra enviar boletos para pagamento.
Uma observação importante que eu esqueci é que o Ruby terá que fazer acesso a uma DLL. Pois os operador disca pelo sistema.

 
Avatar Urubatan 165 posts

Tel, vocês terão problemas para implementar isto em qualquer linguagem, precisarão de um servidor de discagem, pois a aplicação web não pode chamar código direto na estação do usuário, só no servidor.
fora isto, tanto ruby, quanto java, .NET, PHP atendem todo o resto …
ja participei da implementação de um sistema deste tipo, e o dificil realmente é o servidor de discagem que não era necessário quando o sistema era desktop …

 
Avatar Tel 10 posts

Na verdade, já temos um servidor de discagem. Porque as ligações ficam armazenadas nele. A única coisa que o client faz é, via socket, enviar uma mensagem ao servidor com o número de telefone que vai ser discado.
Mas também temos uma placa discadora que é acessada através de uma DLL. As funções de discagem estão todas na DLL. Você tem algum exemplo pra me indicar de acesso a DLL com ruby ?

Outra coisa: Relatórios. Tem alguma ferramenta ? E a velocidade de processamento de um sistema ruby e outra pré-compilada ?

Se possível, gostaria de mais algumas informações.
Obrigado!

 
Ds054 Grinvon 130 posts

Se a grosso modo vocês não precisarem mecher na parte de discagem, menos mal, isso facilitará e muito o trabalho, já que trabalhar com socket em Ruby é bem fácil, nada de outro mundo.

As vantagens de se trabalhar com o framework rails são:

- Facilidade de aprendizado (curva menor se comparado a maioria dos frameworks de outras linguagens)

- Fácil controle de ações (não precisa ficar criando mapeamentos nem XML para direcionar ações e URLs, isso tudo é automático no rails, nada disso precisa-se fazer)

- Sem XML (mesmo XML sendo bem útil para muitas coisas, em nenhum momento você precisar configurar nada em XML, o rails e o ruby não tem essa filosofia, então você estará livre de configurações),

- Projeto aberto (fazendo com que muita gente desenvolva coisa para ruby e para rails, formando uma comunidade forte, como é hoje com o PHP por exemplo, com o Java e outras linguagens)

- Facilidade ao implementar com Web 2.0 (vide ajax, portanto o rails tem uma boa facilidade para se trabalhar com esses recursos, usando RESTfull e outros recursos que podem alavancar o ajax na sua APP)

Porém as desvantagens ao meu ver são:

- Dificuldade de se implementar projetos legados, já que o framework é amarrado em seu padrão de projeto, por isso algumas aplicações poderão dar trabalho para funcionarem com a lógica do rails, mesmo assim é possível usando os recursos disponíveis e usando recursos como act as legacy.

- Proteção do código, já que rails roda em cima do ruby, portanto não podemos compilar a aplicação ou proteger o código, isso pode ser visto como vantagem e ao mesmo tempo desvantagem, dependerá do que será feito e onde será feito.

 
Avatar coelhao 88 posts

O jeito mais fácil de convencer, é você mandar bala no projeto nesse fim de semana e chegar lá na segunda com um caminhão de coisa já feita que demoraria bem mais pra fazer em outra plataforma…
Você secretamente trabalha umas 50 horas entre sexta depois do expediente e segunda antes de começar, ai quando chegar lá você fala com toda modéstia, “ô, fiz isso tudo só no sábado a tarde, imagina o que a gente faria em tempo integral aqui…”.

Infalivel! Não existem argumentos contra resultados ;)

 
Avatar Akita On Rails 298 posts

Só para acrescentar Ruby consegue sim fazer algumas chamadas a win32. Algumas mais fáceis que as outras. Se sua DLL for na verdade um componente OLE fica ainda mais fácil. Dê uma pesquisada por win32utils.

 
Avatar Tel 10 posts

Ok.

É que, quando se trata de um projeto grandioso e colocando o seu na reta sem conhecer muito bem a linguagem(que é o meu caso), fico com o pé um pouco atrás. Eu não sei se quando precisarmos de alguns recursos que .NET/JAVA tem, o ruby vai ter também, entendeu ? Isso que dá um pouco de “medo”.
Só pra vocês terem uma idéia: Serão 1.000 estações acessando simultaneamente o sistema. Mil estações trabalhando a todo vapor, diretão. Das 08:30 as 18:30. Só vai cair um pouco no almoço, porque o pessoal revesa.

Posso ir pra ruby sem preocupação ?

Valeu !

 
Avatar ESCOZ 37 posts

Iria bom saber mais sobre o sistema antes de dar uma opinião final, já que o numero de usuários não reflete tanto o tamanho do sistema. Capacidade/velocidade do sistema é um problema técnico, que pode ser resolvido facilmente (cluster), e custa relativamente pouco.

A habilidade de desenvolver um sistema mais rapidamente não necessariamente significa que o sistema será mais barato. É nisso provavelmente que o seu gerente está pensando. Existem vários argumentos contra “resultados rápidos”.. :)

Por exemplo, grande parte do custo de uma aplicacao está na manutenção do sistema após ela é desenvolvida. Pense sempre nisso quando você está desenvolvendo um sistema grande para alguma empresa. O que vai acontecer quando voces terminarem de desenvolver o software? Quem vai dar manutencao? Existe pessoal treinado para usar ruby? É chato dizer, mas isso ainda é um problema muito sério que mantém o ruby longe das empresas.

Sou engenheiro de softare trabalhando com .NET/Java no meu trabalho, em uma multi-nacional, onde os sistemas q a gente desenvolve normalmente sao acessados por 1-5 mil pessoas, 24 horas por dia. Também sou amante do ruby/rails nas horas de folga. Estamos utilizando ruby aqui para várias coisas, principalmente para ferramentas que os próprios desenvolvedores usam, mas ainda é dificil apresentar uma proposta convincente de desenvolver uma aplicacao grande (mais de 15-20 desenvolvedores) feita em ruby.

 
Avatar Urubatan 165 posts

Tel, ninguem numca foi demitido por sugerir a empresa utilizar Java, .NET, RUP, …
são “padrões de mercado”
não estou dizendo que Java ou .NET não são bons, são muito bons, e atualmente é o Java que paga o meu aluguel, estou fazendo alguns projetos pequenos pro enquanto em Ruby, procurando coisas maiores, mas ainda não rolou.
Se aparecesse um projeto destes para mim hoje, provavelmente eu desenvolveria com Rails, mas uma das coisas que deve ser levada em consideração como o ESCOZ disse é a mão de obra.
caso necessário vocês estariam dispostos a treinar desenvolvedores?
Existem poucos cursos de Ruby/Rails no brasil hoje, acho que uns 4 (um deles da minha emrpesa www.techoffice.com.br)
dependendo do tamanho da equipe, existe a possibilidade de vocês contratarem um treinamento in-company caso não encontrem mão de obra no mercado?

isto tudo deve ser levado em consideração
existe muito mais mão de obra java e .net disponivel, mas isto também não quer dizer que vocês vão conseguir mão de obra qualificada nestas linguagens facilmente pois todos os bons desenvolvedores estão emrpegados,
e vale lembrar que é possível fazer uma grande porcaria em qualquer linguagem …

 
A013c064de659bbff814eb1f4410446b?s=80 Clovis 783 posts

adoro este tipo de discussão! Aposto que muitos aqui ja passarm por argumentações deste tipo.

A verdade é que Ruby/rails é uma linguagem muito interessante, mas ainda não esta amplamente difundida no mercado corporativo do brasil.

.NET , java, ruby? Se tivesse que apostar em uma delas.. qual seria????

 
Avatar Tel 10 posts

Pois é, ai que está. Pra onde agente vai quando se sai de uma linguagem que acha que “domina”.

Sim, grandes porcarias se fazem em qualquer coisa, até em clipper…rs…

Outra coisa, demitido não. Mas quando se perde credibilidade é duro recuperá-la.

Só sei que tá difícil a coisa.
hehehehe

 
Avatar Shairon Toledo 1428 posts

Tel, identifico com sua explanação pois o seu caso é semelhante ao que vivi no inicio do segundo semestre de 2006. Tinhamos uma plataforma consolidada e produtiva, adaptaçãoes e evoluções comum a todos o sistemas. Tais manutenções acarretavam uma perda consideravel por minutos de testes, é isso mesmo, um minuto é carro, sem ressaltar a insatisfação dos clientes.

Como então desenraizar de uma linguagem/plataforma sólida para uma linguagem ‘divertida’ cujo o foco atual é só Web?

R: Vontade ! Eu quero essa por quê eu gosto! Sinto bem codificando ela, ela até agora expressa o meu pensamento.

Ok, “não é bem assim Shairon que o mercado funfa”. Eu sei. Quero dizer que você “já tem um sistema funcionando” é só levantar as peculiaridades necessárias do seu negócio e ver se Ruby/Pyton/Erlang/etc. O tempo é excasso, eu sei, mas vc tem um pouco de tempo pois vc tem uma versão rodando.

Pessoal, meu gerente chegou pra mim e perguntou pra qual linguagem devemos ir. Atualmente usamos delphi 7, mas iremos para plataforma WEB

Observe que vcs querem outra linguagem para web, aí eu pergunto(no caso da dll e afins) “É só conseguimos discar para o número xxx com essa placa?” “Tem que ser via DLL”.

Veja bem, vcs vão “migrar o sistema” e não "traduzir para uma linguagem/plataforma X”.

Web é outra arquitetura.

Migração, o pensamento é no futuro. Mudar, inovar, fazer a mesma coisa(ou melhor) com o menor custo.

Exemplo: um callback de um roteador/pabx que faz ponte inversa para clientes de softfone. O operador aperta o botão para discar, o rails ou outra coisa dispara uma trigger para o pabx/router e o mesmo faz a regra de interconexão via IP?

 
Avatar Tel 10 posts

É, realmente. Pensando dessa forma teria que adotar outra idéia de funcionamento.

Pensando assim eu posso entrar em contato com o meu fabricante do discador/gravador e dizer que eu quero ter acesso via socket para o servidor dele e, eu mesmo desenvolver a integração. Em meu modo de ver ficaria melhor, pois o código ficaria dentro da empresa. Seu eu sair da empresa, ele fica.

Sobre treinamentos: A resposta é sim. No que depender de mim todos vão ser bem informados quanto a tecnologias. Acho que a empresa é a primeira beneficiária de um colaborador bem treinado. Basta saber onde eu posso encontrar cursos bons.

Sobre tempo de desenvolvimento: Tenho uma ferramenta que está funcionando sim. Mas a empresa mudou, a regra de negócio está mudando. A demanda está ficando maior que a oferta. Ai todo mundo vai falar: “Poxa, então não foi bem projetado ?!” Sim, foi projetado para as necessidades da época.

É por isso que eu tenho que tomar uma decisão quanto a qual tecnologia adotar pra que, quando o a demanda aumentar novamente, eu não fique a deriva.

Tem um amigo meu que vai me matar sabendo que não “quero” ir pra java. hehehe, mas a curva de desenvolvimento em java pra nós aqui está fora de cogitação.

 
Avatar Tel 10 posts

Será que podemos acreditar nisso: comparativo

 
Avatar ESCOZ 37 posts

Respondendo ao clovis:
bq. .NET , java, ruby? Se tivesse que apostar em uma delas.. qual seria????

Bom, no atual estado que está, acho que ruby tem bem poucas chances de entrar nas grandes empresas como algo mais do que uma ferramenta q desenvolvedores usam aqui e ali nos próximos 1 ou 2 anos. Quando o IronRuby e o ruby pra java vm estiverem bem solidos acho que daí sim vai começar a aparecer certas coisas em empresas grandes.

Em empresas menores e startups acho que o ruby vai (e já está) aparecer bem mais rápido que as outras daqui pra diante.

 
Avatar ESCOZ 37 posts

Tel,
é exatamente por causa dessa figura que o Java (ou .NET) vai continuar sendo utilizado por algumas décadas.. Mais desenvolvedores = mais barato pra manter, nao importa o custo inicial.

Além disso, ninguém sabe o que vai acontecer com Ruby ainda.. A Sun e Microsoft tão começando a colocar o peso delas por trás do ruby, o que é uma coisa boa, mas por enquanto, o Ruby é só meio que uma onda, mais ou menos como o Python era a uns 2 anos atrás. (Não levem isso como algo pessoal, adoro Ruby/Phython, mas esse é meu ponto de vista como consultor). Algo parecido também aconteceu com o PHP. Várias empresas tentaram empurrar ele como uma linguagem pra enterprises (oracle, por exemplo), e eles até conseguiram alguma tração, mas o PHP nunca entrou pra valer no mercado.

A propósito, meu ponto de vista é o de grandes empresas (tipo > 10 mil funcionarios), que é um que ainda usa Cobol.. :) Outras pessoas aqui provavelmente vao ter outro ponto de vista bem diferente.

Abraços

Eduardo Scoz
Projeto pessoal: http://www.mapia.com.br