quarta-feira, 11 de julho de 2007

Linguagens de Programação: Suckage Ratio

Hoje na lista da maratona, onde (ex-)participantes das maratonas de programação da ACM se encontram, surgiu mais uma daquelas threads sobre qual é a melhor linguagem...

Esse é o tipo de discussão que nunca leva a lugar nenhum, mas hoje tive uma idéia que pode ser, no mínimo, bem humorada... :-)

Geralmente quando se compara as linguagens de programação, comparamos uma em relação a outra. Isso sempre acaba gerando grandes distorções ou, no melhor caso, uma certa tendência para um dos lados...

Para evitar esse tipo de coisa, vamos 'comparar' uma linguagem com ela mesma. Meu critério foi bem simples: uma busca no Google, contendo o nome da linguagem de programação e mais as palavras 'sucks' ou 'rocks'. A linguagem que tiver o menor percentual de 'sucks', proporcional ou número de 'rocks', tem o melhor desempenho.

O ideal seria ficar o mais próximo possível de 0. Com 0,5, para cada pessoa falando mal da linguagem, temos duas falando bem. Qualquer coisa acima de 1 significa que existe mais gente falando mal do que bem, e assim vai...

Bem, vamos aos resultados então, considerando as 10 primeiras colocadas no índice TIOBE, pela ordem:

Linguagem Sucks Rocks Suckage Ratio
Java 26300 11500 2,286956522
C 9150 24600 0,37195122
C++ 783 67 11,686567164
Visual Basic 4570 591 7,732656514
PHP 24900 956 26,046025105
Perl 931 1620 0,574691358
C# 844 1390 0,607194245
Python 562 13700 0,041021898
Javascript 1239 773 1,602846054
Ruby 534 17900 0,029832402

Analisando-se rapidamente o Suckage Ratio™ das linguagens, podemos fazer as seguintes observações:

  • Python & Ruby caíram mesmo no gosto dos programadores, impressionante!
  • PHP também caiu no gosto, mas pelo outro lado... :-P
  • C++ é muito mais mal amado do que eu imaginava
  • Java não é tão ruim, pelo menos quando comparado ao Visual Basic! :-D
  • C ainda possui uma popularidade realmente incrível
  • C# pode ter futuro, veremos o que nos reserva os próximos capítulos
  • Javascript ainda desperta o ódio dos programadores web
  • Perl continua forte na sua comunidade de masoquistas visuais... :-)

Atualizações:

  • Antes de publicar esse post, fui acrescentar algumas referências e acabei encontrado um serviço dedicado apenas para isso, o sucks/rocks! Os resultados foram um pouco diferentes (C++, por exemplo), já que eles consideram diversas expressões, mas no geral parecidos...
  • Apenas esclarecendo: a relevância/disseminação/popularidade/número de hits ou qualquer outro fator não são levados em conta. O Suckage Ratio leva em consideração apenas quem falou bem ou mal da linguagem, através de sucks/rocks. A proporcionalidade disso garante que o resultado será o mais justo o possível, independente dos demais fatores.

6 comentários:

o_lalertom disse...

hiuaheiuhiueh,
Estou com a barriga doendo de tanto rir...

--
Até mais e boa sorte,
Nycholas de Oliveira e Oliveira.

Luciano disse...

Incrível a gente acha que teve uma idéia genial e original e já tem gente com a idéia a todo vapor !

Mas eu achei muito boa a sua idéia !

Até mais.

Osvaldo Santana Neto disse...

Eu acho que você deveria incluir nas contas um ajuste baseado na quantidade de vezes que o nome da linguagem aparece nas buscas.

C++ por exemplo teve um péssimo resultado mas a quantidade de "sucks" que ele teve foi inferior ao de C#.

Paniz disse...

Concordo com o Osvaldo quanto ao número de "hits" - Faça teste com linguagens menos conhecidas como Lua por exemplo e vc vai se surpreender.
Outra coisa, discordo da forma que foi feita a pesquisa. Acho que as palavras rocks e sucks não são o tipo de palavra mais falados por quem programa, por exemplo, em C. Mas ainda assim gostei da ideia, parabens pela iniciativa.

déo disse...

Opa,

adicionei um segundo item nas atualizações para esclarecer os critérios considerados, espero que fique mais claro agora.

@Nycholas: nah... não foi tão engraçado assim... mas considere ler as melhores do Joãozinho no meu último post de junho... :-D

@Luciano: incrível mesmo, eu quase desisti de postar depois de descobrir aquilo, mas acabei indo em frente assim mesmo.

@Osvaldo: o problema do C++ foi que ele teve pouquíssimos 'rocks'... o 'sucks' dele até que foi muito bom. Ou seja, quase ninguém fala mal dele, mas também ninguém elogia!

@Paniz: aí é que está, o fato de uma linguagem ser mais ou menos conhecida não influencia o resultado, justamente por causa da proporcionalidade. Só para constar, o resultado de Lua seria: 47 | 95 | 0,494736842... ou seja, melhor que C# mais ainda longe da dupla dinâmica... ;-)

Hoodoo disse...

Eu sou desenvolvedor de aplicações web em php/ajax/css/js/actionscript e concluo que essa votação não tem nenhum sentido. Posso concluir que todos os amantes de Java por exemplo votaram contra o PHP.. heheh
Não vejo nada que não seja implementável em PHP de forma tão ou mais rápida do que Java, usando frameworks, qualquer linguagem ganha em performance e legibilidade..

Post mané!!!