If POSIX threads are a good thing, perhaps I don't want to know what they're better than.
Procedure names should reflect what they do; function names should reflect what they return
Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
Sockets are the X windows of IO interfaces.
Object-oriented design is the roman numerals of computing.
Why would you have a language that is not theoretically exciting? Because it's very useful.