вторник, 16 июля 2013 г.

Right tools

Tools

Spade is OK if you dig the ground all your life laying down tubes, pipes etc... Excavator is excellent thing when you run your own business in highway construction. But if you choose software development field then your tools depend on projects. You can't dig with a spade where you have to build a wall. If the customer requires to paint that wall then that high power excavator can't do that!
But during all of my life I meet people that insist on use of they favorite spades and excavators. And it is so funny to watch someone who prises "Java (or Microsoft.Net) is suitable for any kind of task" OR somebody honoring "C++ is capable for any type of project". Stop for a minute. Think. Research the successful projects. Get experience and don't use your favorite spade for everything. You will see that some project built with PHP are still earn money (www.facebook.com). And Microsoft.Net is not in every hardware platform and OS (Java does it much better). And even Java is not in iOS!

Money

Money comes from clients. Clients almost don't care the tools you use - C++. .Net, PHP, RoR or Java. But you care! For some tool you know the best. Therefore the reason you we (programmers) run our "holy wars" is we ourselves. And these "wars" confuse clients. So I doubt you choose C++ for small dynamic Web site. Or that you choose RoR for operating system utility.

Conclusion

30 years ago programmers use C and Pascal. Internet brought us HTML, JavaScript, Java, PHP and tons of other languages and tools. C++ with STL and later Boost (www.boost.org) inspired thousands of system developers over the world. Therefore: learn the most popular tools (languages and libraries). Do what clients want and earn money. This way programmer stays programmer (but not a "perforated card dinosaur").