Господа, спасибо всем ответившим.
Буду потихоньку разбираться в том софте, который здесь предложен.
P.S. А пока немного о своих впечатлениях о C/C++, которых я всегда - честно признаюсь - немного побаивался и считал их языками чисто для системщиков. Как я говорил, переходил я на них с FreePascal и всегда был сугубо прикладным программистом, больше даже математиком, чем программистом.
Итак, вот самые первые впечатления о C/CPP:
1. У меня создалось впечатление, что все свои Паскалевские программы я могу переписать на C, просто подставляя вместо операторов Паскаля соответствующие им операторы на С.
Обратное в общем и целом неверно!
То есть Паскаль представляет собой этакое малое подмножество языка С. И при этом его операторы просто приближены к английскому языку. Тут особо остро чувствуешь тот факт, что Паскаль был разработан как язык для ОБУЧЕНИЯ программированию. Что тут сказать? Не прибавить, не убавить - так оно и есть!
2. Надо ли прикладному программисту переходить на C/CPP?
Надо!
С этими чудесами я столкнулся за прошедшие 3 месяца изучения С.
Пример.
Мы работаем с очень большим количеством текстовых файлов, содержащих большое количество строк. Десятки тысяч и того, и другого!
Мои коллеги до меня ваяли софт в Borland C++ Builder 6.0 и использовали для работы с именами файлов и с их содержимым объекты TListBox (кстати, это не объект чистого Паскаля - это объект борландовской среды Delphi!)
И тут один наш коллега (гуру в C/C++) нашел время и кое какие программы переделал таким образом:
везде в тексте программы заменил TListBox на <vector> объектов String.
Господа, время работы программ ускорилось в 10 (!!!) раз!
Чудеса! Я ожидал, что будет быстрее, но не думал, что в разы! (Думал, что на 30-40% и не более).
В принципе, понятно, откуда берется эта скорость:
- фирма Borland один раз написала свой объект TListBox (да еще и с закрытым кодом) и более к нему не возвращалась;
- в C++ же и класс vector, и класс String вылизываются бесконечно (до сих пор!): устраняются найденные ошибки, применяется более оптимальный код для реализации полей и методов этих объектов и т.п.
Словом, когда я лицом к лицу столкнулся со всеми этими вещами, еще более зауважал C/C++.