ssXXXss,
К каждой задаче есть свой подход, и нужно реально понимать, что требуется в конкретной ситуации.
Все программисты знают правило оптимизации: выигрываешь время - проигрываешь в памяти. Ну и наоборот.
Если кому-то надо обрабатывать миллиарды (и т.д) строк данных, то он и будет искать и разрабатывать сложные решения (опять же учитывая где нужно выигрывать: в памяти или во времени).
А если данных немного, то и простенький алгоритм написанный "на коленке" за 30 секунд отлично справится. И не надо морочить голову.
Вот как с сортировкой: если нужно отсортировать 3 числа, Вы же не будете использовать QSort или того хуже метод Шелла. тут даже очевидно что квадратичный пузырек решит задачу.
Постер инструмент универсальный, а универсальность требует использовать понятные решения как для пользователей так и для программистов, иначе можно застрять на месте закопавшись в миллиардах мелочей.
Наезд на .Net мне тоже не ясен. Он не обязан решать за вас проблемы такого вида. Если просто брать и 20 ГБ файл пытаться считать ReadAllText - понятное дело он умрет. Для этого и существуют потоки в различных реализациях. (И кстати я готов поспорить, что программа на C# может отработать лучше или не хуже чем скрипт cmd или ps)
Все это сугубо мое личное мнение.