por que aprender novos idiomas? Simples! Dá perspectiva

Eu estive tentando aprender haskell por um tempo, (eu tenho uma obsessão, você vê), mas de alguma forma escapou.

Então, recentemente eu fiz um curso de coursera onde eu tive que aprender compreensões de python . Ontem voltei para http://learnyouahaskell.com/ e foi uma brisa! Como? Aprender Compreensões Python me deu uma nova perspectiva, me fez pensar em um problema de forma mais funcional.

Diferentes linguagens de programação resolvem problemas com ideias diferentes. Então voltei ao ProjectEuler, desta vez tentando resolver os problemas em vários idiomas:
https://github.com/gideondsouza/projecteuler-multilingual

Considere o Projeto Euler, Problema 1: Encontre a soma de todos os múltiplos de 3 ou 5 abaixo de 1000.

Em Perl, é assim

#!/usr/bin/perl
use Modern::Perl;
my $A = 0;
foreach my $x (1..999)
{
$A
= $A + $x if ($x % 3 == 0 or $x % 5 == 0);
}
say $A
;

Com uma compreensão Python:

#!/usr/bin/python3
A
= sum([x for x in range(1000) if x % 3 == 0 or x % 5 == 0])
print(A);

E com haskell:

main =  print(prob1)
prob1
= sum [x | x <- [1..1000], x `mod` 3 == 0 || x `mod` 5 == 0 ]

Então vá! Aprenda mais linguagens, mesmo que você não vá usá-lo na produção, ele lhe dará uma perspectiva nova e fresca ao escrever o código de produção.