POST DO
KEMEL
TECNOLOGIA
64
Cargo:
Evangelista de Tecnologia
Twitter:
@kemelzaidan
Facebook:
facebook.com/
kemelzaidan
KEMEL ZAIDAN
ocê provavelmente já ouviu
falar de alguma linguagem
funcional. Talvez tenha sido
aquele colega de trabalho
nerd que vive tentando
convencer o departamento
a usar Scala ou, quem sabe, um antigo
professor de faculdade que tocou no
assunto anteriormente.
A verdade é que linguagens funcionais não
são algo novo na computação. Suas raízes estão
IRUWHPHQWH íQFDGDV QD WHRULD GR &£OFXOR /DPEGD
TXH GDWD GH
2 /LVS WDOYH] XP GRV H[HPSORV
PDLV FRQKHFLGRV GDWD GH
(QWUHWDQWR HODV VHPSUH WLYHUDP PDLV HVSD©R
na academia do que no mercado. O que pode ser
H[SOLFDGR HP SDUWH SHOR IDWR GH RV FRPSXWDGRUHV
GD G«FDGD GH VHUHP PXLWR PDLV OHQWRV
GR TXH RV GH KRMH /LQJXDJHQV LPSHUDWLYDV H
FRP PHQRV DEVWUD©·HV FRPR R & DFDEDUDP
VH PRVWUDQGR GLYHUVDV YH]HV PDLV U£SLGDV H
SRUWDQWR PDLV DGHTXDGDV SDUD R XVR FRWLGLDQR
“Por que raios toda essa ‘hype’ em torno
GH DOJR TXH WHP DQRV"Ü YRF¬ SRGH HVWDU VH
SHUJXQWDQGR 1HVVH FDVR VXJLUR D OHLWXUD GH
XP DUWLJR GH
GH DXWRULD GH +HUE 6XWWHU
LQWLWXODGR Û7KH )UHH /XQFK LV 2YHUÜ
http://
www.gotw.ca/publications/concurrency-ddj.htm
(P UHVXPR GL] TXH SDUD FRQWLQXDU
VH DSURYHLWDQGR GRV JDQKRV H[SRQHQFLDLV
do aumento do número de transistores nos
SURFHVVDGRUHV VHU£ QHFHVV£ULR HVFUHYHU FµGLJR
FRQFRUUHQWH -£ ID] PDLV GH GH] DQRV PDV VHX
conteúdo continua atual.
( « SDUD HVFUHYHU FµGLJR FRQFRUUHQWH
que as linguagens funcionais levam
DOJXPD YDQWDJHP 9RF¬ SRVVLYHOPHQWH M£
GHYH WHU RXYLGR D DíUPD©¥R GH TXH Q¥R
possuem “efeitos colaterais”. Sem a devida
FRQWH[WXDOL]D©¥R QR HQWDQWR Q¥R « PXLWR
diferente de dizer que “maçãs fazem bem
para a saúde”.
Muito do efeito colateral em questão
DGY«P GD PXWDELOLGDGH GH HVWDGRV 4XDQGR K£
duas ou mais
threads
de uma mesma aplicação
DFHVVDQGR XP PHVPR HQGHUH©R GH PHPµULD
e sendo capaz de alterar o estado de uma
YDUL£YHO RX IXQ©¥R SRU H[HPSOR FRUUH VH R
risco de alterar seu conteúdo para um estado
LQY£OLGR FRUURPSHQGR D DSOLFD©¥R
2EYLDPHQWH Q¥R VH WUDWD DSHQDV GLVVR H
K£ PXLWR PDLV D VH DSUHQGHU VREUH OLQJXDJHQV
IXQFLRQDLV DíQDO WUDWD VH GH XP SDUDGLJPD
completamente diferente daquilo que a maioria
GH QµV HVW£ DFRVWXPDGR D XVDU QRV ¼OWLPRV
DQRV 1R PHX FDVR FRPHFHL D HVWXGDU +DVNHOO
TXH SRU VHU XPD OLQJXDJHP IXQFLRQDO ÛSXUDÜ
H[S·H PXLWR GRV FRQFHLWRV HVVHQFLDLV D RXWUDV
OLQJXDJHQV GR PHVPR WLSR 6H TXLVHU MXQWDU VH D
PLP VXJLUR D OHLWXUD GR OLYUR
Learn You a Haskell
for Great Good!
http://learnyouahaskell.comGLVSRQ¯YHO OLYUHPHQWH VRE &UHDWLYH &RPPRQV
V
[
A VERDADE É
QUE LINGUAGENS
FUNCIONAIS NÃO
SÃO ALGO NOVO
NA COMPUTAÇÃO.
SUAS RAÍZES
ESTÃO FINCADAS
NA TEORIA DO
CÁLCULO LAMBDA,
QUE DATA
DE 1930
]
LINGUAGENS
FUNCIONAIS
VIERAMPARA FICAR
LW
*
KWWS GUSHHULQJ QHW ZKLWH SDSHUV ,QWHUQHW 7UDQVLW 3ULFLQJ +LVWRULFDO $QG 3URMHFWHG SKS
REVISTA LOCAWEB