у меня есть знакомый паскальщик/дельфист. тоже сколько не уламывал его перейти на другой язык - не хочет (или не может...) лично у меня вообще никаких проблем не вызывает переход к другим синтаксисам. Да, после паскаля понятие методов является новым в сиобразном языке и это, наверное, наибольшее потрясение. там, где у паскаля было:
writeln("");
у того же шарпа:
Console.WriteLine("");
при чем, еще регистр имеет значение.
Ну да к этому быстро привыкаешь. Синтаксис надо же понимать не как: "нас заставили писать фигурные скобки, вот мы их и пишем", а как операторные скобки, чтобы компилятор знал, где у вас тело цикла/условия/функции, а где основной код. и тогда уже пофиг, что у вас является операторной скобкой - бегин+энд, фигурные скобки, или отступы.
И, да, конечно, важная штука - библиотеки. я когда переходил с паскаля на шарп, сталкивался с прикольными конфузами. К примеру, была у меня задача - получить из стринга с пробелами первые символы, которые идут сразу после пробела. Ну что бы сделал нормальный паскальщик? думаю, у нормального была бы своя библиотека для парсинга строк, у меня же ее не было, так что я быстро набросал циклик, в котором проверял каждый итый элемент стринга и если он пробел, то брал и+1 элемент, ложил его в массив (так как в стринг, как в дельфи писать нельзя, он только на чтение доступен(видимо, потому, что операции не со стрингом самим проходят, а со ссылкой на стринг)). Потом я увидел, как другие сделали эту задачу. Оказывается, есть такая замечательная функция, как сплит. Которая позволяет в стринговый массив накрошить строку в месте определенного символа:
stringArray = string.Split(' ');
После этой одной строки мы получили массив слов вместо строки. к элементам массива мы можем обращаться напрямую, в отличии от строки:
Console.WriteLine(stringArray[0].Substring(0, 1).ToUpper()+","+stringArray[1].Substring(0, 1).ToUpper());
Ну и таких примеров много, к ним нужно привыкнуть. Да, нормальный человек, который привык к грамотному письму на паскале (или асме) будет возмущен, мол, как так, эта функция может быть неоптимально написана, а если и написана оптимально, то она может быть неоптимальной именно в моем коде, так как я бы в том же цикле выполнил еще 100500 задач со строкой, а вместо этого теперь будут плодиться циклы.
Вполне здравое рассуждение, но реально на производительности софта это не скажется в 99% случаев. А в оставшемся одном - всегда можно делать асмовые вставки в код. на рынке востребован не столько оптимизированный код в плане быстродействия и ресурсоемкости, сколько дешевый, быстропишущийся код. Посему старые языки и востребованы сейчас только у очень узкоспециализированных разработчиков, типа пейсателей драйверов для устройств, или разработчиков ядер ОСей. Ну и у ФФФ, как всегда (Френд, Фан, Фул).