freenode/#lisp - IRC Chatlog
Search
1:14:44
dim
Demosthenex: do it the other way around, store data in a normalized relational design and build JSON as a query output
1:15:38
dim
Demosthenex: have a read of https://tapoueh.org/blog/2017/09/on-json-and-sql/ to see how to normalize JSON documents in a relational database
4:09:12
csgator
hi all, I am a young programmer and I want to learn lisp as a hobby project because I read about it in paul graham's book hackers and painters. The way he describes lisp it seems to be the holy grail of languages , what do you guys think does learning lisp make you a better programmer ?
4:10:40
csgator
haha fair point. I just want to know as an outsider why you guys think lisp is so good ?
4:12:56
no-defun-allowed
learning lisp made my datefriend think about other languages weird, and they told me they couldn't stand C++ after. it likely will make you hate every other language on the planet but hey go for it.
4:13:02
beach
csgator: The condition system is also quite good. Much better than the exception feature of languages like Java.
4:13:47
csgator
so noob question here : let's say I want to build a REST API can I do it in lisp ? does it have enough libraries to do anything one would require in a normal application building ? what I am trying to ask maybe is can I use it to build stuff ? I am convinced that programming languages are increasingly becoming more lisp like
4:13:47
beach
Oh, sure, if you compare to a language without automatic memory management, Common Lisp looks even better. But most sane languages these days have that.
4:15:24
beach
csgator: Not my domain of expertise, but I am pretty sure there are libraries for that. Other languages won't become Common Lisp until they also look like it, and then they might as well *be* Common Lisp.
4:16:06
csgator
so what do you guys use lisp for ? just trying to gather info on where it is being used :)
4:16:08
beach
csgator: It is trues that for *almost* every feature of Common Lisp, you will find some language that has it. But you won't find a language other than Common Lisp that combines all those features.
4:16:31
no-defun-allowed
i use hunchentoot but caveman2 is also an option (if you can mind the god awful Python @tagging things)
4:17:06
beach
csgator: Here is a nice quotation from Kent Pitman: https://www.wisdomandwonder.com/link/1018/please-dont-assume-lisp-is
4:17:20
csgator
beach : that is exactly the point paul graham mentions in his book which made me wonder, why is the software world going backward and if so why even bother with a fancy new language every year, we could just use lisp for everything
4:18:35
beach
csgator: Because there are strong psychological forces at work. People are not rational and they are willing to waste arbitrary amounts of time not to learn Common Lisp.
4:18:58
beach
csgator: There is an entire domain now called "behavioral economics" that will explain such behavior.
4:19:43
beach
In the meantime, here is a short essay on the subject: http://metamodular.com/Essays/psychology.html
4:21:03
no-defun-allowed
still they don't quite get why we avoid SETF and friends when possible in lisps but they know a lot of CL and scheme
4:21:58
no-defun-allowed
i said it's easier to analyse since SETF can set whatever but they say understanding functional code is hard already
4:22:18
csgator
beach: got your point, thanks. I am going to spend the next few weeks learning lisp just for the fun of it and also because many smart people I know have suggested learning lisp. I'll be using this channel to get help when stuck
6:13:20
Shinmera
csgator: Just to get you started, the typical recommendation nowadays is https://portacle.github.io for the IDE and http://www.gigamonkeys.com/book/ for the introductory text.
6:16:47
Shinmera
csgator: As for REST APIs, of course you can do that with Lisp. There's plenty of websites and services, both hobby and professional, running Lisp on the web.
10:41:01
void_pointer
Out of SBCL, CCL, and ECL; which implementation is generally the strictest with requiring code to conform to the ANSI spec?
10:55:56
jackdaniel
I think that both CLISP and SBCL have a "strict ansi mode", but you'd have to verify that
10:56:57
Shinmera
Even if your code conforms to the ANSI spec doesn't mean it'll be portable for instance
10:57:52
Shinmera
Unless you eschew all parts that are defined as implementation dependant (pathnames, etc)
10:59:55
jackdaniel
it is a one tailed test, which may bring to your attention parts of code which could be improved (not always of course)
11:02:09
void_pointer
Well, my code won't be completely portable, but it tells me a bit of where to focus my testing activities since that would be where I would run into more of my ameteurish mistakes in writing valid common lisp code (things like assigning an incorrectly typed value to a slot)
11:04:14
void_pointer
I've caught quite a few mistakes by making (safety 3) in all my code, but I suspect I have a lot more just basic mistakes in writing common lisp, let alone all the bugs from just misuing things, misdone algorithms, and other sorts of bugs that of course would not be caught by such means