Data to most people means tabular or relational data and not complex, compound data, and EDN is a funny case, since it is not the concrete representation. What about print-dup, and print-method? Is that subtlety inherent to the elegance? How often do you really need complex, immutable keys? What about persistent data structures? Sure we make a lot of seqs, but banging on a vec or map outside of a reduce is an occasional thing, and most maps are really small, so the copies aren't that slow to start with.
I agree that clojure is self-consistent and has an inherent beauty to it, I guess I'm arguing that it's not the only way to skin the cat and people learning a new language are going to use whatever they already know to make analogies into the new system, and it is a mistake to say something like 'why even start to think about it that way when you won't later if you stick around long enough'? On Tue, Jul 17, 2018 at 4:06 PM Gregg Reynolds <d...@mobileink.com> wrote: > > > On Tue, Jul 17, 2018, 2:49 PM James Reeves <ja...@booleanknot.com> wrote: > >> On Tue, 17 Jul 2018 at 19:52, Christian Seberino <cseber...@gmail.com> >> wrote: >> >>> By the time a Clojure beginner is doing the kind of hardcore concurrent >>> applications that Clojure is great at, he/she will know how to use a >>> profiler. At the point, they'll be ready (and motivated!) to learn about >>> the nuances of conj and friends. >>> >> >> I think this is approaching Clojure from the wrong direction. If I was >> teaching Clojure, I'd build the lessons around the data structures first. >> > > That is a legit approach, but I think it misses the mark. > > Q: is a clojure map a datum or a function? > > A: Yes! > >> >> My opinion is that many languages take a "code first" approach to >> language design, whereas Clojure takes a "data first" approach >> > > Ymmv, but that's not how I think of it. Clojure is function first to me - > but data are functions and vice-versa. That's the beauty of it. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.