One data point, me:

When I started out with Clojure, I was very worried about conj, not quite 
knowing wether it
would add at the beginning or the end of the data structure.

But, having worked with Clojure (in web dev) now for a couple of years, I find 
myself using conj quite sparingly. 

And I think this is important when teaching Clojure to beginners. Don’t worry 
too much about how to create lists/vectors by
adding an element at the time, but focus more on transforming sequences using 
map/filter/reduce.

Erik.

> On 17 Jul 2018, at 21:06, Christian Seberino <cseber...@gmail.com> wrote:
> 
> 
> For example, in Python you can write {1, 2} to produce a set, or {1: 2} to 
> produce a dict. But what does {} produce? Is it an empty set, or an empty 
> dict? Python chooses the latter, leaving the literal syntax for sets 
> incomplete. To my mind this is indicative of a design approach that sees 
> literal data syntax as sugar for data constructors, and not something that 
> deserves first class consideration.
> 
> I agree Python's syntax/grammar doesn't have the mathematical elegance of a 
> Lisp.  On a scale of 1 to 10, with 10 being the perfect beginners' language, 
> maybe Python is a 9.
> I hope with Clojure's greater mathematical beauty, it can get to about a 9.5.
>  
> Clojure, on the other hand, takes great care to ensure that its data can 
> always be represented as literals. For data that isn't a standard collection 
> type, there are tagged literals. Clojure syntax starts from a representation 
> of data, and in order to really understand it, I think it needs to be taught 
> from this principle as well.
> 
> 
> Can you elaborate?  I really want to get your point but I'm not so proficient 
> with the lingo.  What do you mean by a "literal" and "tagged literals"? And 
> how is a focus
> on the representation of data different than Python beyond Python's less 
> elegant grammar?
> 
> cs
> 
> 
> -- 
> 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 
> <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 
> <mailto:clojure+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <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.

Reply via email to