Re: [Pharo-dev] Git written entirely in Smalltalk?
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?
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?
:) 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?
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