Eu não acho que o problema seja IDE ou coisas do tipo. Nem mesmo qualidade de aluno e professor. Eu brinco com lisp de vez em quando e eu acho os conceitos da linguagem geniais. Um monte delas foram apropriadas por linguagens como Python e as macros só lisp tem mesmo. Eu acho que a grande dificuldade é que programar bem em lisp exige uma certa maturidade do programador. Há alguns anos eu resolvi dar uma olhada em Ruby. Em uma tarde eu podia fazer praticamente de tudo. No lisp eu levei muito mais tempo. Em python você pode simplesmente jogar uma variável nova no meio da função e aos trancos e barrancos fazer o programa. O lisp, com os lets da vida, não incentiva isto, o que é bom, mas exige maturidade. Tem um monte de coisas assim que eu acho que dificulta a entrada de programadores inexperientes.
Uma outra coisa que eu, como admirador de lisp mas não programador no dia a dia, sentia (e sinto às vezes) é certa dificuldade na leitura de código. De onde vem isso? Não tenho certeza, mas certamente não tem nada a ver com os parênteses. Talvez seja a facilidade de criar novas abstrações e abstrações diferentes (macros por exemplo) o que faz que seja necessário ver além do código imediatamente a sua frente: o que é esta macro que aparece aqui? É uma macro ou uma função e o que faz? Onde está definida? As limitações de outras linguagens eliminam este tipo de problema: o que você vê é o que há e não é muito complicado (em geral...). É lógico que mais para frente estas abstrações facilitam muito mas para alguém começando com lisp é extremamente intimidador. As conseqüências destes aspectos é que em geral um código em lisp possui funções (ou "blocos de código") bem menores o que a longo prazo é muito bom mas para iniciante é um pouco complicado. Esta foi minha experiência começando com lisp e acho que seja um aspecto importante da falta de popularidade do lisp. ________________________________ De: Marcelino Pinheiro <[email protected]> Para: [email protected] Enviadas: Terça-feira, 10 de Agosto de 2010 14:01:42 Assunto: Re: Mensagem interessante sobre Lisp Em 10 de agosto de 2010 08:38, Rafael Ibraim <[email protected]> escreveu: > A culpa é dos alunos? Dos professores? Ambos? Do mercado de trabalho? >Entre alunos e professores, acho que a maior parte da culpa está com >os alunos mesmo... > > >> A culpa é da IDE? Smalltalk tem IDE desde quando? O lisp comercial (e.g. >> LispWorks) não tem IDE? Ah, usa o Emacs! Até parece que é tão simples assim >> para alguém que está acostumado com um Ctl+C/Ctrl+V. >Com certeza, alguém que nunca viu o emacs na frente provavelmente vai >ficar perdido. E é justamente para isso que existe o tutorial(C-h t), >que inclusive é citado na splash screen... o problema é que as pessoas >no geral tem *preguiça* de ao menos *tentar* aprender alguma coisa >sozinhas. > >Quando resolvi aprender CL(por curiosidade mesmo, nunca tive aula nem >nd relacionado a LISP) nunca tinha visto o emacs na vida(usava a >versão windows do Vim) e fiz a escolha mais óbvia: usar o "LISP in a >box"[1] e já cair num ambiente pronto. Tentei usar o emacs e não >consegui. Feche o emacs e abri novamente, desta vez seguindo a >recomendação de usar o tutorial. Resultado: Nunca mais usei vim e com >o tempo fui customizando um emacs "do zero" ao invés de usar a solução >pronta. > >O que quero dizer é que sim, é difícil começar "do zero", mas não é >*tão difícil assim*. Existem tutoriais, blogs, etc. que explicam muito >bem como montar um ambiente de desenvolvimento em LISP de uma maneira >que até um ignorante total no assunto(como eu, na época) consegue >seguir passo-a-passo. O problema é que as pessoas tem que se esforçar >um pouco, afinal o tutorial só vai me ensinar alguma coisa se eu >seguí-lo. > > Acho me encontro nesta fase, apesar de já ter montado um ambiente com emacs prefiro pelo menos por hora usar o lispbox. Pelo menos para mim está dando certo, pois consigo treinar usando o dito no windows. [1] http://common-lisp.net/project/lispbox/ > >Em 8 de agosto de 2010 17:22, Guaracy Monteiro <[email protected]> escreveu: > >> Em 07-08-2010 12:08, Rafael Ibraim escreveu: >>> >>> Bem, talvez alguns não concordem mas na minha opinião o que realmente >>> impede uma adoção maior de LISP em novos projetos é (pelo menos aqui >>> no Brasil) essa "nova geração" de desenvolvedores. Eles já se formam >> >> Se algo não vai como deveria, não é colocando a culpa nos outros que algo >> irá melhorar. É necessário um trabalho de reconhecimento e busca de >> soluções. >> >> A culpa é dos alunos? Dos professores? Ambos? Do mercado de trabalho? >> >> A culpa é da IDE? Smalltalk tem IDE desde quando? O lisp comercial (e.g. >> LispWorks) não tem IDE? Ah, usa o Emacs! Até parece que é tão simples assim >> para alguém que está acostumado com um Ctl+C/Ctrl+V. Lembro que resolvi (há >> muito tempo) brincar com Mozart/OZ. A IDE era o Emacs. Que complicado na >> época. Desisti. Só depois de colocar na cabeça que desejava aprender a >> trabalhar com o Emacs é que consegui alguma coisa. E foi um trabalho de >> disciplina. O cara vai precisar de um tempo para se acostumar com >> Emacs+SLIME e mais um tempo para se acostumar com Lisp. De qualquer forma, >> IDE por IDE não faz uma linguagem se tornar mais ou menos apreciada. A IDE >> do factor é legalzinha, Eiffel tem IDE, Smalltalk também, etc, etc. >> >> Lisp também não é só pegar e mandar ver. Para alguém que conhece apenas um >> pouquinho, até algo simples como ax² + bx + c = 0 é mais trabalhoso do que >> outras linguagens. Considero como pedir para alguém começar a trabalhar >> apenas em hexadecimal. Só é necessário uma reeducação, já que passamos a >> nossa vida inteira com o sistema decimal. Mas quantas vezes já foi falado >> sobre a 'sintaxe' do Lisp? Quantas vezes alguma alteração foi proposta e >> não foi bem aceita? Para mim, uma solução interessante foi a do Gambit. >> >> Depois tem o ambiente em si. Tirando os dois elefantes brancos, se eu quero >> aprender Ruby, tenho uma opção. Se quero aprender Python, tenho uma opção. >> Se quero Rebol, tenho uma opção. Se quero Lisp, já tenho que escolher entre >> várias. Se eu perguntasse aqui, certamente seriam várias opções entre CL e >> Scheme (pessoalmente considero duas coisas distintas). Cada qual com suas >> características. >> >> Finalmente a atitude. No tópico 'Problemão' do Higor, fiquei lendo >> galinhagens (nenhuma relação com chicken) em vez de soluções. Quando ele >> escreveu "... Acredito que fazendo em alto nivel depois seja mais simples >> fazer em lisp. ...", a melhor resposta seria a do Gustavo (parabéns pela >> resposta simples e eficaz). Depois poderiam ser adicionadas as brincadeiras >> e algumas risadinhas do tipo 'car car car car' :-) >> >> -- >> >> Guaracy Monteiro >> http://fotomix.wordpress.com/ >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Lisp-br" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/lisp-br?hl=en. >> >> > > > > >-- >Rafael Ibraim >Oracle Database SQL Expert >[email protected] > > >-- >You received this message because you are subscribed to the Google Groups >"Lisp-br" group. >To post to this group, send email to [email protected]. >To unsubscribe from this group, send email to >[email protected]. >For more options, visit this group at >http://groups.google.com/group/lisp-br?hl=en. > > -- Marcelino Pinheiro 11-7980-0617 -- You received this message because you are subscribed to the Google Groups "Lisp-br" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/lisp-br?hl=en. -- You received this message because you are subscribed to the Google Groups "Lisp-br" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/lisp-br?hl=en.
