<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: RE: Gosling on unsafe code</title>
	<atom:link href="http://almaer.com/blog/re-gosling-on-unsafe-code/feed" rel="self" type="application/rss+xml" />
	<link>http://almaer.com/blog/re-gosling-on-unsafe-code</link>
	<description>blogging about life, the universe, and everything tech</description>
	<lastBuildDate>Fri, 25 May 2012 17:57:23 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Richard</title>
		<link>http://almaer.com/blog/re-gosling-on-unsafe-code/comment-page-1#comment-18928</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Mon, 07 Feb 2005 14:15:55 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog2/re-gosling-on-unsafe-code#comment-18928</guid>
		<description>&quot;Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me!&quot;

I use JNI to wrap the Qt and KDE C++ apis for java bindings. In C++ you have method overloading, and you need the JNI naming convention to map the overloaded methods onto the java api. The .Net P/Invoke api doesn&#039;t have a standard way to define overloaded methods, and that is a problem.

I think the main problem with JNI is the lack of automated code generators. It is far too much work to wrap a C++ library with more than a handful of classes. The Qt/KDE apis have around 1000 classes, and would be impossible to wrap without automating to code generation.

The gcj compiler has an alternative to JNI called &#039;CNI&#039; which is a much more natural interface to C++ code, and is more efficient.

Overloaded methods and unsigned types would be a great help in interfacing with C++ libraries, and &#039;religious&#039; arguments about not including them in java annoy me a bit. That sort of thing is actually useful for integrating with the &#039;real world&#039;.
</description>
		<content:encoded><![CDATA[<p>&#8220;Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me!&#8221;</p>
<p>I use JNI to wrap the Qt and KDE C++ apis for java bindings. In C++ you have method overloading, and you need the JNI naming convention to map the overloaded methods onto the java api. The .Net P/Invoke api doesn&#8217;t have a standard way to define overloaded methods, and that is a problem.</p>
<p>I think the main problem with JNI is the lack of automated code generators. It is far too much work to wrap a C++ library with more than a handful of classes. The Qt/KDE apis have around 1000 classes, and would be impossible to wrap without automating to code generation.</p>
<p>The gcj compiler has an alternative to JNI called &#8216;CNI&#8217; which is a much more natural interface to C++ code, and is more efficient.</p>
<p>Overloaded methods and unsigned types would be a great help in interfacing with C++ libraries, and &#8216;religious&#8217; arguments about not including them in java annoy me a bit. That sort of thing is actually useful for integrating with the &#8216;real world&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://almaer.com/blog/re-gosling-on-unsafe-code/comment-page-1#comment-18929</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Mon, 07 Feb 2005 14:15:55 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog2/re-gosling-on-unsafe-code#comment-18929</guid>
		<description>&quot;Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me!&quot;

I use JNI to wrap the Qt and KDE C++ apis for java bindings. In C++ you have method overloading, and you need the JNI naming convention to map the overloaded methods onto the java api. The .Net P/Invoke api doesn&#039;t have a standard way to define overloaded methods, and that is a problem.

I think the main problem with JNI is the lack of automated code generators. It is far too much work to wrap a C++ library with more than a handful of classes. The Qt/KDE apis have around 1000 classes, and would be impossible to wrap without automating to code generation.

The gcj compiler has an alternative to JNI called &#039;CNI&#039; which is a much more natural interface to C++ code, and is more efficient.

Overloaded methods and unsigned types would be a great help in interfacing with C++ libraries, and &#039;religious&#039; arguments about not including them in java annoy me a bit. That sort of thing is actually useful for integrating with the &#039;real world&#039;.
</description>
		<content:encoded><![CDATA[<p>&#8220;Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me!&#8221;</p>
<p>I use JNI to wrap the Qt and KDE C++ apis for java bindings. In C++ you have method overloading, and you need the JNI naming convention to map the overloaded methods onto the java api. The .Net P/Invoke api doesn&#8217;t have a standard way to define overloaded methods, and that is a problem.</p>
<p>I think the main problem with JNI is the lack of automated code generators. It is far too much work to wrap a C++ library with more than a handful of classes. The Qt/KDE apis have around 1000 classes, and would be impossible to wrap without automating to code generation.</p>
<p>The gcj compiler has an alternative to JNI called &#8216;CNI&#8217; which is a much more natural interface to C++ code, and is more efficient.</p>
<p>Overloaded methods and unsigned types would be a great help in interfacing with C++ libraries, and &#8216;religious&#8217; arguments about not including them in java annoy me a bit. That sort of thing is actually useful for integrating with the &#8216;real world&#8217;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://almaer.com/blog/re-gosling-on-unsafe-code/comment-page-1#comment-18926</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Mon, 07 Feb 2005 08:24:41 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog2/re-gosling-on-unsafe-code#comment-18926</guid>
		<description>I for one do NOT get why JNI is so badly written. I mean, why you can&#039;t just load a library that the Java runtime/JDK can use directly on the platform they are in is beyond me. Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me! We are just starting to play with JNI and it&#039;s a mess.

</description>
		<content:encoded><![CDATA[<p>I for one do NOT get why JNI is so badly written. I mean, why you can&#8217;t just load a library that the Java runtime/JDK can use directly on the platform they are in is beyond me. Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me! We are just starting to play with JNI and it&#8217;s a mess.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://almaer.com/blog/re-gosling-on-unsafe-code/comment-page-1#comment-18927</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Mon, 07 Feb 2005 08:24:41 +0000</pubDate>
		<guid isPermaLink="false">http://almaer.com/blog2/re-gosling-on-unsafe-code#comment-18927</guid>
		<description>I for one do NOT get why JNI is so badly written. I mean, why you can&#039;t just load a library that the Java runtime/JDK can use directly on the platform they are in is beyond me. Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me! We are just starting to play with JNI and it&#039;s a mess.

</description>
		<content:encoded><![CDATA[<p>I for one do NOT get why JNI is so badly written. I mean, why you can&#8217;t just load a library that the Java runtime/JDK can use directly on the platform they are in is beyond me. Why I gotta create .h files and use a horribly bad naming convention in the C code is beyond me! We are just starting to play with JNI and it&#8217;s a mess.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

