top | item 6768198

We Analyzed 30K GitHub Projects: Top Libraries in Java, JS, Ruby

71 points| rubygnome | 12 years ago |takipiblog.com | reply

33 comments

order
[+] nahname|12 years ago|reply
>TDD is huge in Java and Ruby ...40-50% ...JavaScript’s percentage of projects using a testing framework is considerably lower, coming in at 25%.

I doubt it is even that high. Sadly, many of the JS projects I look at have a tests folder and one test in it that usually amounts to:

equal("tests written", false)

[+] litmus|12 years ago|reply
I think the conclusion for Java is a stretch as well. Some sort of unit testing is probably standard in BigCo, TDD is not (I'm excluding the 'hot' trend-setting BigCos obviously).
[+] byroot|12 years ago|reply
Ruby ones are a bit pointless, rake, jquery-rails, sqlite3, uglifier, sass-rails and coffee-rails are all rails defaults.
[+] ddoolin|12 years ago|reply
It would be more pointless if they were all exactly the same, but they're not. Clearly a good chunk of developers are interested in decoupling Rails from the defaults.
[+] weavie|12 years ago|reply
It seems odd that there are more projects using Rails than Rake. What kind of Rails project would not use Rake?
[+] ajasmin|12 years ago|reply
What about the web and client-side JS?

From what I understand the list of JavaScript libraries is for node.js as it doesn't even include jQuery.

[+] talmand|12 years ago|reply
That is odd.

Grunt on Github: 6852 stars, 740 forks

jQuery on Github: 26,238 stars, 5,563 forks

And yet, "leaning towards those that have been favorited the most by developers". I'm confused on the results of what I think is their selection criteria.

Another thing, Javascript first appeared in early versions in 1995. Ruby on Rails appeared in 2004. But Javascript is still in the early days of it being a language? I wonder if that's in reference to recent growth in popularity and/or usage?

[+] warfangle|12 years ago|reply
> As a result we see 50% more frameworks used in JavaScript than in Ruby and Java in the top 100, echoing that fact it’s still early days for the language.

I think this shows more how flexible Javascript is than that it's still early days (the language is 16 years old, only two years younger than Java). Many different frameworks have very different opinions; some are opinionated and some aren't; many of the libraries available to JS through, e.g., npm and bower are tiny little tools. That's the huge difference between a typical Javascript library and a typical Java library: many of the non-framework libraries included by Javascript projects are extremely small, modular, single-concern interfaces. So of course you'll see what seems like fragmenting.

But it's not, really.

[+] nivstein|12 years ago|reply
While JS is old, node.js, which spans many projects on GitHub, is a relatively new architecture, which has only gained traction in the last couple of years. This stands in comparison to Java, which has a much higher degree of consolidation due to its maturity as a server-side language (this is also true to an extend with Ruby).
[+] jimktrains2|12 years ago|reply
I thought rails used rake, so how is the rake # < rails #?
[+] ddoolin|12 years ago|reply
It can be decoupled.
[+] thekaleb|12 years ago|reply
> Here are The Top 100 Libraries in Java, JS, & Ruby

Probably should've used the serial comma to make it more clear. At first I thought the top project language was Java and the second were projects that used both JS and Ruby together.

[+] tensafefrogs|12 years ago|reply
This seems terribly biased towards more recent projects. Older projects might be used WAY more than the ones on Github, but because they started their lives on some other code hosting service, they will be left out of this evaluation.
[+] rubygnome|12 years ago|reply
The results are biased towards favorited projects because it's a good indication of their perceived importance by the GitHub community.
[+] codegeek|12 years ago|reply
Looks good. no love for python though ?
[+] talmand|12 years ago|reply
Funny, what is described as potential problems for Javascript I see as benefits.
[+] jsvaughan|12 years ago|reply
mockingito?
[+] ajanuary|12 years ago|reply
It's a typo. The complete list linked to at the end has it as "mockito-all"