== Lisp and data structures: one reason it hasn't attracted me I've [[written before ReadingLisp]] about some small scale issues with reading languages that use Lisp style syntax, but I don't think I've said what I did the other day [[on Twitter https://twitter.com/thatcks/status/535289566769713153]], which is that the syntax of how Lisp languages are written is probably the primary reason that I slide right off any real interest in them. I like the ideas and concepts of Lisp style languages, the features certainly sound neat, and I often use all of these in other languages when I can, but actual Lisp syntax languages have been a big 'nope' for a long time. (I once wrote some moderately complex Emacs Lisp modules, so I'm not coming from a position of complete ignorance on Lisp. Although my ELisp code didn't exactly make use of advanced Lisp features.) I don't know exactly why I really don't like Lisp syntax and find it such a turn-off, but I had [[an insight on Twitter https://twitter.com/thatcks/status/535294059888541696]]. One of the things about the syntax of S-expressions is that they very clearly are a data structure. Specifically, they are a list. In effect this gives lists (yes, I know, [[they're really cons cells OnLispConsCells]]) a privileged position in the language. Lisp *is* lists; you cannot have S-expressions without them. Other languages are more neutral on what they consider to be fundamental data structures; there is very little in the syntax of, say, C that privileges any particular data structure over another. (Languages like Pyhton privilege a few data structures by giving them explicit syntax for initializers, but that's about it. The rest is in the language environment, which is [[subject to change ../python/PythonDataStructuresProblem]].) Lisp is very clearly in love with lists. If it's terribly in love with lists, it doesn't feel as if it can be fully in love with other data structures; whether or not it's actually true, it feels like other data structures are going to be second class citizens. And this matters to how I feel about the language, because lists are often not the data structure I want to use. Even being second class in just syntax matters, because [[syntactic sugar matters SyntacticSugarMatters]]. (In case it's not clear, I do somewhat regret that Lisp and I have never clicked. Many very smart people love Lisp a lot and so it's clear that there are very good things there.)