[coyotos-dev] Accept GCJ into the tool chain?

Haplo starfirex at comcast.net
Sun Nov 26 23:46:38 CST 2006


I still say no. Support it? Sure, but as a widely used language for  
general applications? Java may have originally been designed for it,  
but the security features (created for web applications), fact that  
it requires a virtual machine, the fact that it would also possibly  
require making GUI components to work under coyotos (or at least not  
be ugly), and the fact that the application format for coyotos could  
be devised to be completely different from anything that could be  
easily done with java (while making life easier otherwise)... Simply  
not worth it. There are very few useful things you can do with java  
that aren't easier with C++ and all of those things still run faster  
in native compiled C++. I don't care what you say, virtual machines  
are inherently slow. You can compile some code to time some  
algorithms to find that out quite easily- native code is run directly  
while java code must run code to translate the java code which is  
then run, and even the best emulation will not run any CPU intensive  
task reasonably fast. Also, a virtual machine cannot be run on an  
embedded device, which is typically single-purpose and RAM is a huge  
constraint. The only things run there are maybe a single application  
and the kernel. My suggestion: make your own language or adopt some  
that are better suited to an extensible and custom created  
environment like coyotos. Objective-C works brilliantly well, but if  
people are reluctant about that, just make some C++ superset with  
features beneficial to development in the coyotos environment.

Here's my final take: if you can't (or wouldn't) write an operating  
system with it, then you don't need to be writing applications with  
it either (with only a very few exceptions, most of which are  
outdated). Chances are, there's a better language that you can do  
more with, do it faster, and have less problems with in the end.

Oh:
> Another thing about performance is that are lots of people doing java
> coding, but a little portion can write good code. It's a problem
> caused by java being sold as beginners/"average joe" language. Few
> months ago I had the mission to save a project. There was a task
> that used to take 1m40s to complete in a Palm Treo 650. That's
> prohibitive. Rewriting the code, now it runs in 4s. I've seen  
> things like
> these a dozen of times...
Palm pilots are not embedded devices. These are mostly designed to  
work like small computers (with graphics and a complete user  
interface). However, you would never write a single line of java code  
for an application on, say, a chip in your car, let alone one in a  
pacemaker. The VM would be larger than coyotos and the application  
designed to run on it combined, would cut the speed of the  
application in half, and if you tried to argue that it could be pre- 
interpreted, oops sorry, not enough RAM to do that on a real embedded  
device. Sure, you could add more RAM, or not, seeing how that drives  
up chip cost for no reason besides lazy retarded programming.

On Nov 26, 2006, at 11:38 PM, Daniel Simoes wrote:

> Hi. I never wrote before, but I feel obligated to contribute  
> because of
> my years of java embedded development.
> Sorry for my English, it's very poor. And, if I appear rude, it's
> actually lack of language fluency.
>
>> I don't suggest it. Java has a lot of problems, the biggest being  
>> that
>> java is /entirely/ decoded at runtime.
> What do you mean by decoded? Interpreted? Compiled? If it's  
> interpreted,
> that's not true. Modern virtual machines uses JIT compiling
> and hotspots performing very well. And by using GCJ you don't have  
> even
> a runtime compiling phase at all.
>> Java has always had the drawback of being slow, and even on MacOSX
>> where java is (or at least was) a major supported language for
>> applications, they were always notoriously slow and usually ugly.
> It was true three or four years ago.
> I've wrote a few mobile and desktop applications in the last years  
> that
> run in slow/low memory machines doing complex tasks
> like GIS/mapping performing very well. My first app was, in fact,  
> ugly.
> But then we switched to SWT and now there's no difference
> from native ones.
> Another thing about performance is that are lots of people doing java
> coding, but a little portion can write good code. It's a problem
> caused by java being sold as beginners/"average joe" language. Few
> months ago I had the mission to save a project. There was a task
> that used to take 1m40s to complete in a Palm Treo 650. That's
> prohibitive. Rewriting the code, now it runs in 4s. I've seen  
> things like
> these a dozen of times...
>> Furthermore, coyotos, as you have said many times, is supposed to  
>> find
>> its way into integrated applications, specifically in the medical
>> field for stability reasons. If you use java, any applications, many
>> of which will be sensitive, would be at the mercy of the virtual
>> machine. Do you really want applications like that to be forced to  
>> run
>> under code which is not your own?
> GCJ, open source virtual machines, etc...
> And, who told all the applications must be written in Java?
>> Also, java is a pain to develop with,
> It's a matter of taste... It's always a pain to use what you don't  
> know
> or don't have experience with. That argument is valid with Lisp, C+ 
> + or even
> Javascript.
>> and not well suited to applications running directly under the OS.
>> Even if you had some other language for your main applications, java
>> has still been proven very poor for that use.
> GCJ, JNI, vm customizations....
>
> Daniel Simoes.
>
> _______________________________________________
> coyotos-dev mailing list
> coyotos-dev at smtp.coyotos.org
> http://www.coyotos.org/mailman/listinfo/coyotos-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.coyotos.org/pipermail/coyotos-dev/attachments/20061127/8d870a8f/attachment-0001.html 


More information about the coyotos-dev mailing list