I don't hang out with a lot of programmers and I guess this is the reason. This "laughing" the op alludes to. This endless discussion of what language or back end is the best. I find it impossible to talk about programming with people who would rather indoctrinate me on the benefits of their chosen language than talk about, say, data structures. It's like arguing about what colour is the best. It's pointless.
So big ups to pud for his post and his peculiar stack. In its own way, it's a very cool and imaginative stack. And it works, which I think is the only thing that matters in the end.
Talking about the differences between, say, assembly language and Ruby is very different than arguing about what color is the best. I guarantee that some projects will be successful if written in one of those languages, and not the other (webapp in assembly? bootloader in Ruby?).
Also, in your view, how is talking about data structures any better than talking about languages? Wouldn't that just be "indoctrinating me on the benefits" of your chosen data structure? If the only thing that matters is that the program works, then why does it matter what kind of balanced binary tree is in use behind the scenes, any more than the language matters?
Tools do matter. Maybe you're not interested in incremental improvements in your productivity as a programmer, but those who are will probably spend time talking about their tools (hopefully balanced by spending even more time actually using them).
I don't think you read me right. There's nothing wrong with debating the pros and cons of a language (or whatever else), but there's a difference between discussing and preaching. I'm always open to a nice chat, but I've got little patience for preachers. That's all I'm saying.
It's hard to understand your point if you change it. Of course no one likes preachers or endless discussions or anything else that's clearly bad: that doesn't have a whole lot to do with programming languages though. If that's all you're saying, it doesn't amount to much.
What you actually wrote (and what this article partially argues) is that the only thing that mattered was that it worked, which is a statement people can disagree over. Working isn't a binary switch that flips when you launch, any discussion of the value of something as complex as a piece of software has a lot of different dimensions. After all, bubble sort "works" too, but you'd be a pretty terrible computer scientist if that was as far as you investigated the issue.
Yeah, I think we actually agree. :) I have known preachers, and you're right that there is a big difference between them and engineers that just want to find the best tool for the job.
I think we was just trying to differentiate between advocating a particular technology versus discussing a fundamental idea. Using the examples that other people have given from hobbies and sports, it's like the inclination to discuss gear instead of the activity itself.
Discussing software tools as a programmer is nothing at all like discussing lenses on a camera. As far as I'm aware, there's no lens out there that can increase your productivity as a photographer by tenfold. Choosing Ruby over assembly language for a webapp could _easily_ increase your productivity by tenfold (probably more like a hundredfold).
Obviously not every software tool discussion is as exaggerated as that, but even if you're arguing Django vs Rails, there really are significant differences that could affect your work in dramatic ways (e.g. one framework has a plugin that would take you a week to write, while the other doesn't).
The assembly vs ruby analogy is indeed a stretch, but I get your point. Still, what you're talking about boils down to objective discussion and that's something I really like. My problem is with those folks who, instead of having sane debates, get all religious with their programming language(s) of choice.
I don't hang out with a lot of programmers and I guess this is the reason. This "laughing" the op alludes to.
Actually, what this means is that you shouldn't hang out with douchbags, programmers or not. As I can guarantee you, there are just many non-techie douchbags as there are techie ones.
It's like arguing about what colour is the best. It's pointless.
I have a theory that people act this way because of evolution.
--------------------
Imagine you live in a tribe of 10 people, and there are 5 different ways the entire tribe can use to hunt animals for food. All 10 people must hunt together, and each of the 5 ways are equally successful.
After an animal is killed, the tribe determines who was most responsible for the kill, and he/she gets to pick and eat the tastiest meat before anyone else. Others' still get to eat, but it doesn't taste as good.
If all 10 hunters are equally skilled, each will get tasty meat 10% of the time regardless of the hunting method. But humans are not all equally skilled. Some can throw spears better than others. Some can run fast. Some can sneak up quietly. Some can climb trees. Some can wrestle a wild bore.
So what happens? Before a hunt, if you're a fast runner, you say "Let's chase after an animal!" If you can climb trees, you say "No, let's drive an animal up a tree, and climb up to kill it!" You push for the option which gives you the best chance eating tasty meat, and do everything you can to stop any other hunting methods.
Things get political. Someone says; "Running after animals is too much work! Lets climb trees instead!" You say; "Bullshit! Climbing up trees is for pussies. Real hunters run after their food! Plus, we have to see your nasty balls every time you climb up!" You support your cause, and do everything you can to demonize and discredit other options.
Through politics, arguments and fights, you might be able to sway the majority opinion of your tribe in your favor. "Yeah, I guess I don't really like climbing trees either; I'm sick of seeing that guys balls too. Let's run instead!" Now, your entire tribe runs for food, and being the fastest runner, you get tasty meat more than 10% of the time.
--------------------
So my theory goes, when you see someone arguing about something pointless like Windows is better than Linux, even though both are pretty good, what they're really trying to do is sway the opinion of the entire world in their direction. If every company dropped Linux in support of Windows, there would be a lot of Linux sys-admins and programmers out of work. Sure, they could learn Windows, just like a slow runner could learn how to run fast, but they would be at a disadvantage compared to seasoned Windows admins.
The same thing happens with programming languages and APIs. These can be very volatile, going from extremely popular and hot, to nobody wants to touch them in a few years.
When you see someone arguing about what color is better, they're using the same algorithm, only it's firing on something seemingly trivial. But is is? Perhaps if you convince enough people that red is better than blue, the next Macbook Pro you want to buy will end up red instead of blue. Unlikely, but possible...
I don't see how evolution has anything to do with your theory.
Furthermore I doubt that the motivation behind arguing about 'pointless' topics is to sway the population to your side so that you can benefit.
Unfortunately, however, I do not have an explanation as to why people may argue over such topics though I suspect that it may be related/due to cognitive dissonance. There is a conflict between what they have concluded and what someone else has concluded. This could be for many different reasons such as different needs, different preferences, or different skills, but on the surface someone else has made a different choice for what seems like a similar task.
I wouldn't consider discussing Ruby vs. Python 'fluff', but either way my comment above was about people arguing passionately, not having an intelectual discussion.
So big ups to pud for his post and his peculiar stack. In its own way, it's a very cool and imaginative stack. And it works, which I think is the only thing that matters in the end.