Sobre o Ruby (e um pouco do PHP)

Pessoal nos últimos dois dias tenho lido bastante sobre a linguagem e o seu crescimento avassalador a cada ano que passa, vários sistema estão sendo criados utilizando a linguagem e etc.

Ja dei uma olhada no código e pareceu ser bem limpo e elegante. Diferentemente do PHP que tem uma sintaxe até facil, mas deixa qualquer código uma salada, dificultando a manutenção. Isso fora a orientação a objetos que funciona, o que pra grande sistemas é um grande diferencial.

Fora isso me pareceram linguagens bem parecidas, qualquer coisa é facil de fazer, sem configurar xml’s, arquivos properties e etc (como acontece no java).

O que me levou a seguinte pergunta… será que com o tempo o Ruby vai tomar o lugar do PHP?
Visto que o PHP ao meu ver so continua na frente devido ao seu tempo de estrada e a facilidade em empregadores de encontrarem programadores fluentes na linguagem.

Oi faeldix,

minha opinião é a seguinte:

  1. Sobre a qualidade do código escrito em PHP: esta impressão é falsa. Código ruim a gente faz em qualquer linguagem. Discordo que PHP facilite pelo fato de poder incluir lógica na parte de visualização, pois o mesmo também é possível em diversos frameworks Java web e ninguém comenta.

  2. Ruby superar PHP
    Só se PHP acabar. Nada a ver com a qualidade de cada um, mas sim porque PHP tem uma feature que Ruby difícilmente vai vencer: custo de hospedagem baixíssimo. Basta comparar os serviços de hospedagem que isto fica bem claro.

Olá kicolobo.

Mas você nao acha que com o tempo isso vai acabar? (preco de hospedagem alto)
Coisa que sabemos que nao vai acontecer com uma hospedagem java por exemplo que tem uma VM por sistema.

Oi faeldix,

pelo andar da carruagem infelizmente não. O custo computacional de se manter um servidor que suporte Ruby (posso estar falando bobagem, aviso) ainda é muito mais alto que o de um servidor Apache com PHP.
Temos de tirar o chapéu pros caras neste ponto.

No mais, é minha opinião que todo programador Java que trabalha com web deveria um dia brincar um pouco com PHP. A comunidade PHP tem uma coisa que, na minha percepção, falta ao javeiro: pragmatismo.
É fascinante conversar com o pessoal que trabalha com PHP: muitas vezes você vê soluções que te fazem pensar: “Ó! Dava pra ser mais simples hein?”

Outra vantagem do PHP é que os frameworks não adicionam uma carga significativa no sistema como rola com Java. Tanto faz pro servidor de hospedagem que você esteja usando Cake, CodeIgniter ou qualquer outra coisa, desde que todas as extensões estejam instaladas (normalmente estão). Isto é outro fator decisivo a favor.

Aproveitando o papo, e o python?

A hospedagem é mais cara também? O consumo é maior?

Mesma história. Tanto é que a gente nem vê tantos planos por aí.

O que me anima são coisas como a Amazon AWS, que te permitem ter micro instâncias cobrando US$ 0,02 por hora.

então o que sera que faz um projeto escolher o ruby ao php?? mesmo tendo o php essa vantagem?

Para com isso. Linguagem influencia sim (e muito) na qualidade do código escrito e influencia na forma de pensar acerca determinadas soluções. Pega uma base de código em:

  1. C
  2. Lisp
  3. Java
  4. PHP
  5. Ruby

Analise e depois vamos conversar.

Para com isso. Linguagem influencia sim (e muito) na qualidade do código escrito e influencia na forma de pensar acerca determinadas soluções. Pega uma base de código em:

  1. C
  2. Lisp
  3. Java
  4. PHP
  5. Ruby

Analise e depois vamos conversar.
[/quote]

Oi faq, é, você tem razão. Mas sabe o que eu acho que influencia bem mais que a própria linguagem? Os textos técnicos nos quais a gente aprende elas.
Se você for reparar, é neles que aprendemos a escrever código php macarrônico, e o mesmo eu passei com VB, Delphi, etc.

Sobre o que faz um projeto escolher Ruby ao PHP, faeldix, aí vai de acordo com os requisitos do projeto. Cada plataforma tem suas vantagens e desvantagens.

Concordo com a segunda, mas discordo da primeira.

Acredito que a qualidade é dependente do programador.

Aposto que é possível achar código bom e ruim em todas essas bases.
Agora, acho que quanto mais popular a linguagem, maior a frequência de código ruim.

