Hacker News new | past | comments | ask | show | jobs | submit login

> I think I once read that even Servo, which is a showcase for Rust, has more C/C++ code in it than Rust code

Not in the core project: https://github.com/servo/servo




"core project" is a nebulous term. Stuff is in that repo when it doesn't make sense to break it off as a crate; and a lot of our code is broken off as a crate. But yes, the servo team rarely hacks directly on the C++ components. (we hack very often on Rust out of tree things though)


Where is the feature in GitHub that would show the languages used in a repository? That would be useful here regarding this comment.

(Note I have no doubt you are right. It would just be a useful metric.)


Did they just..get rid of it? I can't find it either.


The C++ code is in servo/mozjs and servo/skia (though that dependency doesn't get used on a default run now IIRC), as well as some other scattered deps and native linkages (fontconfig, harfbuzz, openssl, etc)

We've split the code up in crates so servo/servo is only a fraction of the story. Things in servo/servo are usually components which don't make much sense as something you'd independently use, and are very servo-specific and/or tightly coupled. But a lot of our Rust code is outside the tree, and any C++ modules we use are too.

Also, he vast majority of code in servo/servo is actually HTML/JS test code, vendored in tree from w3c/web-platform-tests.


No, it works for other repostiories.

Probably Github uses cloc. I downloaded the code (over 500MB, insane!) and cloc throws an error.


  > and cloc throws an error
tokei is a similar program that's parallel, and written in Rust. It takes 11 seconds to run on my machine, and shows

https://gist.github.com/steveklabnik/b4ede6f13c9d609edc61d74...

(using a gist since the output is huge, and see Manish's comment as well)


Neat. Problem with code in Rust, resolved by project in Rust :)


This is including the cargo cache dir?


I built Servo last week, I ran "git fetch upstream && git reset --hard upstream/master && git submodule update" and then "tokei .". So, unless Servo puts its cache in the dir, I would guess not, no.


I think by default servo does put the cache in the dir. So yeah, this would be an accurate estimate.

Though not all that rust code is written specifically for servo, and a lot of that C/++ code is winapi and skia. winapi is autogenerated, and skia isn't used by default anymore iirc.


Do they still have the colored lines towards the top? I think you have to click on it to see the language percentage breakdown.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: