Pull to refresh

Про использование Turbo / Borland Pascal в школе и институте

Сегодня я заглянул в свой календарь и … оказывается, сейчас идёт 2009 год. Повторю — 2009 год. Да-да, я два раза проверил. :) Однако, не смотря ни на что, в школах и институтах продолжают изучать динозавра из прошлого века – Turbo Pascal. Нет-нет, я против динозавров и Turbo Pascal ничего не имею. Сам в детстве собирал картинки с динозаврами, а за программированием на Turbo Pascal’е провел немало счастливых часов. Но сейчас, повторяю, 2009 год. DOS умер, а вместе с ним корчатся в предсмертных судорогах все DOS-овские программы. Выросли новые замечательные среды программирования – Delphi, Visual Studio и др. Появились новые языки программирования, например C#. Так почему же нам так сложно отказаться от Turbo Pascal’я? Почему школьные учителя так яростно борются за существование смертельно больного, пытаясь вдохнуть жизнь в уже почти разложившийся труп? Наверняка, есть очень веские причины отказа от современных мощных и удобных сред программирования в пользу TP (так для краткости я буду называть Turbo Pascal). Попробуем в них (этих причинах) разобраться.


1. Некоторые совсем юные читатели возможно скажут, что вот, мол, мы выучим TP, закончим школу, институт, устроимся на работу. И тогда эти бесценные знания могут нам пригодиться. Нифига подобного! Я не знаю ни одной фирмы, где бы использовался TP. Я ни разу не видел ни одной вакансии с требованием знания TP. Так что при решении реальных задач TP не используется. Вы не сможете зарабатывать деньги, программируя на TP, кроме как делая лабораторки для таких же несчастных в школах и институтах.

2. Не успел я закончить пункт 1, как слышу дружный хор защитников TP: “Да, в больших системах он не используется. Но зато можно быстро написать небольшие программки для себя. Вот чем TP полезен. Ну что, нечего сказать?”. А сказать мне есть что. На TP пишут свои программки лишь потому, что только TP и изучили. Если бы в школе преподавали C#, то все писали бы на C# и так же яростно защищали этот язык.

Я этого, кстати, вообще не понимаю. Это, наверное, какой-то вид мазохизма. Есть удобные современные среды программирования. Зачем мучиться, писать программу в ужасно неудобном DOS-овском редакторе, использовать устаревший отладчик, да и сам exe-шник написанной Вами программы будет с трудом запускаться под Windows’ом.

Зачем? Кому это надо? Ну, если Вы так «тащитесь» от паскалевского синтаксиса, есть же Delphi! Если Вас так «прёт» от DOS-овских окошек, так можно же писать консольные приложения!

3. Переходим к самому интересному. Есть ещё такое распространенное объяснение. TP изучают в школе / ВУЗе по причине того, что он очень хорош для обучения. Вот это да! Странно получается… реальные программы на TP писать нельзя, но зато для обучения написанию реальных программ – так это лучший язык и лучшая среда программирования! Где-то тут сбой логики. Ладно, допустим (хотя это и не так), что использование begin … end вместо { … } способствует более глубокому усвоению материала и выработке более правильного стиля программирования. Почему тогда не использовать Delphi? В Delphi тот же begin и тот же end. Всё то же самое, только более удобно и гораздо меньше геморроя.

Еще хотелось бы остановится на таком моменте. Почему Turbo Pascal незаслуженно считается лучшим языком / средой программирования для обучения? Хорошая среда разработки – это такая среда, где разработчик максимум внимания уделяет алгоритму и минимум – проблемам, не связанным с алгоритмом. Так вот с этой точки зрения TP – просто ужасная система.

Поставим себя на место новичка, желающего научиться программировать. Давайте опишем наши примерные действия. Сперва задаём вопрос в форум, на чем лучше начать программировать. Нам отвечают – «конечно же, лучше всего для этого подходит паскаль. Самая лучшая система программирования Borland Pascal 7.1». Итак, ищем дистрибутив Borland Pascal 7.1. Кстати сказать, Borland Pascal 7.1 не является бесплатным. Но мы на это внимание не обращаем, так как со школьной скамьи нас учили (и учат) воровать. Поэтому сойдёт и пиратский вариант. Нашли. Скачали. Теперь нужно установить. Вы думаете, запустил setup.exe и готово? Как бы не так! BP (т.е. Borland Pascal) писался под DOS, поэтому так просто, как в Windows, не получится.

Допустим, справились с задачей — установили. Теперь нужно эту программу запустить. Есть два файла turbo.exe (так обычно запускали программу под DOS) и bp.exe (для запуска под Windows). Многие по незнанию запускают turbo.exe и удивляются, почему это Windows виснет или перегружается? После проб и ошибок наконец выясняем, что нужно запускать bp.exe.

Думаете, проблемы закончились? Конечно же нет! Теперь нужно настроить русский язык. А вы как думали? Никто и не говорил, что будет легко. Решений этой проблемы наши изобретательные умы придумали великое множество. Кто-то русский текст пишет в Window’ов редакторе, после чего через буфер обмена копирует в BP. Я предпочитаю ставить эмулятор DOS и в его конфигах прописывать автоматический запуск драйвера keyrus. Кто-то вообще пишет всё латиницей.

Наконец-то можно приступать к изучению языка. Переменные, циклы, массивы, записи. Вроде бы всё наладилось. Программы компилируются, запускаются… до того момента … как мы подключаем стандартный модуль Crt. Тут возникает ошибка 200. Оказывается, разработчики BP не очень рассчитывали, что эта среда доживёт до таких быстрых процессоров, какие у нас сейчас. Опять интернет, мучительные поиски, скачивание патча. Уфф…заработало. Надолго-ли?

Ну вот мы изучили основы. Переходим к изучению более интересных вещей, например, такой необходимой структуры, как динамические массивы. Открываем любой учебник и… офигиваем. Вот как предлагается работать с динамическими массивами в самом правильном и элегантном языке.

Сначала нужно объявить массив, состоящий из одного элемента. Затем переменную – указатель на этот массив. После чего в коде нужно запомнить состояние памяти, просчитать необходимое кол-во памяти, выделить ее, а в конце вернуть память в исходного состояние. Здорово, да? Я всего лишь хотел массив переменной длины. И вместо того, чтобы сосредоточиться на решаемой задачи, я вынужден следить за состоянием памяти. Но это еще не всё! Допустим, я хочу работать с двумерным массивом переменной длины. А такого нельзя! Следует брать одномерный массив, а индексы двумерного массива уж как-нибудь самим пересчитывать.

Можно ещё долго изумляться прелестям Turbo / Borland Pascal’я. Суть ясна. Но ответа на главный вопрос я так и не нашёл. Зачем используют TP / BP в школе и в ВУЗе?
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.