Come una delle parti colpevoli, aggiungerò il mio valore di 2 ¢. No, non penso sia necessario. Sfortunatamente, in C ++ è più vicino necessario a quasi chiunque desideri - cioè, come dice Bjarne, C ++ è "esperto amichevole". Devi essere a conoscenza di molti più dettagli di quelli che vorrebbero poter usare bene. Sebbene sia probabilmente vero per un certo grado alcuni in quasi tutti i casi, questo è molto meno vero in molti (più?) Altri linguaggi.
L'altro lato è che molte volte le persone si chiedono dettagli relativamente sottili della lingua che, francamente, danneggino poche persone che sanno davvero di testa, quindi quelli di noi che forniscono risposte su di loro spesso devono cercare i dettagli per essere sicuri che abbiamo ragione. Trovo anche che la citazione dallo standard abbia la tendenza a prevenire un sacco di argomenti - anche quando conosco una risposta, verrà spesso messa in discussione (almeno in una certa misura) se dico solo: "ecco come è ". Se si cita lo standard, molte meno persone discutono, quindi può risparmiare tempo e fatica a lungo termine.
In definitiva, penso che conoscere bene lo standard (o gli angoli oscuri della lingua) sia meno importante per programmare di per sé piuttosto che mentorare gli altri sulla lingua - anche nei casi in cui si dice semplicemente "non andare lì! " Riguardo l'unica programmazione alla quale è importante scrivere codice che funzioni effettivamente con la lingua (tokenizing, parsing, analysis, ecc.)