Por que eu deveria aprender Lisp?




Eu realmente sinto que eu deveria aprender [Lisp](http://en.wikipedia.org/wiki/Lisp_(programming_language)) e há uma abundância de bons recursos lá fora para me ajudar a fazê-lo.


Eu não estou adiadas pela sintaxe complicada, mas onde na programação comercial tradicional Gostaria de encontrar lugares que faria sentido para usá-lo em vez de uma linguagem procedural.


Existe uma killer-app comercial lá fora, que foi escrito em Lisp?
Um dos principais usos para Lisp é em Inteligência Artificial. Um amigo meu na faculdade levou um graduado curso de AI e para o seu projeto principal, ele escreveu uma " [Lights Out](http://en.wikipedia.org/wiki/Lights_Out_(video_game)) " solver em Lisp. Várias versões do seu programa utilizado ligeiramente diferentes rotinas e testes AI em 40 ou mais computadores produziu alguns resultados bastante puro (eu gostaria que fosse em linha em algum lugar para me ligar, mas eu não acho que isso é).


Dois semestres atrás eu costumava Scheme (a linguagem baseada em Lisp) para escrever um programa interativo que simula Abbott e Costello "Quem está ligada primeiro" rotina. Entrada do usuário foi comparado com algumas estruturas de dados muito complicadas (semelhante a mapas em outras línguas, mas muito mais flexível) para escolher o que uma resposta apropriada seria. Eu também escrevi uma rotina para resolver um 3x3 [enigma da corrediça](http://en.wikipedia.org/wiki/Sliding_puzzle) (um algoritmo que pode ser facilmente estendido para puzzles slides maiores).


Em resumo, aprendendo Lisp (ou esquema) não pode produzir muitas aplicações práticas para além AI, mas é uma experiência de aprendizagem extremamente valiosos, como muitos outros declarou. Programação em uma linguagem funcional como Lisp também irá ajudá-lo a pensar de forma recursiva (se você já teve problemas com recursividade em outros idiomas, esta poderia ser uma grande ajuda).
<p>sim, acredito que sim.</p><p>existem alguns motivos que precisam ser considerados na seleção de um idioma para um novo projeto:</p><ul> <li>velocidade em tempo de execução. comparado com c/c++/fortran, perl e python são tão lentos que é engraçado.</li> <li>velocidade de inicialização. comparado às linguagens rápidas acima, <em> java</em> cai e chora enquanto a jvm continua carregando e carregando e ...<code>while(1)</code>....</li> <li>capacidade de protótipo. examinar exaustivamente e executar o trabalho de declaração/definição necessário para c++ ou java aumenta o loc, que é a métrica conhecida <em> somente</em> que se correlaciona de maneira confiável com as contas de erros. também leva muito tempo. também requer um pouco mais de reflexão sobre tipos e conexões.</li> <li>fiddlability interno. mexer dinamicamente com seus internos é ótimo até você começar a depurar seu <em> código auto-modificável</em>. (python, lisp, perl)</li> <li>verificação de correção. um compilador pode fornecer uma passagem rápida e semi-correta do seu código em c++, e isso pode ser <em> realmente</em> legal.</li> <li>detalhes da análise estática. c e java têm uma análise estática muito boa. perl não é completamente estaticamente analisável em um nível <em> teórico</em> (possivelmente python também). tenho certeza de que o lisp também não.</li> <li>plataformas estranhas levam apenas c, em geral.</li> <li>cadeia de suporte. se você pode ter um contrato no qual você <em> irá</em> fará com que seus erros sejam analisados ​​e trabalhados, isso é <em> enorme</em>.</li> </ul><p>se você pode presumir que a organização com a qual você está trabalhando tem o princípio "avançar" (existe um termo contábil para isso) e <em> não vai</em> apenas decida aleatoriamente não trabalhar no software , você terá um argumento muito melhor para usar o software. como não há grandes empresas <em> venda</em> (implicando em assumir a responsabilidade de mantê-la) python/perl/$ dynamic\_language, reduz consideravelmente o risco.</p><p>na minha experiência, os mantenedores de código aberto geralmente têm um problema em assumir total responsabilidade por correções de bugs e liberar atualizações. "é grátis, você trabalha nisso!" é <strong><em> não</em></strong> uma resposta que é aceitável para a maioria das empresas (não para suas principais competências, entre outras coisas).</p><p>claro, eu não estou falando sobre o mundo dos webapp/startup, que tende a seguir regras de alto risco/alta recompensa e estar <em> muito</em> aberto a permanecer na margem da tecnologia.</p> <p> <a href="http://oreilly.com/catalog/9780596009588">programação de sistemas linux</a> </p><p>você pode consultar isso também <a href="https://unix.stackexchange.com/questions/80/recommended-readings-batter-understating-of-unix-linux-internals">link</a> </p> primeiro passo: lua

qualquer recurso de aprendizado que sejam específicos de uma linguagem, vão lhe ensinar apenas a sintaxe da linguagem, e você em todo caso vai ter que se aprofundar nos específicos da plataforma de interesse.

você pode seguir os vídeos lua dessa playlist que constrói mini-games … <p>olá, idelilde! tudo bem contigo? espero que sim!!</p>
<p>eu sei bem o que você está sentindo neste momento. dá a impressão de que tudo que você viu em lógica ficou lá atrás e que não absorveu nada, não é?</p>
<p>pois eu te digo que isso não é verdade!!!</p>
<p>quando fiz pela primeira vez o curso e parti para uma linguagem específica vi que minha base em lógica não tinha ficado tão sólida como eu imaginava. e qual foi minha saída? busquei muita informação sobre lógica e não somente escrevia os códigos no computador... eu escrevi a mão, até eu decorar a estrutura! isso me fez vez com uma certa clareza o que era uma variável, qual a importância e como trabalhar com ela, como funcionava a estrutura do <strong>if</strong>, do <strong>for</strong> e do <strong>while</strong> e assim por diante!</p>
<p>meu conselho? para um pouco ou, caso consiga, estude em paralelo a lógica de programação. quando você sentir que esta mais confiante tudo vai começar a fazer sentido. e não pense que está longe não! se você já passou por lógica esta mais perto de compreender do que você imagina! a internet está repleto de informações sobre lógica ;-)</p>
<p>um detalhe importantíssimo!!!</p>
<p>lógica é algo que vai te acompanhar p/ resto da sua vida em programação. </p>
<p>sempre temos que praticar!!!</p>
<p>espero ter ajudado, idelilde!!!</p>
<p>estaremos sempre aqui para o que precisar.</p>
<p>bateu a dúvida....travou? nos procure!!!</p>
<p>bons estudos e vamos em frente!!!</p> eu não entendi exatamente se você quer apenas ter conhecimento sobre o funcionamento do sistema e, assim, conseguir resolver os problemas comuns que aparecem, tais como erro em instalação de programas e coisas do tipo, compilação dos mesmos manualmente, etc., ou se você quer realmente ser um usuário… bom dia vander, há muitos sites e empresas que fornecem aprendizado gratuíto na internet, você pode optar por esses que eu conheço e indico, são muito bons: 


microsoft:


<http://technet.microsoft.com/pt-br/bb291022>


<http://www.codelines.com/manualvb/manualvb.htm>


<http://www.microsoftvirtualacademy.com>


[www.http://channel9.msdn.com/browse/allcontent?lang=pt](http://www.http://channel9.msdn.com/browse/allcontent?lang=pt)


dell:


<http://content.dell.com/br/pt/empresa/d/campaigns/treinamento>


c++ :


<http://algoritmizando.com/desenvolvimento/curso-de-programacao-em-c-gratis/>


boa sorte!!! olá jovem, seja muito bem vindo ao fórum. 
parabéns por ter iniciado tão cedo os estudos de programação. desejo excelente aprofundamento, mas não descuide da educação formal convencional (colégio, faculdade etc.). os caminhos não são excludentes, pelo contrário, eles são complementares. 
qualquer dú… imho usa uma api como sdl2 pra aprender c++ é um péssima ideia

primeiro pq sdl2 não é c++, é c, então ela desvia dos conceitos e práticas que vc normalmente vai encontrar em apis de c++, se fosse pra usar uma api dessas ele deveria ter escolhido sfml.

segundo que ela é bem complicada, então além d… Boas dicas! 


Utilizo muito o Tandem para praticar com estrangeiros, também dá para mandar/receber áudio e realizar conversas em vídeo.


(OBS.: Mas vale lembrar também que um nativo é bom para praticar o speaking mas nem sempre é bom para aprender gramática, pois muitas vezes o nativo não entende as regras gramaticais de sua própria língua.)


Outro app que uso muito é o próprio Google Tradutor.


E sobre música, também uso muito o Musixmatch. O app disponibiliza as letras das músicas + uma tradução em outro idioma disponível. Super recomendo! <p>dê uma olhada <a href="http://projecteuler.net/">project euler.</a> não há mais nada como ele para afiar suas habilidades de programação fundamental.</p>