Assembly languages, and other languages that lack appropriate facilities for abstraction (and what is appropriate depends on the problem at hand), force one to worry about the details of implementation - irrelevant details that could be implemented in any number of ways.