Inter recommended Lack of contract. 5 months ago
Inter recommended Lack of libraries. 5 months ago
Inter recommended Lousy documentation. 5 months ago
Inter recommended Singletons. 5 months ago
Mutation and side effects
Side effects usually make programming harder by decreasing maintainability. Side effects mean that executing a particular block of code changes the environment where the code is...
Static variables - by definition - causes pieces of program state to persist, however this often creates undesirable behavior. Outside of certain very specific situations (for ex...
Base class with many virtual functions
Because they are annoying to deal with and chances are some virtual or non virtual functions depend on non virtual or virtual functions. They are also hard to maintain since libr...
Lack of advanced concurrency facilities
When you need to write concurrent programs it really helps when the languages offers powerful constructs to do so because concurrency can be complex. For example Clojure on the J...
Not knowing the edge cases
Only after you've hit a lot of pain points when using a programming language or framework, can you make strong decisions and move forward fast.
Making promises you can't keep
Static typing in languages makes promises it can't keep. For example, that you can catch programming errors at compile time. In fact, it does such a poor job of that, that we