Why does Clojure neglect the uniform access principle?
        Posted  
        
            by 
                Alexey
            
        on Programmers
        
        See other posts from Programmers
        
            or by Alexey
        
        
        
        Published on 2013-10-15T00:35:07Z
        Indexed on 
            2013/11/03
            16:10 UTC
        
        
        Read the original article
        Hit count: 610
        
My background is Ruby, C#, JavaScript and Java. And now I'm learning Clojure. What makes me feel uncomfortable about the later is that idiomatic Clojure seems to neglect the Uniform access principle (wiki, c2) and thus to a certain degree encapsulation as well by suggesting to use maps instead of some sort of "structures" or "classes". It feels like step back. So a couple of questions, if anyone informed:
- Which other design decisions/concerns it conflicted with and why it was considered less important?
- Did you have the same concern as well and how it end up when you switched from a language supporting UAP by default (Ruby, Eiffel, Python, C#) to Clojure?
© Programmers or respective owner