TinkerPop is all about interoperability. SparkGraphComputer and GiraphGraphComputer have the same "look and feel." This is great as all you need to do is change your reference from Spark to Giraph and BAM, your same code just works.
However, there are times when we need specifics. In 3.1.0 we introduced GraphComputer.configure(String,Object) which allowed for computer-specific configurations (e.g. giraph.zookeeper.ip or spark.memory.shuffleFraction). Just allowing this means your code isn't THAT portable. I think we should take this one step further and allow:
This way, we have a clear API with typing and pre-execution checking! instead of what people would do now:
Likewise for Giraph and its standard configurations.