Julia vs. D?
jmh530 via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jan 13 07:03:17 PST 2015
The downside about calling embedding Julia is C is that
everything's a pointer to the heap and you have to manually call
the garbage collector. If the same thing were implemented in D,
then D can handle the garbage collection as per normal. It seems
like D is a better fit for Julia than C in that regard.
On Friday, 12 December 2014 at 06:57:24 UTC, Laeeth Isharc wrote:
> On Wednesday, 7 May 2014 at 14:57:36 UTC, Chris wrote:
>> On Wednesday, 7 May 2014 at 12:05:10 UTC, bachmeier wrote:
>>> On Wednesday, 7 May 2014 at 09:16:01 UTC, Chris wrote:
>>>> On Tuesday, 6 May 2014 at 23:19:47 UTC, Mason McGill wrote:
>>>>> On Tuesday, 6 May 2014 at 11:28:21 UTC, Chris wrote:
>>>>>> Maybe it's time to think about a D interface to Julia. If
>>>>>> Julia catches on within the scientific community, it would
>>>>>> be good to have a foot in the door. Science quickly
>>>>>> creates large code bases, unfortunately, so far it's
>>>>>> mostly Python and Matlab which makes it hard to use the
>>>>>> algorithms in real world applications.
>>>>>
>>>>> I've actually been working on just that, on and off for a
>>>>> few months now. Such a thing is kind of "anti-Julian",
>>>>> though, since one of Julia's main goals is to reduce or
>>>>> eliminate the need for mixed-language projects.
>>>>>
>>>>> However, with D, you can compile small shared libraries
>>>>> that can be automatically bound to your users' favorite
>>>>> dynamic runtimes (via compile-time reflection). I'm hoping
>>>>> this will be good for both D and Julia, allowing library
>>>>> developers to reach a broader audience, and library
>>>>> consumers greater flexibility.
>>>>>
>>>>> I'll post on the D "announce" thread when I have something
>>>>> working, and I'd definitely appreciate tests/bug-reports at
>>>>> that time!
>>>>
>>>> I was also thinking in the direction of enabling D to use
>>>> existing Julia code seamlessly, so you can just call it from
>>>> D (extern(J)), and maybe even efficiently compile it into
>>>> binaries along with D code, as you would with extern(C)
>>>> calls now.
>>>
>>> It's really easy to do that with R. There is a package
>>> RInside that makes it trivial to embed R in a C++ program,
>>> and it's not difficult to use with D.
>>
>> Would be cool if we had something like this for Julia (if it
>> really catches on).
>
> I guess you can call D from Julia very easily via the C API and
> would just need to declare C calling convention in your D code.
> It may be that with a combination of Julia and D one has the
> best of both worlds - no compromise with speed and efficient
> resource use on the number crunching with a nice shell /
> Ipython notebook that is still pretty fast on the front end.
>
> Nicer would be a wrapper a la PyD that seamlessly translates
> between types.
>
> Then the other thing is to translate julia.h into D so that you
> can embed Julia. That's a little work but not so hard. More
> about how this works with C here:
>
> http://docs.julialang.org/en/release-0.3/manual/embedding/
More information about the Digitalmars-d
mailing list