Dr.House
In Runtime
- Messages
- 151
- Location
- Rx Counter
I don't know anyone who sets out to memorize programming language syntax. The more hands-on experience you gain with a specific language (repetition) combined with in-depth study of the language and it's supporting framework (if applicable) is what causes the syntax to stick in the mind. I can certainly tell you that my employer would not be thrilled with my productivity (nor would the guys on my team) if I didn't have a deep understanding of the language/framework.
Because I am intimately familiar with the technologies I use (C#, .NET, WPF), I understand many of their limitations. As such, I can account for those shortcomings early on in my design. On the flipside, I also know what works well, and I can exploit that in my designs. Simply reading a few docs on MSDN is not going to give me that information. It takes quite a bit of time (on the order of months and years) to absorb the vast amount of information available in books and everywhere else. Plus, new versions of the technologies, languages, frameworks, and tools are being released regularly.
That's easy to do. There are many different ways to solve the same problem with a particular language, but which way is the right way? Do other parts of the system constrain me from using the "optimal" approach? Should I use an imperative style? Should I use a functional style? Should I use lambda expressions? Should I use eager or deferred execution? Is the problem I'm solving a special case that should be handled by my language in a non-traditional way? Is my solution easy for other programmers to understand and maintain? Does my solution follow the best practices for my chosen language?
Don't get me wrong, algorithm design is important and learning how to program is more important than learning language syntax. However, as I alluded to in my previous post, nothing is purely black and white in practice.
I will agree with this guy, its not all about syntax and memorization. It's about understanding how to program properly!
Why is this such a mystery to you people!
Computer Science college programs fail again, such a disappointment.