I'm brushing up on my C this summer, and I was looking for a project, so I thought why not do something for EBJava?
I'm thinking about a major rewrite here doing the server in C (the intention had always been to rewrite it in something other than Java...who needs a server in Java?) using libraries already available (libicq, etc). I'd probably go with a damn the torpedoes attitude and rewrite the client as well so that all the packaging is done through the libraries in the server as opposed to in the client as it is now.
Does anyone have any comments on this? I figure since noone uses this program and there's no active development, noone would mind.
~Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hmmm, well I'm concerned about things like performance and the excessive memory hit brought on by Java. Plus, requiring a jre to be installed on the server seems a bit excessive.
Having a cross platform server is not as important as having a cross platform client. Ideally, I've always thought that the place for Java is in the clients and the workhorse languages such as C fit well into the servers on the backend.
As far as the buffer overruns and such, we could by default bond to a >1024 port so that root permissions wouldn't be required to run the server. Granted that doesn't solve everything, but I would think that it would make risk more manageable.
One of the greatest advantages is the availablilty of tried and true libraries for the clone messaging clients in C. Many services such as Yahoo even have libraries but no documentation, which would make pretty difficult to encorporate as we would have to sniff the protocol ourself instead of just plugging in a library.
It just seems that the advantages of going C on the server outweigh the advantages of going Java, with security being the concern left. A little caution will go a long way there.
~Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm brushing up on my C this summer, and I was looking for a project, so I thought why not do something for EBJava?
I'm thinking about a major rewrite here doing the server in C (the intention had always been to rewrite it in something other than Java...who needs a server in Java?) using libraries already available (libicq, etc). I'd probably go with a damn the torpedoes attitude and rewrite the client as well so that all the packaging is done through the libraries in the server as opposed to in the client as it is now.
Does anyone have any comments on this? I figure since noone uses this program and there's no active development, noone would mind.
~Chris
I'm very much against this. Java is:
1. OO
2. x-platform
3. more secure
Buffer overruns are probably the #1 or 2 reason sites get hacked. Porting the server to C just makes that a big risk.
Kurt
Hmmm, well I'm concerned about things like performance and the excessive memory hit brought on by Java. Plus, requiring a jre to be installed on the server seems a bit excessive.
Having a cross platform server is not as important as having a cross platform client. Ideally, I've always thought that the place for Java is in the clients and the workhorse languages such as C fit well into the servers on the backend.
As far as the buffer overruns and such, we could by default bond to a >1024 port so that root permissions wouldn't be required to run the server. Granted that doesn't solve everything, but I would think that it would make risk more manageable.
One of the greatest advantages is the availablilty of tried and true libraries for the clone messaging clients in C. Many services such as Yahoo even have libraries but no documentation, which would make pretty difficult to encorporate as we would have to sniff the protocol ourself instead of just plugging in a library.
It just seems that the advantages of going C on the server outweigh the advantages of going Java, with security being the concern left. A little caution will go a long way there.
~Chris