всё что можно, делать через pipeline, но НЕ через dll
pipeline и dll суть разные приемы.
Концепция pipeline предполагает, что вместо того, чтобы включать в каждую программу поддержку максимального функционала (в ущерб надежности и размеру), следует создавать много узкофункциональных программ, способных обмениваться данными через потоки.
Концепция dll (в широком смысле) направлена на то, чтобы облегчить модернизацию модулей API, используемых несколькими программами и сократить их (программ) размер.
Поэтому формулировка "но НЕ через" не канает. Это все равно, что сказать: "у меня нет молотка, поэтому гвозди я забиваю ручкой отвертки". Кроме того, и "отвертки" и "молотки" в Юниксе есть. В достатке. Там вот с "барабанными палочками" послабее.
ВадимП писал(а):А что, в Unix'е есть dll?

Были, есть и будут есть

. В буквальном смысле - во времена формата aout. В концептуальном - есть и ныне: elf-овские shared objects. Наверное, остались еще какие-то проприетарные Unix-favors, где нет поддержки динамической загрузки библиотек, но на вскидку таких не вспомню. Вот может пресловутый СКО?