Good communities vs favorite language

We all have our favorite programming language whether its php, python or ruby (and many others). They all have their own technical advantages in certain situations.

However I find myself making software decisions more and more on non-technical grounds. For instance PHP has a strong community and you can get help from just about anywhere. The same follows for many of its projects like wordpress. Its not the most architecturally brilliant php code framework but it does have a reasonable community and excellent documentation for end users and developers.

Python, which I like as a language, has some of the worst examples of community, at least if Freenode irc channel python is anything to go by. It suffers from constant fighting and hyper-egotistical posturing. I cringe inwardly ever time I see it and wonder how often newbies are put off the language for the sheer nastiness there.

However, Django is a nice web framework, written in Python, and with excellent online documentation. In fact many python projects tend to have good documentation.

Ruby on the other hand is a language with great potential but unfortunately has something of an elitist culture. Ruby is most famous for the Rails web framework however Rails is not adequately documented. Nevertheless there are some excellent books available for purchase. (I don’t like buying printed books because they become obsolete so quickly.) If you want to become a proficient Rails developer expect to shell out some money. For this reason Rails seems to thrive in the business culture but not so good for personal projects. I have tried other ways of getting help with Rails, forums and such, but I find that anything other than simple questions tend to remain as unanswered posts. Such a shame I think.

For that reason I prefer python for very technical work. The online documentation has always been very good.

However I am learning to like PHP, not for technical reasons, but for its strong helpful community.

Yup, community support is huge. For example, I’m not stoked like others are about NodeJS, but when I built a project with it (Grunt, Node-Webkit), the community was phenomenal. Every question or problem I ran into had already been asked and answered and was always just a google search away. And every piece of functionality I needed had already been written and was available as an actively maintained module. Those kinds of perks are at least as important as the underlying language itself.

It is important to choose right one since the first time. Nice post to hang on. I really loved it the way of the stuff provided in this article.

Well, it’s never too late to change. But of course if you choose right the first time, you avoid losing time.
What software decisions did you take on non-technical grounds?

Perhaps I should call it a business decision rather than a software decision. For instance choosing a platform because of the existence of a larger community. Choosing to market a product on facebook even though we hate it as a platform is an example.

Another would be choosiong wordpress for small websites because of its good documentation, support and product maturity is another.

There are many decisions we would make differently if the software aspects were the only ones we need to consider. Business wisdom often dictates we make choices that, in the eyes of the software idealists, seem foolish.