title: Can interfaces be designed completely without thinking about implementations?
body: <p>Can interfaces be designed completely without thinking about implementations?</p>
  
  <p>For example, on the job I was told to design an interface. But then I found
  out the interface depends on implementation details. They kept telling me
  you can design the interface completely without thinking about implementation,
  but I argued against that. It is like creating an interface for a rocket,
  and you add a function for the rocket to fly to Mars. It does not make
  sense to add that function without thinking if you can actually do that, fly to Mars!
  So I would argue, interface design is not completely independent on implementation details.</p>