Using ( ) instead of { ] in part code

Does it really matter if I use ( ) , or { } as a piece of block code
In the last line of each block I multiplied the output before going into tanh , the first example uses { }, the last one ( )

(
{
	var a,b,pitchenv,pitch;
	pitch=[55,55];
	a=EnvGen.ar(Env([0,0.75,0],[0.001,3.500],[0,-20]),doneAction:2);
	pitchenv=EnvGen.ar(Env([0,0.75,0.1],[0.001,1],[0,-50]),doneAction:2)*10;
	b=SinOsc.ar(pitch*(pitchenv));
	{a*b*10}.tanh*0.5////using { }
}.play
)
///
(
{
	var a,b,pitchenv,pitch;
	pitch=[55,55];
	a=EnvGen.ar(Env([0,0.75,0],[0.001,3.500],[0,-20]),doneAction:2);
	pitchenv=EnvGen.ar(Env([0,0.75,0.1],[0.001,1],[0,-50]),doneAction:2)*10;
	b=SinOsc.ar(pitch*(pitchenv));
	(a*b*10).tanh*0.5////using ( )
}.play
)
//

Yes, of course it matters. { } and ( ) mean totally different things.

(1 + 2) * 3

{ 1 + 2 } * 3

The first gives you a number; the second, a BinaryOpFunction.

It happens that functions, when used as UGen inputs, evaluate – SinOsc.ar({ 440 }) is completely meaningless – a sine oscillator needs a real-valued frequency, not some other object. But the oscillator can ask the function what it stands for (see the method asUGenInput belonging to Function) and if the function answers with a number, then it can proceed.

But the fact that this query happens behind the scenes should in no way be taken to mean that it doesn’t matter.

hjh