Monday, 26 March 2007 Announcement ============ The members of the Components Team at Lawrence Livermore National Laboratory are pleased to announce Babel 1.1, the ongoing research branch. Babel 1.0 is our stable production release. What's New ========== The following features have been added, or completed, in this release: + Improved Babel RMI performance (protocol & coding improvements) + Improved Java configuration (issue113, issue150) + Faster (mutex-free) reference counting on x86 platform + Improved C++ binding performance + Make definition of SIDL_F77_Bool & SIDL_F90_Bool dependent on configuration checks + Python preferentially uses NumPy instead of the deprecated Numeric Python. + Change C++ binding to use "const &" for "in" parameters improved runtime performance by 12% (issue424). + Modify build to support parallel builds (i.e., "make -j4" for improved build speed on multi-core machines) + Rename C/C++ header splicers _includes -> _hincludes & _misc -> _hmisc (issue425). Use --rename-splicers when running on Babel 1.0 SIDL files. + --disable-shared & --enable-pure-static-runtime causes Babel not to configure or link against libxml2 + --suppress-stubs flag (issue441) + Additional bug fixes: issue75, issue107, issue432, issue436, issue442, issue445 + "configure -C" reduces configure time (Also refer to the CHANGES file for more details.) What Babel Is ============= Babel is designed to address problems of language interoperability, particularly in scientific/engineering applications. At the simplest level, Babel generates glue code so that libraries written in one programming language are callable from other programming languages. Babel generates this glue code from an interface description written in SIDL, our Scientific Interface Definition Language. Babel supports full Object-Oriented features and exception handling even in non-OO languages such as C or Fortran77. Babel also addresses platform interoperability through its support for Remote Method Invocation (RMI), an object-oriented form of remote procedure calls (RPC). Babel RMI gives programmers the ability to write distributed programs with minimal change to their existing source. Supported Languages =================== Babel currently supports calling libraries written in C, C++, Fortran77, Fortran90, Java, or Python from drivers written in either C, C++, Fortran77, Fortran90, Python or Java. (Python support also requires the Numerical Python set of extensions at http://numpy.sourceforge.net/ ). Fortran90 requires CHASM 1.0.1 (or later) to be installed before Babel. Chasm 1.2.0 is required to use the gfortran F90 compiler. Supported Platforms =================== Linux Solaris AIX (except Python server) Mac OSX (not fully supported) Caveat ====== Babel is research in progress. This is a release candidate for a production release, but it is still supported by a research effort. Babel has been used on numerous projects now. Documentation for the newest features may not be complete. We suggest checking our WWW site for our recent presentations about new features. Availability ============ The software is available for free download at http://www.llnl.gov/CASC/components User Resources ============== Two email lists have been set up for the Babel community: babel-users@llnl.gov (unmoderated discussions) babel-announce@llnl.gov (announcements only) To subscribe to one or both of these email lists, send email to with the text "subscribe babel-announce", "subscribe babel-users", or both (one per line). Contacting the Authors ====================== If you have any questions or concerns with the installation process or usage of Babel, feel free to contact the project team at components@llnl.gov. To report bugs or suggest feature enhancements, please submit a report in the bug database at https://www.cca-forum.org/bugs/babel/, or send email to babel-bugs@cca-forum.org. $Id: ANNOUNCE 5951 2007-03-23 18:15:33Z epperly $