

We Analyzed 30K GitHub Projects: Top Libraries in Java, JS, Ruby - rubygnome
http://www.takipiblog.com/2013/11/20/we-analyzed-30000-github-projects-here-are-the-top-100-libraries-in-java-js-and-ruby/

======
nahname
>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
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
Ruby ones are a bit pointless, rake, jquery-rails, sqlite3, uglifier, sass-
rails and coffee-rails are all rails defaults.

~~~
ddoolin
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.

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

~~~
quarterto
Repeat after me: Ruby on Rails is not a language. Ruby on Rails is not a
language. Ruby on Rails is not a language.

Ruby appeared in 1995.

~~~
talmand
Although true, does not alter my point.

Also, I don't see that I claimed Rails was a language, but I can see how it
can seem I implied that.

~~~
quarterto
"Another thing, Ruby first appeared in early versions in 1995. Node.js
appeared in 2009. But Ruby 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?"

~~~
talmand
I'm failing to understand your point.

------
warfangle
> 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
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).

~~~
voidlogic
I'm not being pedantic for its own sake, but I have noticed many people using
terms that have definitions for other things that already have terms defining
them. Esp. the term architecture.

node.js is not an architecture, is a "software platform" for running a
"language" (javascript) server-side.

An examples of a computer architectures are x86, amd64, MIPS, ARM, SPARC,
POWER.

"For example, at a high level, computer architecture may be concerned with how
the central processing unit (CPU) acts and how it uses computer memory."
[[http://en.wikipedia.org/wiki/Computer_architecture](http://en.wikipedia.org/wiki/Computer_architecture)]

Now there also is a software architecture which is the abstract design of a
system: "The word software architecture intuitively denotes the high level
structures of a software system. It can be defined as the set of structures
needed to reason about the software system, which comprise the software
elements, the relations between them, and the properties of both elements and
relations"
[[http://en.wikipedia.org/wiki/Software_architecture](http://en.wikipedia.org/wiki/Software_architecture)]

But node.js is neither of these.

------
jimktrains2
I thought rails used rake, so how is the rake # < rails #?

~~~
ddoolin
It can be decoupled.

~~~
tlunter
That's true, it can be decoupled. But not in the direction leaving Rake with
less percentage than Rails. The authors could've deduped the results where
Rake is being used by Rails, but I'm not sure they did.

------
thekaleb
> 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
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
The results are biased towards favorited projects because it's a good
indication of their perceived importance by the GitHub community.

------
orenbarzilai
What about Python? pypi is a mess...

~~~
kmfrk
Ask the [https://crate.io](https://crate.io) guys/gals to look into it. :)

~~~
orenbarzilai
Thanks for that, seems cool. Never heard of this before.

~~~
kmfrk
Their auth system appears to _still_ be hosed, though, so I don't know how
much attention the project is getting.

------
codegeek
Looks good. no love for python though ?

------
talmand
Funny, what is described as potential problems for Javascript I see as
benefits.

------
jsvaughan
mockingito?

~~~
ajanuary
It's a typo. The complete list linked to at the end has it as "mockito-all"

