Jump to content

Templates em C++ e uma linguagem funcional


HugoDaniel
 Share

Recommended Posts

Boas,

deparei-me com este artigo no reddit, achei muito interessante, o seu autor aborda os templates do C++ descrevendo-os através de uma linguagem funcional mais elegante e expressiva chamada "Haskell".

O ritmo de explanação é interessante, e a sua forma de ver e entender o assunto julgo ser bastante relevante.

Deixo à vossa apreciação:

http://www.reddit.com/r/haskell/comments/9wfv0/what_does_haskell_have_to_do_with_c/

Link to comment
Share on other sites

Boas,

deparei-me com este artigo no reddit, achei muito interessante, o seu autor aborda os templates do C++ descrevendo-os através de uma linguagem funcional mais elegante e expressiva chamada "Haskell".

Sem dúvida. Haskell é mais elegante que TMP, e superior para programação funcional: Foi desenhada com esse fim, e fá-lo explêndidamente. 😉

Link to comment
Share on other sites

Já tinha lido este artigo ontem, já que subscrevo a feed do autor no Google Reader (costuma ter artigos interessantes sobre a linguagem D). Mas confesso que não tenho muita experiência em TMP, é algo que pretendo aprofundar um dia que me sentir à vontade com o resto da linguagem.

Achei interessante os variadic templates. Já não sei onde li, mas com esta adição na linguagem, o código do Boost poderia ser reduzido para 20% do que é hoje.

<3 life

Link to comment
Share on other sites

Sim, e não só isso, os "tuples" vão ser uma grande novidade dentro da STL.

Também já os estou a usar em alguns sitios, mas na maior parte dos casos que me deparei, fez mais sentido criar uma good ol' struct para guardar as coisas. Acho que o código com tuples rapidamente fica muito complicado de ler. Tenho uns bocados de código que tenho de obter elementos da tupla mas como sabes tens de obter por indice, e rapidamente ficas sem perceber o que é o quê. Como todo o resto da STL e C++, por vezes é útil. É preciso ter bom senso e usar a melhor ferramenta/técnica em cada caso.

<3 life

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.