The order of operations (P-E-M-D-A-S) guides the evaluation of this expression.
Parentheses
Exponentiation
Multiplication/Division (L-to-R)
Addition/Subtraction (L-to-R)
There is one additional consideration: a unary minus, like (-3) and (-4), is used to indicate a negative value. The parentheses around the number are necessary for clarity because "unary minus" and "unary plus" are not listed in P-E-M-D-A-S. Without them , we would need to include unary operations in the precedence rules (and computer languages do, of course) because "8 - - 3 * 5 + - 4" is ambiguous.
For this answer, I'll use N3 and N4 to indicate the negative values.
Also note: After each replacement, re-start current scan (could be inside parentheses).
8 - ( - 3) * 5 + ( - 4) [spaces added for clarity]
8 - N3 * 5 + ( - 4) [unary minus; restart scan]
8 - N3 * 5 + N4 [unary minus]
8 - N15 + N4 [M]
23 + N4 [S; note: subtract negative from positive]
19 [A]
Note: Unary minus is how we indicate negative numbers. Thus, more complete precedence rules (for example, for Java programming) put unary minus at a higher precedence than subtraction: see -- http://introcs.cs.princeton.edu/java/11precedence/
Kenneth S.
12/28/16