Ответ на неизбежный вопрос
Зачем сей древний, как сами IT, холивар вынесен в заголовок? Затем, что он порождён не проблемами упомянутых языков, или даже различных версий их компиляторов1, кои их верные паладины пытаются сравнивать в ходе сей священной войны. Нет, он является плодом фундаментального свойства человеческой психики – человеку удобно то, к чему он привык. Отсюда – каждый сверчок хвалит свой шесток, а каждый кулик – своё болото.
Целью этой небольшой книжки будет ваше знакомство с обоими славными представителями большой семьи языков программирования. Чтобы вы легко могли переходить с одного на другой, по мере необходимости.
Pascal – это яркий представитель европейской школы программирования, известной своими академической логичностью и педантизмом. А C – это продукт американского делового подхода – как говорит Михаил Задорнов: “Всё, чтобы быстрей до бабок добраться!”
Pascal не превзойдён по удобству обучения на нём программированию – именно так он и задумывался его автором Николаусом Виртом. Ныне широко используются такие, базирующиеся на нём, среды визуального программирования, как Delphi (для Windows) и бесплатный Lazarus (для Windows и Linux).
А американец Деннис Ритчи сделал C, как подручный инструмент для создания операционной системы UNIX. Но его компактный синтаксис так полюбился профессионалам, что они наплодили множество других Си-подобных языков: C++, C#, Java и прочие. Хотя бы поэтому полезно знать C. Например, когда у меня возникла необходимость использовать JavaScript, то проблем с освоением его не было – ведь его синтаксис мне был уже знаком по C.
Вообще, лучше идти в увлекательный мир программирования на двух ногах, а не скакать на одной, вступая в спор о преимуществах левой ноги перед правой и наоборот.
А теперь я расскажу вам – почему эта книжка получилась именно такой?
Имея довольно продолжительный опыт преподавания информатики в колледжах, я накопил ряд приёмов эффективной подачи нового материала моим студентам и пришёл к выводу, что использование определений мало полезно и гораздо лучше использовать, для этого, конкретные примеры, объясняя их разными способами. Поэтому, я беру простую и понятную задачу и привожу алгоритм её решения на русском языке – аналогичный по структуре с программой на Паскале. Затем, этот же фрагмент идёт, собственно, на Паскале и, для пущей наглядности, графически иллюстрируется блок-схемой. Для всех ключевых слов Паскаля я даю русский перевод – для тех студентов, которые не учили английского языка.
Довольно быстро я отбросил идею давать конструкции обоих языков параллельно – это бы только перегружало страницы и сбивало с толку читателей, при первом прочтении книги, и было бы неудобно, при последующих обращениях к ней. Гораздо целесообразней – первоначально изложить основы программирования на идеально подходящем для этого Паскале. Причём, чтобы не отвлекать внимания, я привожу только алгоритм решения, опуская начало и конец программы. Вид программы целиком даётся в последних примерах. Во второй части книги приводятся программы на Си, для тех же примеров. Программы там представлены целиком, поскольку синтаксис Си сложнее, чем синтаксис Паскаля, и не хотелось бы, чтобы читатели, запуская примеры на своих компьютерах, тратили время на удовлетворение претензий компилятора.