In April, I'm going to be giving a talk called **English 2.0 - Understanding the Language of Developers" to a group of English teachers. The purpose is in two hours to give them a quick background in key concepts so that they can better understand developer blogs and podcasts and are able to ask better questions when talking to developers.
What do you think are the most important concepts to understand, concepts that developers take for granted but the general public is not familiar with? Here are a few ideas:
- version control
- abstractions
- pub/sub
- push vs. pull
- debugging
- modularity
- three-tier architecture
- class/object
- "spaghetti code" vs. OOP
- exception throwing
- crowd sourcing
- refactoring
- the cloud
- DRY - don't repeat yourself
- client/server
- unit testing
- designer/developer