SOQL Lib Critique
SOQL Lib is More Complex Than Traditional SOQL​
aka "I have to learn a new syntax"
Use SOQL Evaluator​
SOQL Lib has 3 different modules: SOQL, SOQL Cache, and SOQL Evaluator. SOQL Evaluator was created for developers who don't want to learn a new syntax but still want to benefit from features like mocking and result functions. You can use this module without switching to an entirely new syntax.
Set<Id> accountIds = SOQLEvaluator.of([SELECT Id FROM Account]).toIds();
List<String> accountNames = SOQLEvaluator.of([SELECT Id, Name FROM Account]).toValuesOf(Account.Name);
It's Not That Complicated​
Documentation​
SOQL Lib provides comprehensive online documentation with the playground and numerous examples. You can also use the search feature in the top-right corner to find what you're looking for. The Fluent API was designed to stay as close to traditional SOQL syntax as possible. However, due to Apex's Identifier name is reserved restriction, some keywords like select, where, and limit couldn't be used.
Interfaces​
"Do I need to go to the documentation and spend a lot of time searching for what I need?"
No. At the top of SOQL.cls, we've placed all the interfaces you can interact with. Even as the author, I don't remember all the methods. However, I can quickly navigate to SOQL.cls and identify what I need in seconds. Everything important is at the top—you don't have to scroll through the entire class searching for methods. Just focus on the interfaces.
Use AI​
A simple prompt in your IDE integrated with AI can be very helpful: "Based on SOQL.cls and SOQL_Test.cls, understand how SOQL Lib works. Write an inline query that returns all accounts with Employee Number greater than 100." Voilà ! That's it. You don't need to read documentation or check interfaces manually.