Re: [fossil-users] OT: Facebook engineers preferring hg to Git

2016-10-28 Thread Nathaniel Reindl
On Oct 28, 2016, at 07:33, Richard Hipp  wrote:
> 
> 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

2016-10-28 Thread Karel Gardas
On Fri, Oct 28, 2016 at 1:33 PM, Richard Hipp  wrote:
> 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

2016-10-28 Thread Richard Hipp
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?

-- 
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

2016-10-27 Thread K. Fossil user
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

2016-10-27 Thread David Mason
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

2016-10-27 Thread Warren Young
On Oct 27, 2016, at 5:37 AM, David Mason  wrote:
> 
> 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

2016-10-27 Thread Karel Gardas
On Thu, Oct 27, 2016 at 1:37 PM, David Mason  wrote:
> 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

2016-10-27 Thread Richard Hipp
On 10/27/16, David Mason  wrote:
> 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