3 ms·
Can someone help me understand how is the polyglot approach to software development different from normal software development?
by aaggarwal 11y ago
Can someone help me understand how is the polyglot approach to software development different from normal software development?
- noir-york 11y agoUsing the right language (and technology say, NoSQL vs SQL) for the job: polyglot shouldn't differ from normal software development - it should be the norm. No one language is the right tool for all tasks.
- dagw 11y agoThe 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.
- noir-york 11y agoForcing a tool to do something it was not designed to do adds complexity, maintenance overhead, and is bad engineering.
- dagw 11y agoWe'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.
- noir-york 11y agoIn 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.
- Dewie3 11y ago> 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.
- noir-york 11y agoAbsolutely! 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.
- afarrell 11y agoAlthough 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.
- deleted 11y ago[deleted]
- dagw 11y agoPolyglot approach involves picking the 'best' language for each micro-task and then trying to get them all to interact and play nicely to each other. The more 'normal' approach is to pick 1-3 languages that are "good enough" at all the necessary tasks.
- aaggarwal 11y agoBut then wouldn't this require a bigger team with vast expertise or a lot of time compared to a more normal approach, and it will only result in marginal performance improvement, which might not be important in most of the regular projects?
- dllthomas 11y ago"Best language for a task" isn't meant to refer to performance of code (except secondarily when the task is highly performance sensitive) but rather the language in which it is easiest to accomplish the task.
- dragonwriter 11y agoIt doesn't require any bigger team if the team are polyglots. It may require a more skilled team (it certainly requires a differently-skilled team.)