Hacker News new | ask | show | jobs
by vlasta2 4714 days ago
I have a problem with the word reusable. A reusable software should be a component in a larger solution. Not a complete solution itself.

If I accept that Stack Overflow or Discourse are reusable, because you can run them on different urls with different graphics, topic, moderators and users, then every application, for example Photoshop, is reusable in the same way, because multiple people use it to perform multiple tasks with images.

What you do with Discourse is good engineering, but there is nothing special about it. Every serious CMS, like WordPress or Drupal must inevitably be usable more than once.

2 comments

Of course a piece of software that you intend to distribute to others must be reusable - that's the whole point. However, there are plenty of software systems that are one-offs. In the case of Stack Overflow, they wanted to see if the overall solution (which is much more than just the underlying code) would be good for different types of users or whether they had built a one-off.

With Discourse they are setting out from the beginning to make a reusable piece of software but that doesn't mean they are guaranteed to do so. Hence the extended development time before they offer it more widely.

Right, I think reusable components (at least in web dev) are the libraries/frameworks that come out of creating a project.

Example: DHH built Basecamp and pulled Rails out of it. He (and now many others) used Rails to create web apps.