I love Clojure's syntax, and not because of macros. I love it because it's both extremely consistent and extremely simple. Just some quick examples:
- In Ruby, blocks use || for param lists and functions use (). In Clojure it's always the same. - In Ruby if you pass a block argument to a method, you use do/end, but if you pass it as a non-block argument, you use lambda/proc/Proc.new. If you're passing it by name, you use & for block arguments and omit it for regular arguments. In Clojure it's always a regular function, whether anonymous or not. - In Ruby, depending on whether you use {} or do/end for blocks, they become "attached" to different method calls depending on if you used parentheses for your intended method call(s) or not. In Clojure, parentheses completely eliminate potential for this ambiguity. - In Ruby, there are only some methods you can name with special characters, such as << and foo=, and they're special-cased by the parser or something so you can write "names << bob" and "self.foo = bar", but you can't write a method called ">!!" if you wanted to. In Clojure you can name functions anything that doesn't use the (very few) built-in syntax characters like parentheses. I did Ruby for the past 3 years so these come to mind most quickly. But I'm sure I could come up with examples in all other languages I've used demonstrating that Clojure's syntax is the most consistent and most simple of them all. And simple is good, since it saves your brain cells some energy to work on the real problems. Background: My day job is a Clojure web app, which I've been working on for almost a year now. -Steven On Mon, Aug 12, 2013 at 2:52 AM, Răzvan Rotaru <razvan.rot...@gmail.com>wrote: > Hi, > > I'm curious about the general opinion on the Clojure syntax, whether > people actually like it or just use it because it provides macros. So I > would like to ask you to participate in a poll. Thank You. > > Here's the link: > > https://docs.google.com/forms/d/1GSgfkeThpUYlgFVzhhNIgA1JbTilu6S9eudq_Sbxl34/viewform > > Răzvan > > -- > -- > 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/groups/opt_out. > > > -- -- 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/groups/opt_out.