Skip to content

Comment on Functional programming's smugness problem parent

Comments

This is almost the definition of religious differences.

Adherents of religion X will tell you how it changed their life, and it can change yours too, if you just believe hard enough.

When you investigate, find problems or just say "it's not for me", it's "your fault" for doing it wrong, or with a bad attitude, or you didn't talk to the right people, or you'll "grow up" later and 'see the light'.

I disagree - choosing a language is not choosing a placebo. Languages are tools, and need to be chosen appropriately. Often the exact choice will not matter (compare Java/C# or Python/Ruby), but sometimes it will.

"it's not for me" is not a valid excuse, it means you cannot handle the tool. This is your fault. A valid excuse is "it's not for my application domain".

Languages are tools to be used by people, not by identical automatons. "This tool doesn't mesh well with the way I approach this class of problems" is a perfectly valid objection.

In my case it's more often "this language makes tradeoffs that are counter to the way I want to work". E.G. I won't touch C++ with a 10 foot pole because I believe it's the compilers duty to track down and at least warn me about as many errors in my code as possible, and C++ seems to go out of its way to allow you to introduce subtle and hard to find bugs. I've worked in a ton of languages from nearly every paradigm (no logic languages yet) and in each one I've found at least one language that works best for me, or best in a particular problem space. Some of that choice is based on need (must be able to search text easily, must have a strong HTTP framework, must have a nice cross-platform GUI, must have strong matrix math framework, etc.), and some of it is based on preference (prefer strong typing, prefer meta-programming features, prefer garbage collection).

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.