My main argument in this thread is that I wouldn't consider Julia "true OO" in the terms many other languages would define it, but trying not to pass any real judgement of whether that is a good thing or not (I agree with Stefan that it's an interesting experiment, and the language is still a work in progress).
Julia supports the OO concept in hierarchy in dispatch-type, but not in data-type. Clearly there is benefit to providing some type of organizational framework, and a hierarchical has helped on the dispatch-front. I've heard two arguments on data-type hierarchy: (1) It's not needed, and doesn't help in any way, and (2) it's not clear how to implement it, so it hasn't been attempted yet. I disagree with (1). and am strongly empathetic to (2). I don't think that hierarchy is the only way to organize code, but that it is a good way to organize some of the code some of the time. You will find other cases where functional or aspect programming is a better fit. Thus, I think instead of prescribing the best methodology for developers, it's better to provide the tools that they can employ however they see fit. On Monday, October 19, 2015 at 9:42:11 AM UTC-4, Tim Holy wrote: > > On Sunday, October 18, 2015 07:38:24 PM Abe Schneider wrote: > > > Julia isn’t object-oriented, and will probably never be. But that > doesn’t > > > make it less powerful :) > > > > Of course it doesn't make it less powerful, but it also doesn't alway > lead > > to nice code. The point of OOP isn't that it gets you more power, but it > > gives you more maintainable code. > > From my personal experience, I'd say it's abundantly clear that "true OO" > (whatever that really means) is not more maintainable than julia's type > system > + multiple dispatch. OO is great, and something you study in school > because > it's been around a long time, but that doesn't mean that in 2015 it's > still > the best organizing principle for code. > > --Tim > >
