Hacker News new | ask | show | jobs
by dagw 4020 days ago
The counterargument is that each time you add a new language to a project you add complexity, maintenance overhead and interop. problems. Sometimes a good enough tool is good enough and 'buying' the best tool is too expensive to be worth it.
1 comments

Forcing a tool to do something it was not designed to do adds complexity, maintenance overhead, and is bad engineering.
We're not talking about using a tool for something that it wasn't designed to do, rather using a tool for something it was designed to do, but which might still only be second or third best tool for your particular job.

Calling a Common Lisp function from your Rail project might not be the best solution to your problem all things considered even if the Ruby version of that function is both slower and less elegant than the CL version.

In that case it comes down to economics, specifically: do the benefits of using a second or third best tool outweigh the costs of using a tool that is not the ideal. Or would the benefits conferred by using the best tool outweigh the costs.
> In that case it comes down to economics,

It doesn't come down to it: it was about economics all along. All these philosophies -- polyglot, more monoglot, etc. -- have costs. You can choose to ignore it sometimes by staunchly recommending one approach over another in generic settings. But the underlying costs are still there.

Absolutely! Its economics all along.

Anyone who advocates pure monoglot or always using the best tool is not being pragmatic. Decisions should be driven by cost/benefit and not religion.

Although cost/benefit varies based on who is doing the programming. As someone who hasn't worked in CL, debugging CL is going to take an order of magnitude longer than debugging python.