Вообще, если бы мне нужен был бы скриптовый (встраиваемый) язык для моего приложения, то я бы не стал париться, и взял бы в качестве такового тупо С++ :-)
Но тут ключевое слово, конечно же, "мне". Чем шире предполагается аудитория, и примитивней задача которую следует решать на встроенном языке, тем язык должен быть проще и дуракоустойчивей. Целиться на сложную задачу и широкую аудиторию одновременно не выйдет.
Язык си, топорный и простой язык, если не использовать всякие if (a = b), захватил умы программистов.
Оберон ещё проще, + устойчив + нацелен на широкую аудиторию. Опять же на нём можно написать, всё. Так как компилируемый и есть указатели. Или модула 2. Системный язык. Уверен если бы он был популярен, на нём писали бы всё. Если уж на си умудряются писать всё, то и на обероне можно.
Ух, какой букет заблуждений!
Ну, для начала - не существует компилируемых и интерпретируемых языков. Нет такого понятия. Существуют компиляторы и интерпретаторы для какого-либо языка.
Язык си простой и топорный.. Ну да, объяви ка мне, пожалуйста, указатель на функцию в Си (ака процедурный тип). И да, он стал столь популярен в том числе и благодаря всяким if (a=b), ибо дюже удобно. Ты считаешь не Си топорным и простым, а некое подмножество Си которое ложится на подмножество Оберона. Это, мягко говоря, не верное представление о языке.
Указателей в Обероне по сути вменяемых нет. То что есть - сильно ограниченное их подмножество. Ну, допустим есть у нас RECORD, и есть у него поле типа INTEGER, получи пожалуйста указатель на это поле.
Вообще говоря, даже возможностей Си (без расширизмов) не хватает на то, чтобы написать на нем действительно ВСЁ. Например обработчик прерываний, в общем сулучае, на нем не написать (для этого используются расширизмы). А уж Оберон... В современном Обероне даже без адских плясок с бубном даже массив размера не известного на этапе компиляции, не завести. Кроме того, Оберон таки подразумевает некий рантайм, в отличие от Си.
Модула-2 была популярной. Весьма популярной. Но... Не взлетело.
Оберон является более низкоуровневым языком нежели Си (хотя прострелить ногу в нем пожалуй сложнее чем в том же Си). Поэтому всё то же что написано на Си, на Обероне написано не будет.
Ну а больше всего Оберону мешает конечно же неполнота его описания в language report'e. Там дикое количество неоднозначностей, из за которых каждая следующая реализация оказывается не совместимой с предыдущей. В результате имеем парадоксальную ситуацию - чем больше реализаций (компиляторов) Оберона появляется, тем хуже от этого языку. Тем больше хаос.