1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Beyond Babel's Scope</TITLE>
<META NAME="description" CONTENT="Beyond Babel's Scope">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="users_guide.css">
<LINK REL="next" HREF="node20.html">
<LINK REL="previous" HREF="node18.html">
<LINK REL="up" HREF="node15.html">
<LINK REL="next" HREF="node20.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html770"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html764"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html758"
HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html766"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html768"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html771"
HREF="node20.html">Summary</A>
<B> Up:</B> <A NAME="tex2html765"
HREF="node15.html">Introduction</A>
<B> Previous:</B> <A NAME="tex2html759"
HREF="node18.html">Benefits to Customers</A>
<B> <A NAME="tex2html767"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html769"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION01140000000000000000">
Beyond Babel's Scope</A>
</H1>
<P>
The language interoperability problem is a large one,
and though the Babel tools address much of it, there is
still a lot that is beyond the scope of our tool.
Babel is at its heart a code generator and a runtime
library. Consequently, the following features are currently
limitations of the Babel tool kit:
<P>
<DL>
<DD><A NAME="576"></A>
</DD>
<DT><STRONG>Reverse engineering</STRONG></DT>
<DD>is not supported. That is,
there is no support for inspecting or modifying compiled
code. In addition, scanning existing software to
generate SIDL wrappers is not supported.
There are other groups who are pursuing a C++
to SIDL converter. Since SIDL contains different information
than what is in a C++ header file, however, such a
converter cannot be fully automated without additional help.
<P>
</DD>
<DT><STRONG>Library compatibility</STRONG></DT>
<DD><A NAME="577"></A> is limited.
Since Python and Java dynamically
load libraries into their virtual machines, using these
languages requires the ability to build shared libraries.
In general, building shared libraries (particularly from C++)
is difficult and error prone. This is compounded by the
fact that compiler vendors have no standard way of doing
this, and many tools that help building shared libraries don't
support C++. One can build a legitimate
shared library that still won't work because there are
unresolved symbols, or the library was loaded in the
wrong mode.
<P>
</DD>
<DT><STRONG>Compiler compatibility</STRONG></DT>
<DD><A NAME="578"></A> is limited.
Since the C++ standard does not specify a binary interface and uses a lot of
hashing in their symbol tables, there have been no attempts to get libraries
from dissimilar C++ compilers to work together. Similarly, although we support
FORTRAN 77 and FORTRAN 90, all libraries of Fortran code must be compiled
with the same compiler...again because of the lack of a
standard binary interface.
<P>
</DD>
</DL>
<P>
Despite the aforementioned limitations, Babel does facilitate the development
of language interoperable software. However, issues of robust packaging,
building, and deployment of language interoperable software still loom
on the horizon.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html770"
HREF="node20.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html764"
HREF="node15.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html758"
HREF="node18.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html766"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html768"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html771"
HREF="node20.html">Summary</A>
<B> Up:</B> <A NAME="tex2html765"
HREF="node15.html">Introduction</A>
<B> Previous:</B> <A NAME="tex2html759"
HREF="node18.html">Benefits to Customers</A>
<B> <A NAME="tex2html767"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html769"
HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>
|