Thread (10 messages) flat view 10 messages, 5 authors, 2016-08-11

Re: egit/jgit wishlist

From: Grzegorz Kulewski <hidden>
Date: 2016-08-11 20:43:03

On Mon, 4 Dec 2006, Steven Grimm wrote:
Shawn Pearce wrote:
quoted
 I personally want to avoid calling external programs
 as much as possible here, and that means staying with a 100% pure
 Java implementation. 
I think that's exactly the right decision.

One big advantage of doing it this way is that it will be reasonably 
cross-platform from the start. As soon as you start running external 
programs, you introduce all the system dependencies of the Git command-line 
tools, especially acute if you're running some of the non-C porcelain 
commands (which will then require a working shell or Perl environment to be 
installed.)

With a wrapper-based implementation, the temptation would probably be pretty 
great to just leave some stuff implemented as wrappers and not bother porting 
them, which would potentially kill portability. Insisting on 100% pure Java 
means that particular temptation is never an issue.
But it will be working (== end user usable) after many months not days.

And please note that Java is not that portable as many people are 
suggesting. Maybe it will change but currently I will bet C + bash + 
perl (+ python?) is more portable than Java. Java (J2SE) is officially 
supported mainly under Windows, Solaris, Linux and maybe Mac. There are 
more ports but unfortunatelly way too many of them are old, buggy, have 
not full library implementations or something like that. Eclipse also 
currently works only under Windows, Linux and Mac.

Can you name one system where Java (J2SE 1.4 or better 1.5) works (fully, 
not sometimes) and where GIT does not work? Does Eclipse work there too 
(or will in say next year)?

Don't get me wrong: I like Java, use it a lot and wish everything best for 
it but it is not the only or main anwser to every problem on this planet. 
:-) Good wrappers are often better at the begining than trying to do 
everything at once from scratch. And they are certainly faster to develop.


Thanks,

Grzegorz Kulewski
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help