| > but I'd say that just comes down to what language you're most comfortable with and how good of a problem solver you are. Techniques and concepts influence your ability to reason about problems. If you don't understand dictionaries (hashes), or trees, or macros, or reflection, or first class functions etc, then you will think about a problem very differently. If you understand the concepts then you can usually get away with not having those features readily available in your language. For example if your language doesn't have strong macro support you can get away with using code-gen instead. Likewise if your language doesn't have built in dictionary support, you can get away with rolling your own, or finding a library that adds it. Or if your language doesn't support first class functions you can often get away with patterns like the command pattern instead. But if you don't understand the concepts then your ability to think about the problem becomes much more limited. |