In Lisp, at least the Emacs Lisp with which I have experience, it’s customary to put in nil (Lisp’s null) for any omitted arguments in the middle that you can’t be arsed to specify — aside from just leaving off arguments at the end. In JS, typing in undefined in every such case would probably be an annoyance, so I’m guessing coders need to check for both undefined and null in these circumstances.
Overall, it’s remarkable how Lisp teaches one to be much more relaxed about programming practices than is typical for mainstream languages. Design patterns? Data structures? Shit, just pass in a list or an assoc array, and maybe a function here and there. Also everything is an expression, enjoy your ternary (if) at any point anywhere.
Design patterns? Data structures? Shit, just pass in a list or an assoc array, and maybe a function here and there
After trying to be relaxed about data structures in python, I can say that, IMO, this is more harmful than beneficial. Good types and structures lead to good code designs.
In Lisp, at least the Emacs Lisp with which I have experience, it’s customary to put in
nil(Lisp’s null) for any omitted arguments in the middle that you can’t be arsed to specify — aside from just leaving off arguments at the end. In JS, typing inundefinedin every such case would probably be an annoyance, so I’m guessing coders need to check for bothundefinedandnullin these circumstances.Overall, it’s remarkable how Lisp teaches one to be much more relaxed about programming practices than is typical for mainstream languages. Design patterns? Data structures? Shit, just pass in a list or an assoc array, and maybe a function here and there. Also everything is an expression, enjoy your ternary
(if)at any point anywhere.After trying to be relaxed about data structures in python, I can say that, IMO, this is more harmful than beneficial. Good types and structures lead to good code designs.