En algunos lenguajes de programación famosos, el signo menos se considera un operador prefijo unario, que tiene mayor prioridad de evaluación que otras operaciones aritméticas, como podría ser un producto o una suma.
Así que, una operación como -3*x no se lee como en matemática ( - (3.x) ), sino más bien: (-3) . x.
Pero no es que una forma esté bien y la otra forma esté mal.
En cada contexto hay que conocer las reglas de trabajo, y adaptarlas o traducirlas de un contexto al otro.
Esto quiere decir que si en un texto de matemática tengo escrito \( - 3 x \),
tengo que pasarlo al lenguaje de programación como: - (3 * x) ,
si quiero respetar el significado original.
Y si en un código de ese lenguaje de programación veo que dice: - 3 * x,
tengo que escribir matemáticamente su forma equivalente que es: \( (-3) x \).
En el lenguaje C, por ejemplo, el signo menos se "pega" al 3, y luego se multiplica.
A fin de cuentas, esta sutil diferencia no tiene efectos, debido a las reglas de los signos,
ya que después de todo, da lo mismo \( (-3)x \) que \( - (3x) \).
Así que a efectos prácticos, la sintaxis elegidas en C no es un gran problema.
Sin embargo C no tiene una operación de potencia.
Aquellos lenguajes que utilizan una operación de potencia,
posiblemente tengan también otras reglas para decir cuál es el orden de prioridad en que se evalúan las operaciones,
para lo cual hay que leer el manual de dicho lenguaje.