Jump to content

Recommended Posts

Posted

Bem deparei-me com este artigo e foi bastante agradável.

Basicamente é o sujeito a falar da sua experiência em ter usado Haskell para uma aplicação web.

http://jekor.com/article/is-haskell-a-good-choice-for-web-applications

Digo desde já que não estava a espera de uma resposta daquelas. Apesar de nunca ter experimentado, de vez em quando dou uma olhadela por artigos que vão surgindo, e Haskell nesse departamento ainda me parece muito verde...

Mas se calhar não, ou então o gajo ficou com o cérebro comido e já não diz nada de jeito  🙂

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

  • 5 months later...
Posted

Nunca experimentei usar o FastCGI ou outro tipo de interfaces com servidores http existentes com o haskell, como ele o fez. Sei que existem algumas libs para isso, nomeadamente:

http://hackage.haskell.org/package/cgi-3001.1.7.1

www.turbinado.org/

Tenho, no entanto, alguma experiência com o application server do haskell, o anteriormente conhecido por HAppS, e agora conhecido por HAppStack.

Como application server está ao nível do tomcat (java), utiliza uma descrição de funcionalidades através de um conceito muito interessante chamado "monoid"

(http://en.wikipedia.org/wiki/Monoid#Relation_to_category_theory).

A sua utilização é simples para quem entende monoids em haskell (para quem não entende é necessário alguma adaptação inicial...).

A lib de JSON também é muito valente em haskell, e para interagir com bases de dados recomendo o Takusen para acessos rápidos e elegantes em tudo o que não seja MSSQL. E o HDBC para tudo o resto.

Para mais informações acerca destas libs (e todas as outras também disponíveis no Haskell), consultem este link:

http://hackage.haskell.org/packages/archive/pkg-list.html

Posted

Nice. Parece teres alguma experiência nessa área.

Era muito porreiro sair um artigo a falar do HAppStack na revista a programar. Não estás interessado?

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Posted

Carago! Artigo de topo! Sem tentar armar aos cágados com referencias fáceis a tecnologias com nomes esotéricos, bem exposta a opinião e muito bem fundamentada. É o tipo de leitura que gosto! Haja mais blogueiros assim!

De salientar que o artigo aborda o tema da viabilidade do haskell analisando a solidez das bibliotecas e tecnologias que o rodeiam e que podem ser usadas numa situação de produção em vez de caír no ridículo de referir pequenos preciosismos de sintaxe que verdade seja dita pouco interessam sequer ao menino jesus.

Só não gostei deste chavão

But more importantly, using Haskell has forced me to keep my code clear and simple.

1. Eu não preciso que me obriguem a fazer uma coisa bem para a fazer bem.

2. Soa muito a "bem, não sei de outro ponto positivo, tenho sempre este". Não havia necessidade, o artigo tem bem conteúdo que supera esta frase.

De resto tambem costumo ver as coisas pelo mesmo prisma que o autor. Em particular a conclusão que ele tida de que, por muito boa que seja a tecnologia, não vai fazer milagres por quem quer que seja.

Vou subscrever o blog.

Posted

1. Eu não preciso que me obriguem a fazer uma coisa bem para a fazer bem.

Tens razão, um bom programador tem disciplina, no entanto, as coisas podem ficar caóticas se estivermos a trabalhar numa equipa com vários programadores e a linguagem de programação escolhida for demasiado liberal com a sintaxe (como é o caso com o C/C++/Java).

Ainda que todos sejam bem disciplinados e façam-no da melhor forma possível, vão existir variações na escrita de código (há quem goste de abrir block '{' após o nome das funções, há quem goste de dar uma linha, há quem goste de...). O que pode criar sérias dificuldades na leitura do código, e, inclusive, originar bugs.

O que é feito habitualmente em equipas grandes é criar-se um conjunto de regras extra de sintaxe e formatação e obrigar os programadores a segui-las.

O Haskell deixa muita margem de manobra ao programador para poder organizar o código como quiser, no entanto, por omissão, obriga a utilização de indentação e regras de nomeação de variáveis e tipos (por exemplo, os tipos de dados têm de começar com letra

maiúscula).

Tal como o Python (e julgo que esta foi também uma das áreas que o Python foi buscar ao Haskell), o espaçamento no código tem influência para a sua interpretação. Isto é um compromisso na liberdade de escrita de código em prol da sua uniformização.

A grande vantagem, a meu ver, é que consigo ler mais facilmente e rapidamente o código (tanto Python como Haskell) de outras pessoas, visto que independentemente da sua nacionalidade ou região do mundo onde se encontram, o seu código irá seguir as regras de formatação às quais a linguagem obriga.

Posted

Acho que há muitas mais regras no Java que no Haskell, por exemplo, ao obrigar a estruturar a aplicação em classes (embora possas sempre usar métodos estáticos, e programar como em C). Isto provavelmente devido ao facto do Java ser controlado por uma empresa. A vantagem do Haskell está na simplicidade do código.

Posted

Sim, e mesmo com essas regras ainda deixa muita ponta solta para falhanços épicos...  😉

Em todo o caso, escrevi apenas a respeito das regras de sintaxe, mas agora que reli o post do blog, julgo que a linha de pensamento do autor esteja mais na ordem da semântica.

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
×
×
  • 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.