> -- Info21 писал(а):
> А что, разве доказано, что поддерживать должен именно язык с компилятором?Не очевидно.Это всё в духе "в моем любимом языке есть ТАКАЯ штучка!..."
Конечно не очевидно. Но собственно про что спросили, про то и ответили.

На самом деле поддержка некой фичи (например многопоточности) может быть на разных уровнях реализована:
1) Реализация на уровне самого языка, его синтаксиса и семантики (спец. ключевые слова и т.п.).
2) Реализация на уровне стандартной библиотеки языка. Т.е. никаких спец. ключевых слов не используется. Реализовано просто библиотекой. Поскольку стандартная библиотека является неотъемлемой частью спецификации (стандарта) языка, имеем отличную переносимость программ использующих эту Фичу.
3) Реализация в виде сторонней библиотеки (обычно нескольких библиотек) -- в результате имеем зоопарк, разброд и шатание, vendor locking на поставщика конкретной библиотеки и много иных радостей.
4) Фичу в виде библиотеки в рамках языка хорошо реализовать нельзя. Но хочется. В результате реализуют её в виде языкового расширения. Т.е. образуется диалект языка. Это ещё хуже чем (3). Переносимость становится совсем никакая, vendor locking ещё сильнее и т.п.
5) Фича не реализована.

Если говорить о поддержке многопоточности/многозадачности, то в
(1) -- это java, ada, c#, erlang (+ естественно что-то имеется и в стандартной библиотеке).
(2) -- это Modula3, с++0x
где-то между 2 и 3 болтается haskell
(3) -- с, с++98, fortran, pascal, oberon/oberon-2, cp.
(4) -- сюда можно было бы отнести опять же всякие разные форки оберонов, но не буду т.к., как мне кажется, форки оберонов делаются не потому что там (3) неприемлемо, а из чисто исследовательских целей. Промышленной необходимости в форке не наблюдается.