Re: [Pharo-dev] Git written entirely in Smalltalk?

2016-02-24 Thread Richard Sargent
Ben Coman wrote
> Max,
> 
> The other say I was contemplating having a git implementation written
> entirely in Pharo, and today I bumped into something from your history
> (~2011?) [1]  indicating this might have been attempted.   I'm curious
> why this was abandoned in favour of libgit bindings.

I have seen a lot of "not invented here" work in the Smalltalk world over
the last 25 years. That in itself is enough reason to not reimplement
everything in native Smalltalk.

There are whole communities out there who specialize in one esoteric piece
of technology. You can stand on their shoulders or you can copy their work.
One of those appeals a lot more to me than the other.

When we bind to someone else's work, their updates are almost free to us.
Otherwise, we tie up a lot of our own resources replicating their work and
not advancing our own.


> [1] http://scg.unibe.ch/wiki/students/maxleske
> 
> cheers -ben





--
View this message in context: 
http://forum.world.st/Git-written-entirely-in-Smalltalk-tp4880274p4880430.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Git written entirely in Smalltalk?

2016-02-24 Thread Damien Cassou
Ben Coman  writes:

> The other say I was contemplating having a git implementation written
> entirely in Pharo, and today I bumped into something from your history
> (~2011?) [1]  indicating this might have been attempted.   I'm curious
> why this was abandoned in favour of libgit bindings.

Max did most of the work IIRC. Then Camillo and I tried to help. But
this is difficult to do because the git protocol is complex and we had
not much time to dive into it. We also didn't find good documentation.

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill



Re: [Pharo-dev] Git written entirely in Smalltalk?

2016-02-24 Thread Max Leske
:)

It wasn’t a complete implementation but entirely written in Pharo, yes. The 
reason I decided to go for bindings is that Git is quite big. There are many 
things to implement and there’s a lot of mystery when it comes to 
implementation details. Using bindings reduces the cost of maintenance a lot, 
since the burden of updating and fixing stuff is no longer on me.

Additionally, performance was never really good with my solution, partly due to 
the VM of course (FFI wasn’t really an option for me back then, so all the 
calculations were done in the image). And finally, Git has a rather 
unconventional way of handling memory: allocate until it breaks. Since we’re 
quite constrained memory wise in Pharo, I would run into out of memory 
situations pretty quickly. Handing the memory management off to the library 
makes things a lot easier.

BTW, I based my project on the work of Tony Garnock-Jones (from NZ) who started 
work on a Git implementation for Squeak (but then gave up the project).

Cheers,
Max

> On 24 Feb 2016, at 12:30, Ben Coman  wrote:
> 
> Max,
> 
> The other say I was contemplating having a git implementation written
> entirely in Pharo, and today I bumped into something from your history
> (~2011?) [1]  indicating this might have been attempted.   I'm curious
> why this was abandoned in favour of libgit bindings.
> 
> [1] http://scg.unibe.ch/wiki/students/maxleske
> 
> cheers -ben
> 




[Pharo-dev] Git written entirely in Smalltalk?

2016-02-24 Thread Ben Coman
Max,

The other say I was contemplating having a git implementation written
entirely in Pharo, and today I bumped into something from your history
(~2011?) [1]  indicating this might have been attempted.   I'm curious
why this was abandoned in favour of libgit bindings.

[1] http://scg.unibe.ch/wiki/students/maxleske

cheers -ben