If you haven't really "groked" the problem how do you know you have solved it? Answer: you don't and can't.
That being said, there is something positive about using the tools you really do understand as long as the mismatch between the tool and the problem is not too large. At the very least, you get something working quickly in a way that you understand and you have learned a lot about "the problem" in the process. Most of the time good enough is really Good Enough TM.
I use a strict subset of ANSI C for my compiled applications. Having used C for over 20 years, it has become second nature to me. As a consequence, I am easily able to solve the kinds of problems I am interested in solving with it. This works partly because I have the luxury of being able to choose my problems. The rest of the explanation is that C is almost a portable assembly language and can do almost as much as assembly language without nearly as much effort.
Perhaps if I were to choose a different set of problems to solve, other tools would be more effective. Since I am not now interested in SAS, Cloud Computing, WEB Applications, Enterprise Services, et.al. C is Good Enough TM for me. YMMV.
That being said, there is something positive about using the tools you really do understand as long as the mismatch between the tool and the problem is not too large. At the very least, you get something working quickly in a way that you understand and you have learned a lot about "the problem" in the process. Most of the time good enough is really Good Enough TM.
I use a strict subset of ANSI C for my compiled applications. Having used C for over 20 years, it has become second nature to me. As a consequence, I am easily able to solve the kinds of problems I am interested in solving with it. This works partly because I have the luxury of being able to choose my problems. The rest of the explanation is that C is almost a portable assembly language and can do almost as much as assembly language without nearly as much effort.
Perhaps if I were to choose a different set of problems to solve, other tools would be more effective. Since I am not now interested in SAS, Cloud Computing, WEB Applications, Enterprise Services, et.al. C is Good Enough TM for me. YMMV.