Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Java namespaces fall into the latter category, since there is an embedded graph of symbolic coordinates. The existence of Refactoring negates that it can be seen as an accidentally creative act.


Refactoring is somewhat similar to translation, and it similarly does nothing to affect the notion of copyright. A novel is copyright-able even though it can be mechanically translated into a different language.

The fact remains that APIs are creative works. This can also be seen from discussions about APIs in the industry - everyone knows that the Unix APIs are often seen as elegant while the Windows APIs are seen as ugly. The C++ people love the design of their iterators and algorithms and data structures and believe it is superior to Haskell's equivalents.


> everyone knows that the Unix APIs are often seen as elegant while the Windows APIs are seen as ugly

I think people consider the UNIX CLIs ("do one thing and do it well") to be elegant, not UNIX APIs. UNIX APIs have quite massive (and well-known) warts in them.


Sure, there is a lot of nuance - for example, the Unix CLI is very much seen as a kind of API, and appreciated mostly for API-level decisions (pipe-able commands, everything is a file, everything is text), not necessarily so much for CLI-level features (such as variable handling, looping etc.).

Also, some Unix OS APIs are much preferred over Windows alternatives - e.g. many people think fork()/exec() is much more elegant than CreateProcess(), same for pthreads vs the Windows threading model etc.

The bottom line though is that people have opinions about API design, it is clearly seen as a creative process, it is not rote technicality.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: