Earlier quoted context omitted.
Lisp teaches you that there's always a better tool for the job than something that's already in your toolkit. More than any other language I've worked with, Lisp makes it incredibly easy and low-friction to write domain-specific languages to solve the exact problem you're working with. That's not always a good thing -- it can make working with a foreign codebase difficult -- but it's definitely a powerful concept whe…
Lisp seems to take the exact opposite approach as Go. The power of languages like Lisp appeal to me, so I have a hard time understanding why people want a language that intentionally limits itself. Read Graham's book and he's talking about how macros are great for writing maintainable code because you can make it both short and very readable because it's close to the domain. But then you hear the arguments in favor o…
Lisp at the Frontier of Computation [video]
31–40 of 143 posts
Re: Lisp at the Frontier of Computation [video]
#32Re: Lisp at the Frontier of Computation [video]
#33Earlier quoted context omitted.
Learning a functional language has been eye-opening, but I've always struggled with Lisp. It was Erlang that finally clicked with me. I would suggest, if you haven't already learned one, to find some FP language that looks interesting. Elm, perhaps, or Elixir. I'm not a fan of "hybrid" languages like Scala; finding one that hews closely to the FP ideas will be more useful, I think, in learning how to think functional…
While I agree with you, it's important to note that the defining trait of Lisp isn't that it's a functional language. It can be functional, just as it can be object oriented or procedural, but those labels matter less to what Lisp is than does the intense focus on things like metaprogramming, in my opinion.
Re: Lisp at the Frontier of Computation [video]
#34Every time, I see one of these links or videos, I feel the urge to learn Lisp. But after some time, I lose the motivation. I think that is because I don't know what benefit learning lisp will provide me concretely. Anyone has any suggestion?
Plus parentheses rather than indentation to delimit expressions; parentheses are much more versatile once you get used to them.
Re: Lisp at the Frontier of Computation [video]
#35Earlier quoted context omitted.
It is one of the very few languages where the source code is made of a data structure that the language is very good at manipulating. Thus, writing code that generates code, be it at runtime or at compile-time, is downright easy in Lisp. This opens up enormous possibilities not found in other languages. Also, on regular programming languages, your code executes only at run time. In Lisp, or at least in Common Lisp (a…
The problem for me is that I've learned to avoid macros in other languages. It seems to me that when you've got a fairly complex program, you need a fairly complex mental model of what the program "is" to understand it. But if you introduce macros, or code writing code, then you have a much more complex mental model since now even what the code "is" can change. What is it about lisp that makes this an easier sell?
The new atoms are supposed to communicate intent faster and more concisely, and decrease the burden of understanding what's going on. That's the role of an abstraction, especially syntactic abstractions.
Re: Lisp at the Frontier of Computation [video]
#36Code as data is such a big deal that - whatever you say - I will never ever understand why we don't all do Lisps.
Re: Lisp at the Frontier of Computation [video]
#37Code as data is such a big deal that - whatever you say - I will never ever understand why we don't all do Lisps.
What's the most popular Lisp in use today? Does it come with a static compile type checking?
Re: Lisp at the Frontier of Computation [video]
#38Earlier quoted context omitted.
Lisp teaches you that there's always a better tool for the job than something that's already in your toolkit. More than any other language I've worked with, Lisp makes it incredibly easy and low-friction to write domain-specific languages to solve the exact problem you're working with. That's not always a good thing -- it can make working with a foreign codebase difficult -- but it's definitely a powerful concept whe…
Lisp seems to take the exact opposite approach as Go. The power of languages like Lisp appeal to me, so I have a hard time understanding why people want a language that intentionally limits itself. Read Graham's book and he's talking about how macros are great for writing maintainable code because you can make it both short and very readable because it's close to the domain. But then you hear the arguments in favor o…
There is a mindset that's popular among programmers which says, "I cannot understand what anything does except by knowing all about its internals." Languages like Go let the programmer keep that mantra instead of understanding the things they use based on a description of external behavior.
Re: Lisp at the Frontier of Computation [video]
#39Every time, I see one of these links or videos, I feel the urge to learn Lisp. But after some time, I lose the motivation. I think that is because I don't know what benefit learning lisp will provide me concretely. Anyone has any suggestion?
Do you like Python? Python is basically simplified Lisp. Common Lisp is Python plus first-class lexical closures (rather than second-class) plus true multithreading plus a real compiler so it runs much faster. Plus parentheses rather than indentation to delimit expressions; parentheses are much more versatile once you get used to them.
Re: Lisp at the Frontier of Computation [video]
#40Earlier quoted context omitted.
Lisp teaches you that there's always a better tool for the job than something that's already in your toolkit. More than any other language I've worked with, Lisp makes it incredibly easy and low-friction to write domain-specific languages to solve the exact problem you're working with. That's not always a good thing -- it can make working with a foreign codebase difficult -- but it's definitely a powerful concept whe…
Lisp seems to take the exact opposite approach as Go. The power of languages like Lisp appeal to me, so I have a hard time understanding why people want a language that intentionally limits itself. Read Graham's book and he's talking about how macros are great for writing maintainable code because you can make it both short and very readable because it's close to the domain. But then you hear the arguments in favor o…
There should be only one way to do it. — Python
There's more than one way to do it. — Perl
Do the right thing. — Lisp