Path: csiph.com!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Patricia Ferreira Newsgroups: pt.comp.programacao Subject: Re: compilador, um amigo Date: Wed, 07 Feb 2024 14:43:34 -0300 Organization: A noiseless patient Spider Lines: 39 Message-ID: <87bk8sdvax.fsf@example.com> References: <87h6ivyab9.fsf@example.com> <87il3046w4.fsf@brilhante.top> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: dont-email.me; posting-host="8f7472bfa4366a0df1326932deb94fb3"; logging-data="1611881"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+sAwoAEC7AGGOxWHbpD9luWYvmi2D+Hp0=" Cancel-Lock: sha1:Hu+vevfDP+vxfiVfVGRbezIIx9o= sha1:B5O0VuaMty7eBdytNBSRwDxdgng= Xref: csiph.com pt.comp.programacao:227 Daniel Cerqueira writes: > Consegues dizer todas as vantagens (e, se quiseres, desvantagens) de > haver um compilador? Não entendo do assunto. Um bom compilador (assim como um bom interpretador) reporta mensagens de erro legíveis a um ser humano que pouco compreende o compilador em si. Acho legal a ideia de compilar o programa e executá-lo ``em separado''. É claro que no REPL tudo isso se funde de forma menos separável, mas continuo a olhar pras coisas como coisas separadas---compilação e execução. O SBCL parece produzir mensagens bem claras e parece produzir um bom código de máquina também. Tipo assim---Common Lisp parece muito mais rápido que Racket, por exemplo. Acho que estou me dando conta que Common Lisp tem muito mais anos de trabalho e qualidade que Scheme e Racket. É como se eu me sentisse enganado por propaganda Racket, mas não é uma ingratidão isso---ao contrário: sou muito grato a Racket. Por exemplo, o HtDP é um excelente livro e talvez tenha sido ele que esteja me pertindo me divertir tanto com Common Lisp. Por ``Racket'' estou incluindo o trabalho da comunidade toda. O fato é que estou me divertindo muito com Common Lisp. Provavelmente nunca mais usarei Racket. Racket tem sido sofrimento, na verdade, apesar de eu prefir Racket a Java, a C++ ou mesmo a Python, embora Python seja infinitamente mais clara e mais agradável de se trabalhar que Racket. Só que Python não tem macros, por exemplo. Sem macros, sem emoção, sem futuro, sem paixão. Você queria falar sobre compiladores? I'm sorry. :) Pretendo escrever algum compilador em breve. Ainda vou levar o capítulo 5 do SICP a sério. Há também o Essentials of Compilation de Jeremy Siek, mas uma coisa é certa---vou continuar a usar Common Lisp pra qualquer um desses projetos aí. Não quero mais saber de Racket---ou de Scheme. Guile ainda considero estudar, mas só por causa do GNU Guix.