Julia vs. D?

Chris via Digitalmars-d digitalmars-d at puremagic.com
Tue May 6 13:44:08 PDT 2014


On Tuesday, 6 May 2014 at 17:10:39 UTC, Ary Borenszweig wrote:
> On 5/6/14, 10:41 AM, Chris wrote:
>> On Tuesday, 6 May 2014 at 13:25:56 UTC, Ary Borenszweig wrote:
>>> On 5/6/14, 8:23 AM, bearophile wrote:
>>>> Paulo Pinto:
>>>>
>>>>> You can think of Julia as a dynamic language similar to 
>>>>> Python, with
>>>>> optional typing and for such a young language, a quite good 
>>>>> JIT
>>>>> compiler backed by the LLVM backend.
>>>>
>>>> Unlike dynamic languages, at running time all variables are 
>>>> strongly
>>>> typed.
>>>
>>> What do you mean?
>>
>> Just a wild guess: that the compiler infers the type of a 
>> variable and
>> turns it into a static type. That would increase the security 
>> during
>> runtime (plugins, libraries, crackers).
>
> Julia doesn't have a compiler. There's no compile-time and 
> run-time distinction. But functions are jitted before execution.

I know. I was talking about JIT compilation. There must be some 
kind of (jit) compiler.

> I don't see how that means "variables are strongly typed". If 
> you mean that at runtime they carry their type information, so 
> do dynamic languages.

But are the types immutable at runtime (in other dynamically 
typed languages) or can they be reassigned as in

x =  "Hello"
x = 5

If yes, then I think this is what Julia is addressing, that a 
module, library or malevolent cracker cannot reassign a different 
type to a variable.

x = 5 // Error!
If so,


More information about the Digitalmars-d mailing list