Note that there are some explanatory texts on larger screens.

plurals
  1. POCan Scala be seen as an 'Abstraction Inversion'?
    text
    copied!<p>Greetings,</p> <p>It's a provocative question, aiming to open debate about how abstraction inversion are seen among developer community. I'm really curious to know what you think.</p> <p>First, here is a quote from the abstraction inversion exemples given by Wikipedia: <a href="http://en.wikipedia.org/wiki/Abstraction_inversion" rel="nofollow">http://en.wikipedia.org/wiki/Abstraction_inversion</a></p> <blockquote> <p>Creating an object to represent a function is cumbersome in object-oriented languages such as Java and C++, in which functions are not first-class objects. In C++ it is possible to make an object 'callable' by overloading the () operator, but it is still often necessary to implement a new class, such as the Functors in the STL.</p> </blockquote> <p>For me functions are first-class citizen in Scala, but when we use Scala to generate Java bytecode, Scala create specific class 'on top' of Java to make functional programming possible... <strong>can we see this as an abstraction inversion ?</strong></p> <p>Same can apply to Clojure or any functionnal language for the JVM... or even Apache Collections, for exemple this:</p> <p><a href="http://commons.apache.org/collections/apidocs/org/apache/commons/collections/Closure.html" rel="nofollow">http://commons.apache.org/collections/apidocs/org/apache/commons/collections/Closure.html</a></p> <hr> <p>BTW, I'm not convinced about the wikipedia article objectivity. For example when speaking about possible abstraction inversion in micro-kernel the article say <em>'A body of opinion holds the microkernel design to be an abstraction inversion'</em> but no such statement for functional type in OOP</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload