The meanings of 'Intermediate' and 'Advanced' are vague and context dependent.
The Programmer Competency Matrix has some objective criteria that are language independent. A popular HN discussion of it is here: https://news.ycombinator.com/item?id=4626695
And the matrix itself is here: http://www.starling-software.com/employment/programmer-compe...