J versus T

In FDL there are two procedures that can be used to add a job to a flow: T and J. Which one should you use?

The difference between J and T is that J evaluates the capsule for the tool while T does not. If the tool you are adding to the flow has no capsule, there is no difference between J and T. On the other hand, if a capsule is available, J will give you a more compact flow description. Even with a capsule, you may want to consider using T, with some explicit I's and O's in order to build the flow more quickly.

Procedure Advantages Disadvantages
J (with capsule evaluation) More compact flow description.

Same as T if there is no capsule.

Requires a capsule to be effective.

Capsule evaluation may be slow.

T (no evaluation of capsule) Faster evaluation. Must declare explicit I's and O's dependencies to avoid false job executions.
For example, consider the tool cp which has a capsule ($VOVDIR/tcl/vtcl/capsules/vov_cp.tcl). The two following flow descriptions are equivalent:
# This uses the capsule vov_cp.tcl
J vw cp aa bb

# This instead does not use the capsule.
T vw cp aa bb
I aa
O bb