I love these metrics that are 99% meaningless but you still want to know how your language compares. Like average identifier length, source tree directory depth, etc.
"Novelty Metrics" -- I kind of want to put that on my resume just to see what happens with it. Or, I could imagine an entertaining blog existing solely based on that premise.
You might really enjoy the Strange Maps[1] section of bigthink.com. There are some real wonderful ones in the past entries. I have this in my feed, but look at it far too infrequently for how interesting it looks.
Many of these categories are not 'languages' making it hard to make any conclusions beside 'people working with Joomla or VS seem to have some gigantic .gitignore template'.
Do you typically check in generated code? I think it depends on a lot of things. My understanding is the general rule of thumb is NOT to, except for certain cases (generation takes a long time, for instance)
exactly. tooling and framework config files. for 'pre-compiled' languages also build dirs but that doesn't necessarily mean the language is more complex.
For example, most of the entries in the Python one are utterly inane, and won't apply to your project. You can easily trim that file to 1/5 it's size. It includes the ignores for a bunch of directories I've never see any project ever have, two unit test frameworks, two web frameworks, pip's files that are already better covered by virtualenv ignores, four different ways of naming your virtualenvs…
This isn't measuring language complexity; this is someone trying to pre-cover any potential case generated by any popular-today third party library.
The visual studio one seems to cover just about every way you could use VS, and every plugin made for it. This measurement comments more on the neatness of the IDE(s) than any kind of language complexity.
Agreed. VS supports dozens of languages across web, desktop, mobile, etc. C#, VB, F#, C, C++, JavaScript, T-SQL, Python... and that's just what I can list off the top of my head. Even with single languages in the list it's not apples-to-apples. "Language complexity" should be removed from the link title.
It also probably depends on what development tools people use. If everyone on the project uses a different IDE that's different patterns for each of them, but they all have to be in the ignore file.
Well, that is what a global gitignore file [1] is all about. Entries specific for your working environment (IDE-files) should be defined in your global gitignore, while everything project-specific (object files, build-directory etc.) should be in the project-gitignore.
Elaboration: the number of rules in .gitignore files scale pretty linearly with the number of options you have for tooling. If there are lots of tools that work with your language, your .gitignore template will be big. If there is only one or a few tools, your .gitignore template will be small.
Whether or not "language complexity" correlates with "number of options for tooling" is left as an exercise for the reader. Personally, I think there's an argument to be made for popular languages having more tooling options...
Interesting, though especially for the entries in the list that are frameworks, you could conceivably just bury all of the ugly stuff in a `framework` folder, and have only one ignore.
Visual Studio seems to be moving in this direction: I've noticed a .vs folder and the .suo seems to live in it for now. I guess more and more will be moved into it as time goes on, but considering the .gitignore contains VS6 ignores we'll probably be stuck with the large file forever.
I'm not at all surprised Magento is number 3. I've never seen anything so simultaneously overly- and poorly-engineered.
It's like someone combined the worst parts of 10-year-old Java (XML configurations over conventions, AbstractEntityBeanFactory-style classes) and PHP (no namespace, autoloading override plugins) into one awful mess. Throw in the use of EAV everywhere, and the "schema" is a nightmare to decipher.
Maybe version 2 fixes some of these issues, but Magento 1.x is awful.
Ruby 25 and Rails 23, really? I'd expected the opposite. Looking at them, half of the files makes sense, the other half is really project and dev env dependent and they don't seem to be made for the same environment. Hardly comparable.
If oneloop doesn't like the submissions that have been made, oneloop (who appears to have submitted a total of "2" links in their posting history) should submit more of the kind of things they feel is appropriate.
Sure, if everyone submitted lots of good stuff it would be less likely that we'd see this garbage on the front page. But for me individually to make a difference I would have to come up with insane amounts of stuff myself. I don't have time for that. If I find good stuff sure, I'll share it. But if you're suggesting that I should spend more of my time looking for good stuff around the web for the sole purpose of helping out the quality of an aggregator website, you got another thing coming.