My mental picture of OOP involves encapsulation and inheritance. Julia has 
a form of encapsulation in the form of modules, but Julia's abstract vs 
concrete types explicitly avoids inheritance. This is not a criticism btw! 
I think Julia's design makes a lot of sense for the problems that Julia 
wants to solve and I have enjoyed learning new concepts like multiple 
dispatch.


On Wednesday, 8 January 2014 14:17:20 UTC+1, Stefan Karpinski wrote:
>
> It's a bit hard to say whether Julia is object-oriented or not. I suspect 
> that for a lot of people, object-oriented means "do you write `x.f(y)` a 
> lot?" By that metric, Julia is not very object oriented. On the other hand, 
> everything you can do with single-dispatch o.o. in C++ or Java, you can 
> easily simulate with multiple dispatch, but you'll have to get used to 
> writing `f(x,y)` instead of `x.f(y)`. If your notion of object-orientation 
> has more to do with encapsulation and/or message passing, then we start to 
> look pretty non-o.o. again.
>
>
> On Wed, Jan 8, 2014 at 5:25 AM, Matthias BUSSONNIER <
> [email protected] <javascript:>> wrote:
>
>>
>> Le 7 janv. 2014 à 21:48, Erik Engheim a écrit :
>>
>> Thanks for the nice comments all of you. I guess I have to keep writing 
>> more about my Julia experiences after this ;-)
>>
>> On Tuesday, January 7, 2014 9:39:05 PM UTC+1, Ivar Nesje wrote:
>>>
>>> Great post, it sums up very well the things I think is the strengths of 
>>> Julia.
>>>
>>> A few notes:
>>> Julia does not look up the method at runtime if the types of the 
>>> arguments to the function can be deduced from the types of the arguments to 
>>> the surrounding function (but it behaves that way for the user, unless he 
>>> redefines the method after the function was compiled 
>>> #265<https://github.com/JuliaLang/julia/issues/265>
>>> ).
>>>
>>>>
>>>>
>> That is cool I didn't know that. I assume this can make quite a big 
>> difference in performance for tight inner loops. 
>>
>>
>>
>> Some misc comment too :
>>
>> > Julia is not object oriented
>>
>> Is that True ? From the manual :
>>
>> >  It is multi-paradigm, combining features of imperative, functional, 
>> and object-oriented programming.
>>
>> I consider that Julia can be OO, the code just look different than in 
>> other languages.
>>
>>
>> Typo ?
>> > Polymorphis lets you
>> Missing m ?
>>
>> Liked the blog post too otherwise thanks, I would also have 
>> mentioned code_lowered, code_llvm and  code_typed
>> not everyone is fluent assembler and those tool are really useful to, 
>> especially in metaprogramming.
>>
>> -- 
>> M
>>
>
>

Reply via email to