Re: [fossil-users] OT: Facebook engineers preferring hg to Git
On Oct 28, 2016, at 07:33, Richard Hippwrote: > > Perhaps true. But in my brief look at Rust I observed that you really > cannot use it effectively without also having to use Git. The two > seem closely linked. Is that incorrect? It is indeed. Sadly, the examples don't help to dispel that at all. Git is merely a first-class citizen for some of the tooling (like Cargo[0]), and if you dig deeply enough, you'll notice things like `--hg` flags and explicit mentions in, e.g., Cargo.toml of the version control system being used to pull in dependencies for those who choose to have that tool manage their checkouts for them. (Though, in my experience, some of the features are a little schizophrenic in their raisons d'être, and the proliferation of language-specific package managers is proving to be an acquired taste like IPAs or caviar. YMMV.) However, there's also the option of referring to dependencies in Cargo by a file path on the local filesystem tree, relative to where that particular crate's (the Rustese word for package) Cargo.toml resides. There's more at [1]. If you're willing to roll your own crate by hand, you can even use something like Darcs, as the thrussh portable SSH library[2] does. The only other consequence outside of that is that you lose some of the ability for Cargo to manage your dependencies for you if you choose to rely on one that doesn't use Git and wish to use something other than a published stable version. Given Cargo's opinions about version numbers[3] though, I don't think that's such a bad consequence. —n 0: http://crates.io/ 1: http://doc.crates.io/specifying-dependencies.html 2: https://pijul.org/thrussh/ 3: http://doc.crates.io/manifest.html#the-version-field ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
On Fri, Oct 28, 2016 at 1:33 PM, Richard Hippwrote: > On 10/27/16, David Mason wrote: >> >> However, the value of Rust is not simply memory management. The >> *considerably* more expressive type system, and the much more robust type >> checking can reduce LOC while improving both readability and safety. > > Perhaps true. But in my brief look at Rust I observed that you really > cannot use it effectively without also having to use Git. The two > seem closely linked. Is that incorrect? Rust is under heavy development and more importantly is quite new kid on the block so OS distros usually have not picked it yet. i.e. no packages in Ubuntu nor Debian but for example in OpenBSD you may be lucky with "pkg_add rust" already. So please be patient and give it/them a time. Honestly I think rust is quite nice and I'm glad that such thing happen well yet I find Haskell even nicer. ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
On 10/27/16, David Masonwrote: > > However, the value of Rust is not simply memory management. The > *considerably* more expressive type system, and the much more robust type > checking can reduce LOC while improving both readability and safety. Perhaps true. But in my brief look at Rust I observed that you really cannot use it effectively without also having to use Git. The two seem closely linked. Is that incorrect? -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
Hi, Below are answered I give to few people (Richard, etc.) who talk about this topic. > « Irony: Isn't Rust heavily dependent upon Git for its package management? So > if Hg is written in Rust, does that mean that Hg has a dependency on Git? » Rust is a language, Git is a DVCS. You can use Rust with Fossil if you want ... C is language written for a more robust UNIX : should people stop using it because they are with Windows ?Git was basically written for Linux, should OpenBSD avoid it ? > « Many people do believe that just because an application is written in Rust > rather than in C that it must be "safer". But it is a logical fallacy. » Rust is too recent : you could not tell that, as if it is a rule or a correct theory. There are no evidence for that, and you know that. > « I kind of agree that rewriting fossil in Rust will not buy much » That is my point of view too, but I would like to see people writing a Fossil software with ONLY Rust as a language : I am curious. :-) > « Are you really happy with the idea of Fossil making zero forward progress > for two years, and at the end, you have exactly the same feature set as > before? » Depending on the goal. No ? Three possible goals... a) You want to use Rust to reahc some new developpers, it could be a good idea. b) You would like to improve safety at least to give evidence that Rust does NOT give any advantage. c) You would try an object approach... etc. > « However, the value of Rust is not simply memory management. The > *considerably* more expressive type system, and the much more robust type > checking can reduce LOC while improving both readability and safety. » In theory Rust is far better than C. It has a functional approach which is a good idea, immutability is a good idea, concurrency is in mind, etc. However, I don't see anything that would convince me to use Rust for Fossil. Concurrency improvement could be a good reason, however may I suggest that the Fossil team would wait so some "fallacies" could be seen if it is the case... Best Regards K. ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
Richard and Warren both make very legitimate comments. I wasn't seriously suggesting that work should stop moving Fossil forward for the perhaps marginal benefit of conversion to Rust. However, the value of Rust is not simply memory management. The *considerably* more expressive type system, and the much more robust type checking can reduce LOC while improving both readability and safety. ../Dave ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
On Oct 27, 2016, at 5:37 AM, David Masonwrote: > > Also of interest is that Facebook is doing an implementation of hg in Rust. Facebook’s market cap is $343.34 billion today. This is relevant because... > Fossil seems pretty robust in C, but Rust would increase safety confidence. According to SLOCCount, Fossil represents a $3.2 million investment in developer time, not counting SQLite. Where is the money going to come from to pay those developers to rewrite it in Rust? Further, it would take about 2 years to do that rewrite that with normal staffing, also according to SLOCCount. (“Normal” meaning that the mythical man-month rule applies: doubling staff won’t halve development time.) Are you really happy with the idea of Fossil making zero forward progress for two years, and at the end, you have exactly the same feature set as before? With Facebook + Hg, the answer to these questions are clear, as you can see from the above. But for Fossil…? Here’s the full SLOCCount report, for your convenience: SLOCDirectory SLOC-by-Language (Sorted) 95707 src ansic=93887,tcl=1820 Totals grouped by language (dominant language first): ansic:93887 (98.10%) tcl: 1820 (1.90%) Total Physical Source Lines of Code (SLOC)= 95,707 Development Effort Estimate, Person-Years (Person-Months) = 24.04 (288.54) (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05)) Schedule Estimate, Years (Months) = 1.79 (21.52) (Basic COCOMO model, Months = 2.5 * (person-months**0.38)) Estimated Average Number of Developers (Effort/Schedule) = 13.41 Total Estimated Cost to Develop = $ 3,248,123 (average salary = $56,286/year, overhead = 2.40). ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
On Thu, Oct 27, 2016 at 1:37 PM, David Masonwrote: > I's about 1/3 of the way through this report: > https://groups.google.com/forum/#!topic/mozilla.dev.version-control/nh4fITFlEMk > > It seems that they originally preferred GIT (because it was what they knew) > but now prefer hg, although it's a bit light on the reasons. The article > points out that Facebook has a heavily mod-ed version of hg. It might be > interesting to see what they've done that has made their people happy... https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ -- it's about scalability -- at least if I understand this well... > for > consideration for fossil. indeed, would be good if fossil would scale well. ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] OT: Facebook engineers preferring hg to Git
On 10/27/16, David Masonwrote: > Fossil seems pretty robust in C, but Rust would increase safety confidence. Many people do believe that just because an application is written in Rust rather than in C that it must be "safer". But it is a logical fallacy. You should avoid falling into that trap. Rust helps at preventing certain kinds of bugs (null pointer dereferences, use after free). But those have never been an issue with Fossil. Fossil uses the transactional guarantees of the underlying SQL database engine to ensure the safety of user data. Perhaps Rust might be helpful in systems like Git or Hg which depend on the integrity of the application-level code for data correctness and safety. But as Fossil has no such dependency, rewriting Fossil in Rust would not help in any way. Rather than making Fossil "safer", rewriting it in Rust would simply introduce a bunch of new bugs cause by the inevitable translation errors. See https://www.fossil-scm.org/fossil/doc/trunk/www/selfcheck.wiki for background information. Irony: Isn't Rust heavily dependent upon Git for its package management? So if Hg is written in Rust, does that mean that Hg has a dependency on Git? -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users