10 Terms You Should Know

Appropos of nothing, I’d like to make a very brief post of a list of terms, with links to where you can read more about them. These terms describe concepts that, when understood, I believe can help make you sharper in the way you approach things as a programmer. I don’t mean that learning them will immediately boost your productivity or solve any specific problem that you have, but I do feel that they may give you new ideas for designs or methods for reasoning about your code. So give them a read or at least a glance to brush up or learn something new.

(This list is by no means an attempt to be comprehensive, and please feel free to suggest others in the comments)

  1. Leaky Abstractions
  2. RESTful Architecture
  3. Lambda Expressions
  4. Aspect Oriented Programming (AOP)
  5. Duck Typing
  6. Command Query Responsibility Segregation (CQRS)
  7. NoSQL
  8. Early and Late Binding
  9. Immutability
  10. Cache Coherence

Hopefully there’s at least one relatively new concept in here that you can let percolate in your brain for a while. And who knows, perhaps it will help you consider an alternate solution to some problem you face in the future.

Cheers!

Twitter Linkedin Digg Reddit Stumbleupon Tumblr Email

  • http://twitter.com/AlexTatiyants Alex Tatiyants

    Great list, I’d also add Anemic Domain Model (http://martinfowler.com/bliki/AnemicDomainModel.html).

  • Jordan Whiteley

    Heads up: Early and late binding links to the same place as immutability.

  • http://www.daedtech.com/blog Erik Dietrich

    Definitely a good one to know. I think there’s a good cross section of devs that think forms over data is all that exists.

  • http://www.daedtech.com/blog Erik Dietrich

    Thanks — fixed it. Copy and paste fail (how embarrassing).

  • Pingback: The Daily Six Pack: February 5, 2013 | Dirk Strauss