5 ms·
First off, popularity of a language shouldn't be as important as you seem to make it in starting a project. Finding the right tool for the job should be much mu
by Sanddancer 13y ago
First off, popularity of a language shouldn't be as important as you seem to make it in starting a project. Finding the right tool for the job should be much much more important, new kid in town be damned.
Second off, number of package releases doesn't tell much about maturity of packages, developer involvement, or anything. Ruby's a mature language. It's quite feasible, and arguably desirable, for package releases to slow down in time. Styles have been developed, the urgency for new features to be rolled in Right Now is lessened, and the need for components that doesn't break on upgrades becomes more and more important.
Yes, the novelty is gone. That isn't a bad thing. You know Ruby's strengths and weaknesses, you know how to use it, you know how not to use it. Jumping to a new language just because of all the jibber-jabber is not a practical thing at all.
- Glyptodon 13y agoFor all that, the more popular a language is the more packages are available and the easier it is to avoid reinventing the wheel and save time and effort. Even the wrong tool for the job is a nice choice if someone's already done the work of making a square peg fit a round hole for you.
- davidw 13y ago> the more popular a language is the more packages are available And more people to hire, or to hire you, as well as books, mailing lists and so on. Economists call this "positive network externalities", where the value of something increases with the number of people utilizing it.
- Touche 13y ago> Finding the right tool for the job should be much much more important That's the most overstated claim in programming. LESS is the "right tool for the job" when the job is styling web pages. Ruby is a general purpose programming language, the jobs it is good for is everything not covered by DSLs like LESS, the same as all other general purpose languages.
- spellboots 13y agoNot true. Ruby is great for a lot of stuff, but a very poor choice for e.g. scientific computing (scipy/numpy are a far better choice than the very immature sciruby), and plenty of other use cases where there are other "general purpose languages" that are far more suited to certain problems.
- laureny 13y ago> Ruby is a general purpose programming language I question that. Ruby is very slow, dynamically typed and suffers from scaling challenges because of its multithreading support. I think Ruby is increasingly falling into a niche: prototyping. Get a prototype up and running in a few weeks and once the proof of concept is established, switch to a statically typed language on the JVM.
- spoiler 13y agoI disagree. Ruby was slow (still is), but that trend is changing. More and more effort is put into speeding up and modernising Ruby in general. It might have only begun to mature, but it's definitely getting a there. Rubinius is a lot faster than MRI and has proper multithreading support. There is also JRuby, which runs on JVM.
- dham 13y agoRuby the language is no more slow then Javascript the language is. Yes Javascript on IE8 engine is slow. On V8 it is not. Ruby on MRI is slow(though for most people, it's fast enough). Ruby on JVM is not.
- auxbuss 13y agoNot at all, as the latest web framework benchmarks showed: http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&test=json http://www.techempower.com/benchmarks/#section=data-r8&hw=i7... (see rack-jruby, 86.3%) It's really a question of how and what you run. And yes, the JVM is one of those options.
- mortyseinfeld 13y agoFirst off, popularity of a language shouldn't be as important as you seem to make it in starting a project Very wrong. There are languages that I believe I would be very productive in, but can't justify the time investment because the community is so small that the related tools/libraries/frameworks aren't there.
- hosh 13y agoThat's true if you're considering making something. On the other hand, if you are learning a language or platform in order to expand your capabilities as a thinker and problem solver, then community size is less of a consideration.
- mortyseinfeld 13y agoI'm starting to think that the ROI on "learn Haskell and/or Clojure to expand your horizons" isn't there, even though I hate mainstream/modern OO so those languages would fit my mindset.
- hosh 13y agoMaybe, maybe not. That kind of stuff is harder to quantify. I know just the little bit of Scheme and Haskell has transformed how I think and my thought patterns. I can say the same about learning to play Go (the game, not the language). Now, whether you get anything out of it, that's up to you. It's not really about learning a language that fit your mindset so much as learning a language to change and expand one's mindset. If you expect a language to fit your mindset, then you're unlikely to get anything out of it. In which case, definitely stick with the popular languages with a lot of community support. That has a pretty good ROI too.
- morganherlocker 13y ago> First off, popularity of a language shouldn't be as important as you seem to make it in starting a project. I think there is a minimum threshold to this. I support a large application written in an extremely obscure language (it's basically me and 5 other people on an old yahoo mailing list that make up the entire community). It is terrible. No unit testing frameworks, no http framework for rest calls, no decent UI templating, and on and on. 100% of functionality that I need comes in the form of calls to command line tools. Obviously, Ruby is way past that threshold, so I do not disagree with what you said at all, but just wanted to point out there is a limit. I would not write a new commercial application in any language today that did not already have strong package system. As one person, you can write a few essential modules that you need, but you cannot write all of them.
- Solarsail 13y agoOut of nearly-off-topic-curiosity, does this language have a website(page)? Was it new when you started your project? Have you been able to use libraries from other languages? Or is this really an island of 5 people? (Suddenly that sounds like Gilligan's island for devs)
- morganherlocker 13y agoI would prefer to keep the name out of the comments, just to prevent mud-slinging. That said, it is a proprietary language built for a niche data analysis market. It is basically a BASIC variant that probably came out around 95, and the application I now work with was started around that time. It was probably a great choice at the time, as its lack of extendibility was balanced by its performance and feature list in this particular space (GIS). Unfortunately, GIS has traditionally been a huge pain to develop for. The proprietary libraries really sink their teeth in on licensing and the open source modules are notoriously difficult to get up and running, especially in a server environment. In response to this, I began building an open source javascript library that is nearing 1.0, and I am using it in new production work with great success. I chose javascript (node.js specifically) due mostly to performance with IO (huge in GIS) and its awesome ecosystem around npm. I am finding it much easier to build that one tricky library you need than to get the one tricky library for free and build everything else. http://morganherlocker.com/post/turf http://morganherlocker.com/post/turf As to the 5 people... yep about 5-10, and my company employed a few of them. The rest are academics. The 'bus-factor' was pretty high before we switched off of it.