Programming Tools/Libraries/Frameworks – How to decide which ones to use
Vendors, such as Microsoft and others, attract programmers with tools that “help” them program faster and better. At least that is their aim. My company was an exclusively Microsoft shop. At the time of the refresh of this older post we still use .NET in it’s new Core implementation.
Which tool is right? As you might imagine that is a complicated question. Most of these tools will do the job so how do you decide. Here are some of my criteria.
- Is your problem the same as the primary reason for the tools existence. For instance noSQL is made to manage unstructured data. SQL is made to manage structured data, like your accounting system or many other business applications. Use of noSQL in these instances is putting a round peg into a square hole. Size it correctly and it will fit but not fill the hole.
- Is the tool likely to have many programmers who can work with it over time? I check the many sites that post statistics attempting to rank languages and frameworks as to interest level by programmers. You don’t want to be stuck with a framework or language that only a few hundred people in the world have adopted.
- Many of these tools are “open source”, meaning they are not from a traditional publisher but are presented with licensing that allows there use in a variety of ways. There are several open source licensing models so if looking at an open source tool make sure the license model they use is sufficient for your uses.
- Has the tool already been used extensively in your organization and is it still viable?
These are the primary criteria I have at the moment. Send me a comment if you have others I should think about adding. Or if you disagree with some of my statements let me know.