Vale> Ок, вопрос первый... насколько вообще имеет смысл заморачиваться с C++ Builder? Vale> Может сразу только Qt? С другой стороны, при аккуратном подходе не должно быть больших проблем при переходе от одной библиотеки к другой. На билдере GUI ваяется быстро... что запросто приводит к тому, что постепенно дописывая народ захламляет работу. А в общем-то без разницы - грамотно написанному ядру пофиг, какое к нему прикрутят междумордие.
Vale> Как лучше организовать работу программы оцифровки данных? Vale> Один вариант - "монолитная" программа с несколькими окнами, другой - программа управления экспериментом и записи данных на жесткий диск пишется в качестве очень компактного модуля, возможно даже и без GUI, запускаемого с высоким приоритетом. Разбей на задачи - отладить их можно как независимые проги ( что даже лучше ) - потом тебе будут готовые юнит-тесты для тестирования бажных мест. А вот потом лучше соберешь это в одну прогу, отправив эту функциональность в нити/потоки - так удобнее будет сделать единый диспетчер управления, не заморачиваясь на межпроцессную синхронизацию ( через тормознутые файлы или через что-либо другое ).
Vale> Интерфейс обеспечивается другой отдельной программой, которая берет даные для отображения, скажем, из разделяемой памяти и отрисовывает их на экране, и занимается вообще взаимодействием с юзером. Заниматься сервер-клиентом стремно, и кажется перебором, работа по сети не требуется. Потребуется скорость - будешь заморачиваться на объекты синхронизации и их именование