На Обероне я не прям таки горю желанием писать, но это самый разумный выбор с чего начать (под него проще построить инструмент, народ его быстрее освоит).
У меня есть основания полагать, что Оберон вызовет отторжение.
Поясню на примере. Люди, пишущие на ассемблере никогда не будут обнулять область памяти так:
i:=0;
WHILE i <> Len DO
M[i] := 0;
i:=i+1;
END;
Они всегда будут делать это в таком стиле:
i:=Len;
P:=&M;
WHILE i-- <> 0 DO
*P++ := 0;
END;
И будут не правы :-) Второй вариант будет работать так же, либо медленней на рассматриваемом типе процессоров. Если кто-то знает и умеет программировать на асме под x86 это еще не значит что он умеет программировать под msp430.
А вот
int sum;
int array[256];
for (int i=0; i<len; i++) sum = sum+array[i];
Будет работаеть действительно медленней чем:
int* p = array;
for (int i=0; i<len; i++) sum = sum + *(p++);
Но, повторюсь, конкретно на msp430. И грамотный ассемблерист/микроконтроллерщик это понимает. Поэтому если ему понадобится обнулить область памяти он не будет писать циклы, он напишет memset.
Либо, если компилятор оптимизирующий, то он распознает паттерн и в обоих случаях будет сгенерирован один и тот же код (для любых архитектур будет сгенерирован код оптимальный в обоих случаях).
Здесь нужен только Си-образный язык.
Если использовать Си-образный язык то это тоже кончится плохо (если компилятор не оптимизирующий) :-)