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 
>
>

Reply via email to