Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 12-12-2005
FusionGyro FusionGyro is offline
Registered User
 
Name: Daniel Lyons
Organization: None
Project: None
 
Join Date: Dec 2005
Location: Albuquerque, NM, USA
Posts: 1
Send a message via AIM to FusionGyro Send a message via Yahoo to FusionGyro
-->
Implementing New Language Mappings

Hi,

I'm interested in using Ice in some of my own projects. Unfortunately, I'm a major linguaphile and thus have some concerns about what is involved with producing a new language mapping. I assume you wouldn't provide mappings for so many languages unless it was fairly easy; on the other hand, I notice that not all of the language mappings support all of the features of the C++. In fact, the PHP support seems to be extremely limited, and (at the moment) Python seems to be missing some interesting features like IceBox and Freeze.

So, here's what I'd like to know:

1. What features must be present in a language to implement ICE support? For example, I often use REALbasic at work, but it doesn't support modules or named scopes as used in Slice and the ICE-supported languages. Does this disqualify RB for ICE support altogether, or simply complicate the process? I also note that native threads are necessary for server support. This is the kind of information I'd like to have.

2. When implementing support for a new language, what process do you use? I have read elsewhere that the first thing to do is develop a Slice to Language X mapping. I see that the code is full of robust tests, so I assume there is a certain order in which features are brought into a language mapping. I don't want to tread on what may be a trade secret, but it would be most helpful if you could illuminate in broad strokes the steps taken to produce a new mapping.

Thank you very much for your time,
__________________
Daniel Lyons
Programmer, Matterform Media
http://www.matterform.com
Reply With Quote
  #2 (permalink)  
Old 12-13-2005
michi's Avatar
michi michi is offline
ZeroC Staff
 
Name: Michi Henning
Organization: ZeroC
Project: Ice
 
Join Date: Feb 2003
Location: Brisbane, Australia
Posts: 912
Quote:
Originally Posted by FusionGyro
1. What features must be present in a language to implement ICE support? For example, I often use REALbasic at work, but it doesn't support modules or named scopes as used in Slice and the ICE-supported languages. Does this disqualify RB for ICE support altogether, or simply complicate the process? I also note that native threads are necessary for server support. This is the kind of information I'd like to have.
If you don't have modules or named scopes, you have to use name mangling.
For example, a module Inner inside a module Outer would map to something like Outer_Inner.

Quote:
2. When implementing support for a new language, what process do you use? I have read elsewhere that the first thing to do is develop a Slice to Language X mapping. I see that the code is full of robust tests, so I assume there is a certain order in which features are brought into a language mapping. I don't want to tread on what may be a trade secret, but it would be most helpful if you could illuminate in broad strokes the steps taken to produce a new mapping.
I honestly don't have a good answer for that. I just go and look at each Slice construct and how I would best map that within the language I'm targeting. No trade secrets here. Just look at Slice, at our target language and what it can do, and come up with the best API you can think of to make each Slice construct to use as easily as possible.

Cheers,

Michi.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Is this a cross-platform/language problem ? rc_hz Comments 2 08-18-2006 09:18 AM
Which language mapping(s) do you use? marc Comments 12 05-31-2006 07:19 AM
Provide language specific documentations of Ice vermorel Comments 2 12-08-2005 06:24 AM
Implementing ICE on a different lay of transport, possible? aseco Help Center 6 04-11-2005 10:23 AM
ICE Features Across Language Mappings Bytenik Comments 1 04-04-2005 04:55 PM


All times are GMT -4. The time now is 11:07 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.