> 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.
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?
"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?"
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.
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.
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.
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).
> 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.
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).
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]
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]
36 comments
[ 3.2 ms ] story [ 98.7 ms ] threadProbably 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.
From what I understand the list of JavaScript libraries is for node.js as it doesn't even include jQuery.
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?
Ruby appeared in 1995.
Also, I don't see that I claimed Rails was a language, but I can see how it can seem I implied that.
I'm thinking my confusion is because, to me anyway, the description seems to suggest one thing while their list suggests something different.
https://docs.google.com/spreadsheet/ccc?key=0Alceaf46X4GPdHh...
However, I have no idea how they chose the projects or arrived at this number. Perhaps they missed all the projects that include jquery via CDN.
I would be interested in more details how they came to that number as I'm somewhat confused by the list I see.
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)
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.
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]
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]
But node.js is neither of these.
Which will lead to what looks like fragmentation, but really isn't.