Results 1 to 3 of 3

Thread: D Language Bindings

  1. #1
    jsternberg is offline Registered User
    Name: Jonathan Sternberg
    Organization: University of Maryland
    Project: GUI Testing Automation fRamework (GUITAR)
    Join Date
    Jan 2011
    Posts
    7

    D Language Bindings

    Hello,

    I really like Ice and am using it for several projects that I work on right now. But I've also wanted to learn D and learn how Ice works and is implemented, as the system seems very robust. I'd like D Language Bindings, but I understand D's not a very widely used language and that it's probably not worth ZeroC's time to write them (not to mention, I kind of want to do them...).

    So I want to write D Language Bindings for Ice. I see this as either exporting the C++ interface to C or writing an implementation in D (the second one seems more interesting to me, even though the first one is probably the smarter one to do).

    I just want to know if there's a good place for me to start. Is there any advice for taking on this ambitious project? At the very minimum, I'm hoping that even if I fail, it will teach me a lot about distributed networked systems. Is there anything written about the internal architecture of Ice's code (aside from the Ice Manual, I have read most of it, but I don't have everything in it memorized)?

    Thanks for any help. If people are interested in this, I'll keep updates about any progress I manage to make.

  2. #2
    bernard's Avatar
    bernard is offline ZeroC Staff
    Name: Bernard Normier
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Palm Beach Gardens, FL
    Posts
    1,294
    Hi Jonathan,

    My best wishes for this new project! You may want to contact other Ice users who had previously expressed interest in "Ice for D":

    D support?

    There is unfortunately no article or other documentation on how to design and implement a new language mapping. If you decide to "wrap" Ice for C++, you should have a look at the existing language mappings that do this (Python, Ruby, PHP and even Objective C).

    Best regards,
    Bernard
    Bernard Normier
    ZeroC, Inc.

  3. #3
    mwilson is offline Registered User
    Name: Mark Wilson
    Organization: University of Rochester
    Project: Omega EP laser
    Join Date
    Jul 2005
    Location
    Rochester, NY
    Posts
    100
    The patterns in Amazon.com: Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects (9780471606956): Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann: Books are a good start to understanding how Ice works. It covers most of the patterns you would find used in Ice, such as reactor, proactor, and active object. It seems to me you would want to start with the lowest levels of Ice, i.e., the basic socket stuff, and then the upper C++ layers would be a fairly straightforward port. You would not need IceUtil, since D already does everything natively that is in that library. I think one of the hardest parts could be the slice2d generation. You don't need to port IceGrid, IceStorm, etc., just the Ice runtime stuff....
    Mark E. Wilson
    Lead Programmer/Analyst
    Omega EP Project
    Laboratory for Laser Energetics (www.lle.rochester.edu)
    University of Rochester
    Rochester, NY 14623

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. [3.4b] ruby bindings fail to build
    By Reto Glauser in forum Bug Reports
    Replies: 8
    Last Post: 02-05-2010, 11:41 AM
  2. Python bindings version number
    By blair in forum Comments
    Replies: 1
    Last Post: 08-18-2007, 06:43 PM
  3. Segfault (using Python bindings)
    By Kristaps Rāts in forum Bug Reports
    Replies: 3
    Last Post: 05-16-2007, 06:13 AM
  4. General praise, CLR and C# bindings
    By Ctaesis in forum Comments
    Replies: 2
    Last Post: 01-05-2004, 12:26 PM
  5. Python bindings for Ice - pyce 0.1
    By vukicevic in forum Comments
    Replies: 1
    Last Post: 07-03-2003, 08:37 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •