Communications of the ACM
Why is the web loosely coupled?: a multi-faceted metric for service design
Proceedings of the 18th international conference on World wide web
Rapid prototyping of active measurement tools
Computer Networks: The International Journal of Computer and Telecommunications Networking
Development and application of a heuristic to assess trends in API documentation
Proceedings of the 30th ACM international conference on Design of communication
Methods towards API usability: a structural analysis of usability problem categories
HCSE'12 Proceedings of the 4th international conference on Human-Centered Software Engineering
Extensibility in ecosystem architectures: an initial study
Proceedings of the 2013 International Workshop on Ecosystem Architectures
Hi-index | 0.02 |
Why changing APIs might become a criminal offense.After more than 25 years as a software engineer, I still findmyself underestimating the time it will take to complete aparticular programming task. Sometimes, the resulting schedule slipis caused by my own shortcomings: as I dig into a problem, I simplydiscover that it is a lot harder than I initially thought, so theproblem takes longer to solvesuch is life as a programmer. Just asoften I know exactly what I want to achieve and how to achieve it,but it still takes far longer than anticipated. When that happens,it is usually because I am struggling with an API that seems to doits level best to throw rocks in my path and make my lifedifficult. What I find telling is that, after 25 years of progressin software engineering, this still happens. Worse, recent APIsimplemented in modern programming languages make the same mistakesas their two-decade-old counterparts written in C. There seems tobe something elusive about API design that, despite many years ofprogress, we have yet to master.