NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Checking out src with Mercurial



Hello,

Am 20.06.2020 um 06:52 schrieb Greg A. Woods:
These days a decent well supported, very capable, and much more widely
available language like Go would seem, to me at least, to be a literally
more infinitely better choice.

Of course a truly small and elegant language like V (or maybe Wren)
would be more along my line of choice, though for the kind of project
like Mercurial, well, as I said, I would have a very hard time arguing
against Go.
Well, it also depends on which level of the stack you see a version 
control tool at. If it is very low, it seems more natural to use a very 
system-oriented language. You can also see from Fossil that people who 
are as fit in C as the development team at SQLite can get their hands on 
developing a high-quality version management tool. Regardless of the 
fact that Fossil will certainly have problems with the size of the 
NetBSD repository, I consider Fossil to be one of the most impressive 
pieces of software I have seen in recent years. Not least because 
SQLite, Fossil and also the related Tcl are known for their code quality.
A lot of it is certainly also a philosophical question and how to see 
NetBSD. I see NetBSD as the cleanest Unix available right now. I see it 
as a self-containing system at every level, which can generate great 
benefits without external dependencies. By this I also mean that the 
basic workflow of the software lifecycle for the base system (editing → 
versioning → compiling → testing) can, for example, be implemented 
completely with tools from the base system. This ability is limited by 
the dependency on a tool from pkgsrc, which also brings a lot of new 
dependencies with it. Then it is no longer so important whether it 
depends on Go, Rust or something else. As I said - philosophical topic ;-)
Btw, the PerformancePlan [1] and the OxidationPlan [2] are worth reading 
about Mercurial. The way you want to integrate Mercurial with Rust 
(change from a Python main to a Rust binary main with an embedded Python 
interpreter) definitely sounds interesting and according to a good plan. 
Maybe one day there will be a purely native Mercurial that Python only 
needs for compatibility with old plugins.
I personally like Golang more than Rust. I chose it to replace a large 
suite of former Python programs in one of my integration projects and I 
felt at home right from the start. At Rust, the entry threshold seemed 
higher for the tasks to be done. On the other hand, Rust is getting a 
lot of attention in the industry (Microsoft, Facebook) and I would much 
rather have a Mercurial that is written in C and is part of the base 
system. But you have to meet somewhere in the middle, and last but not 
least, someone has to do all the work and as long as I don't have the 
resources myself, I will avoid asking for anything.
Kind regards
Matthias


[1] https://www.mercurial-scm.org/wiki/PerformancePlan
[2] https://www.mercurial-scm.org/wiki/OxidationPlan


Home | Main Index | Thread Index | Old Index