When I'm evaluating a new technology, whether it's a new library, framework, or programming language, I tend to use certain search keywords to help understand it.
First keyword: "vs"
"vs" or "versus" is a good keyword for discovering similar or competing technologies. When we're new to a technology, it's easy to feel lost. What options are available? How does everything work together?
"vs" tends to give two types of results, both of which are useful:
- Similar technologies -- what other options do I have? What trade-offs do they make?
- Confusion about the responsibilities of this technology -- how does this technology work together with other technologies?
For example, I was recently setting up a JavaScript testing framework, after a long time away from the node ecosystem. I knew about Jasmine, but what other options did I have?
After searching I found an excellent post about the various options we have in 2017. From that article, Jest from Facebook looks like an interesting option!
Second keyword: "downsides" / "disadvantages"
Great, so we found a shiny new piece of technology. We go read a bunch of articles about it, and we're sold! Let's use it!
However, articles about new technologies tend to focus on how great everything is -- after all, that's what gets you to read the article! In truth, there's no silver bullet -- technology decisions have trade-offs. We can find some of those trade-offs by googling:
For our example, we find the following eye-opening article talking about lack of documentation and cryptic error messages, as well as doubts about the project's health. None of the tutorials or announcement articles mentioned that! After some more research, we find that these issues have since been fixed by Facebook, so it might be OK to start using it.
Third keyword: "best practices"
"Best practices" is a powerful search phrase. It's easy to start writing code, but it can be hard to predict what issues might arise after a few weeks of coding, or what edge cases we might miss. If we search for best practices we find articles that will make sure we start coding the right way:
I use these search keywords often when dealing with unfamiliar technology. I hope some of these keywords help you!