Imagine um programador com conhecimento equivalente nas cinco linguagens :
Acha que a qualidade do código dele varia de acordo com a linguagem que ele usa?

Existe uma birra muito grande em aceitar o que falei ali em cima.

Apesar de código bem feito depender de programador, o que é determinante é o ambiente em que o mesmo está.

Kiko, concordo com você.

Um exemplo (para o Kiko) e uma justificativa para o outro amigo:

Observe o tratamento de erros contidos na api / framework do php.
Não são utilizados mecanismos modernos (exceptions) para tratamento de erros, existe uma herança da era “macro” do php, existem funções e números inteiros como retorno, cada um relacionado a um tipo de erro. (Quem lembra das apis C?).
Observe na sua base de código a quantidade de tipos de exception por projeto php. Existem 3 tipos? Existem 4 tipos? Bad smell?
Porque isso? A interface de baixo reflete na de cima, simples assim. No caso, php é uma interface extremamente mal feita.

É possivel encontrar código bom nesse contexto? Sim. Acontece com muita frequencia? Não, é complicado encontrar código bom.

Precisamos discutir sobre a qualidade das linguagens e ferramentas, isso é primordial para a evolução da coisa toda, delegar a culpa para “o programador” é tapar o Sol com a peneira. Que seja criada uma linguagem / ferramenta que ateste qualidade, ou outra solução. …

Veja bem, não é birra… Apenas um ponto de vista diferente.
Você acredita que o fator determinante é a linguagem, eu acho que é o programador.

Tirando o Lisp da lista acima (nunca trabalhei em algum lugar que usasse pra afirmar), essa afirmação é verdadeira pra todas.

Concordo, essa discussão precisa existir.
Não acho que dê simplesmente pra falar que todas são a mesma coisa.

Mas tirar a responsabilidade do programador também é tapar o Sol com a peneira.

Pense em notação matemática e semelhantes. É disso que eu estou falando. Não existe (ainda?) mas quem sabe, né.

Agora não entendi o que quis dizer.

como foi dito o php leva vantagem pela hospedagem, já o ruby tem varias versões o q torna a mudança de host meio problematica.

serie de hangout sobre php, vale apena assistir.
http://imasters.com.br/linguagens/php/hangout-sobre-php-e-orientacao-a-objetos
http://imasters.com.br/linguagens/hangout-sobre-frameworks-e-ferramentas-php
http://imasters.com.br/linguagens/php/frameworks-e-ferramentas-php-parte-2

Sobre Ruby(Rails), de alguem que não esta no meio, apenas olhando de cima: A impressão que tenho é que ele ja chegou no ápice, e daqui pra frente esta numa linha reta, ou até mesmo caindo, ainda mais com a chegada de novas opções(Play!, Scala, etc), bom, pelo menos aquele hype todo me parece que acabou!

O que vocês acham?

[quote=fredferrao]Sobre Ruby(Rails), de alguem que não esta no meio, apenas olhando de cima: A impressão que tenho é que ele ja chegou no ápice, e daqui pra frente esta numa linha reta, ou até mesmo caindo, ainda mais com a chegada de novas opções(Play!, Scala, etc), bom, pelo menos aquele hype todo me parece que acabou!

O que vocês acham?[/quote]

Cara, acho que o RoR encontrou o seu lugar. Houve um hype de fato, mas a tendência como sempre, é esse hype diminuir com o tempo. Afinal, não é porque o martelo é bom que tudo vira prego.

O maior problema do PHP é que ele teve uma evolução gambiarrenta que nem o Javascript. O criador não tinha nem idéia q ele ia se tornar tão popular assim. A api padrão é totalmente procedural, até pra pegar o tamanho de um array você tem q usar função procedural passando o array como parâmetro

Agora o bicho é rápido (pra renderizar dados do banco) e extremamente leve. Instalei uma aplicação PHP de outro programador em um servidor rodando Nginx + PHP-FPM 5.4 e aguentou tranquilamente um volume de dados considerável, e sem gastar praticamente nada de memória

Antes disso tinha feito um mini benchmark (uma página listando 500 entidades do banco) comparando Rails vs Java/PHP (sem frameworks). Rails como de se esperar foi bem mais lento que os 2 (uma linguagem lenta + framework pesado vs nenhum framework) e PHP 2x mais rápido que Java

Java: 260 req/s
PHP: 506 req/s
Rails: 25 req/s

Isso foi quando eu ainda usava Apache e mod_php. Acho q aumento esse número fácil fácil com PHP-FPM 5.4, Nginx e APC