![]() I had to use IntelliJ for a summer job and it did not impress me in the least. ![]() I just want to point out that our tools do influence the way we think, and to a much higher degree that we usually like to admit. Now I don't claim that Java, or Eclipse, or whatever don't have limits. So my boss at the time had a much more rigid notion of OO and coding in general, and I do claim that he wasn't using C++ at its full capacity (as far as a flexible, modular design is concerned), and had a much more procedural approach which didn't do the product much good in the end. I realized that this is something you simply can't do so easily in C++ and Emacs (made me kind of sad actually). While I was used to having powerful refactoring tools at my hands I would start designing an architecture and then gradually refining it, sometimes making large changes to dozens of classes with a single click, even if a large body of code was affected. I call this "tool block", perhaps there's a better, more psychological term for it. It then came to my mind that the tools we use somehow limit our perception what we can and want to do we get so used to the limits of our tools that we don't even notice them as limits, and we work around them pretending all is fine. In Java and Eclipse or IntelliJ the suggested changes would have taken a few refactoring operations, with almost guaranteed success. ![]() He was also set against unit tests, so he had no reliable way of testing whether the changes would have worked or not. After much discussion I gradually found out why he was so reluctant to do this he somehow dreaded the amount of work it would take him to implement this change. I recognized this when I suggested some change to his object-oriented design, some changes in the class hierarchy, factoring out interfaces, or whatever. And while I had to recognize that Emacs was a powerful tool for C++ development, I wasn't particularly impressed with the way he did his development in general. I once worked for a man who used Emacs for C++ development, while I at the time had worked mainly with IDEs (Delphi and Java). ![]()
0 Comments
Leave a Reply. |