6 ms·
JavaScript is the most popular language on GitHub
- futuremint 16y agoI would like to point out that popularity has nothing to do with software quality. I've found the > popularity == < library quality. See Ruby: as it got more popular in the past decade, your chances of any random gem working in a production setup has approached 0.
- tod 16y agoDo you mean a random gem working within a Rails app? That's a bit different, Rails conventions have changed significantly. A random gem might be an old gem that used old conventions, doesn't mean it wasn't quality at the time.
- futuremint 16y agoMaybe I should have said any random combination of gems. Monkey-patching is fine for a small-ish ruby script, but start combining ActiveSupport with some others and you quickly run into weird order-depending loading issues because of the Monkey-patching. I've found namespacing to be the solution and it doesn't really cause me too much friction when coding either.
- FooBarWidget 16y agoIn the past 3 years that I've used Rails I've used tons of gems. I've seen exactly 1 gem in total that was messed up by the presence of ActiveSupport. I'm really wondering where you got the impression from that monkey patching is such a big problem.
- davidw 16y agoNo, it does not equate to quality. However, if your language isn't sufficiently popular, you run the risk of not having many ready-made libraries to utilize.
- drgath 16y agoWow, lots of hate. I guess I'll be the first to say... Nice work JavaScript. Congrats!
- FlemishBeeCycle 16y agoI don't know if JavaScript had much to do with its own success. I would say that JavaScript has succeeded, in spite of itself, due to increasing focus on web applications. Not to imply JavaScript is a "bad" language - I just don't think people are rushing out code in JavaScript because of the language itself, but because the position that it is in.
- drgath 16y agoJavaScript had everything to do with its own success. It was a language written specifically to be run inside the browser. People should rush out to code in any language because of the capabilities of that language. It is silly to focus on minor syntactical differences as the determining factor for a language. I happen to like prototypal languages quite a bit, despite some oddities languages like JS & Io have. Religious wars only pop up when you have a dozen languages/frameworks that can all do the exact same thing, just written with a different syntax, so people come up with superficial reasons to differentiate something. In the grand scheme of web apps, Python == PHP == Ruby. That certainly won't be a popular thing to say, but it is true when you look at the capabilities of each compared to other types of languages and approaches to programming. I choose JS because it is the only language that runs in the browser as well as the server (<--- Killer feature). It is the only one that has that unique capability. If it weren't for JS, you'd be writing Java applets while wanting to shoot your brains out. JS created the position it is in by giving the web a native programming language.
- FlemishBeeCycle 16y ago> I choose JS because it is the only language that runs in the browser as well as the server (<--- Killer feature) That's what I was getting at - that JavaScript is popular because of the position that it is in (not because of the ECMAScript specification). JavaScript could have been a number of languages, the fact that it happened to be JavaScript, is more a result of a externalities than the language itself. JavaScript was originally developed on an incredibly short development cycle, so I would be very surprised if we couldn't create a better language for the browser after 15 years of experience. As far as JS on the server - I don't really see the advantage (other than it's a language that people already know). Having written several Node apps, using a single language didn't strike me as a "killer feature" (especially since their usage is fairly distinct - manipulating the DOM vs manipulating data stores and what have you). Different tools for different problems. I don't see JS as being superior for solving server-side problems.
- JeffJenkins 16y agoSure, but I bet it gets pulled in a lot where projects really aren't JS projects. For example, my python mongoDB library is "25% javascript" but it's all in the generated documentation: https://github.com/jeffjenkins/MongoAlchemy/graphs/languages https://github.com/jeffjenkins/MongoAlchemy/graphs/languages
- baddox 16y agoI have a few Django projects on github, and they're all considered to be js projects solely because of JQuery.
- harpastum 16y agoExactly. The code that I've written for my most recent Sinatra app is almost entirely ruby, but since I include jQuery & jQuery UI in the repo (for easier offline development), it's 91% JS and 9% ruby[1]. [1] https://github.com/SamWarmuth/ClassAxis/graphs/languages https://github.com/SamWarmuth/ClassAxis/graphs/languages
- technoweenie 16y agoFor what it's worth, we try to exclude popular projects (like jQuery, Prototype, or the wysiwyg textareas), as well as other common directories like 'vendor'.
- thraxil 16y agoI think you need to work on this a bit more. It seems that a very large percentage of the web apps I work on, which include a few JavaScript libraries but are primarily written in Perl or Python get classified by Github as "JavaScript". I've created a short list of 15 just from my personal and work repos: https://gist.github.com/734979 https://gist.github.com/734979
- technoweenie 16y agoI added mochikit to our list of exceptions, and now all of your projects are Python, except rollo. Rollo uses a 'highlighter' js lib which still counts as JS. It's one thing to exclude popular libs with names like "MochiKit" or "jQuery". "Highlighter" is a pretty generic name though, and I feel iffy about adding it. FWIW, here's our current list of exceptions: yui tiny_mce ckeditor redbox active_scaffold rico_corner code_highlighter vendor bundle cache assets bookends dojo extjs sencha mochikit prototype(.*)\.js mootools\.js jquery([^.]*)\.js jquery\-\d\.\d\.\d(\.min)?\.js effects\.js controls\.js dragdrop\.js The last 3 are generic names too, but they happen to match common js files in most Rails projects...
- po 16y agoAs other people are saying, this has a lot to do with almost all projects relying somewhat on Javascript. It also has a lot to do with there being very poor ways of managing dependencies in Javascript. For instance, in python there is pip/pypi and in ruby there are gems. Javascript doesn't yet have that. I don't check in all of my dependent libs into my repo. I do check in the Javascript libs though. There is npm (http://npmjs.org/ http://npmjs.org/) but it requires node and for most people, they don't want to bother. They just manually change the name of the file or directory and check in a new version.
- ra 16y agoAgreed. some of my projects are ~50% Javascript, but in fact most of that is jQuery, jQuery UI, canvas.js, json2.js etc.
- partypoopin 16y agoWhatever ended up of JSAN (http://openjsan.org/ http://openjsan.org/)? Is it much the same conclusion as the PHP community where someone built it, and nobody came?
- deleted 16y ago[deleted]
- marcuswestin 16y agoI viewed http://github.com/languages http://github.com/languages a couple of hours ago, and ruby was still at #1. Very cool that js is now on top of the hill! (for the disbelievers: it's really not that hard to fathom, especially considering the recent growth of legitimate JavaScript runtime environments) Keep rocking the boat JS! We need it
- nikcub 16y agoI wonder what the most popular license is. My anecdotal evidence suggests that the beer licenses have become more popular than the GPL licenses, especially for web projects (MIT, BSD etc.)
- InnocentB 16y agoA look at https://github.com/languages https://github.com/languages yields some interesting results. I see VimL there at #10. Is this all just people backing up their personal vim configs, or is there actually anything interesting happening in VimL (seems unlikely)? Maybe a better question: is GitHub just tracking the number of repositories that contain that language to gauge its popularity? That doesn't seem like the best metric.
- wanderr 16y agoHow much of this is skewed by every web product likely having its own copy of a large framework/library such as jQuery?