Я применял прототипирования ещё в те времена, когда основным рабочим компьютером был реальный спек.
Например, в 1996г я разрабатывал (насколько хватило мозгов) "искусственный интеллект" для игры в "Морской бой" которая должна была исполняться на устройстве на базе Z80 без монитора, а только с семисегментным цифровым индикатором.
Первые прототипы писал на Паскале (Turbo Pascal 3.0) под CP/M. Потом переводил на ассемблер Z80, испытывал на своём Спектруме. И только под самый конец - запускал всё это на целевом железе.
Алгоритмы были довольно сложные. Отработка их без тех облегчений, которые даёт Паскаль, заняла бы значительно больше времени или закончилась бы неудачей.
Прототипирование - это всегда хорошо. Например: отрабатывать в рамках программы симуляцию обмена данными по сети, испытывая клиентскую и серверную часть совместно. Или: отлаживать алгоритмы обработки сигналов, численные методы. Разработка и испытание на обычном компьютере программных модулей, которые предназначены для работы в микроконтроллере. Без прототипирования я никогда не смог бы решить некоторые трудные задачи, которые удалось решить с его помощью.
В настоящее время я часто использую для прототипирования среду Matlab, так как там довольно мощный язык и средства визуализации, а также мощный отладчик. Потом перевожу на C или C++. Бывает, делаю исходный вариант на C++, если задача лучше ложится на этот язык.
Общий принцип прототипирования тот, чтобы получить (безошибочно) работающий алгоритм наиболее лёгким способом, в любой среде разработки. А потом уже, закрепив успех, переводить на целевую платформу. И бывает, что не в один этап, а в два и более.
Ещё одно преимущество: при наладке реализации на целевой платформе можно сравнивать результаты работы алгоритмов с прототипом.





Ответить с цитированием