Хм, если мыслить глобально, то можно сказать, что фреймворк в сравнении с языком программирования это просто сущность более высокого уровня.
Например взять к примеру Машинный язык, по сути почти все языки программирования в конечном итоге работают с ним. То есть все языки программирования можно назвать фреймворками если мыслить глобально.
JS например является своего рода машинным кодом для браузеров, а jq фреймворком, который строится на базе JS. Но по сути jq полностью может заменить js. Также как и C может заменить Assebler теряя в производительность.
Отсюда можно заключить, что разницей между фреймворком и языком программирования является отсутствием у первого процессов транслирвоания (ну и других процессов, зависит от языка программирования). Как я это понимаю, хотя может понимаю и неверно :)