06 декабря 2012

Компилятор языка Pascal. Мурр-р-рр-р....

Тема, крайне приятная для меня, но кроме меня, полагаю, мало кого заинтересующая. За всем тем буду очень рада любым комментариям. В институте нам наконец-то начали давать задания по программированию, обожаю это занятие. Учат нас на Pascal-е. Должна признаться, что в своём будущем я место для Pascal-я не вижу. Это язык, удобный для изучения приёмов программирования, но не для написания реальных программ. Я бы предпочла гибкость обработки данных С++, скорость разработки Python-а и наглядность ДРАКОНа. Три вершины треугольника, способные сплетаться между собой. Pascal же явно в стороне, не вписывается. Но он входит в очень маленький перечень языков, которые можно использовать на ЕГЭ, на нём нас учат, и его основы я уже и так прекрасно знаю. Ранее для программирования я использовала Delphi 7, но с крякнутого софта я ушла. Так что нужна замена, нужен компилятор языка Pascal. Традиционно делаю обзор претендентов.


Virtual Pascal v2.1 — Получить последнюю версию с оф.сайта не получилось, какие-то глюки, скачала через сторонний ресурс. Когда-то я краешком глаза видела Turbo Pascal, внешне Virtual Pascal очень на него похож. Многоцветный синтаксис, отладчик и куча всего. Мои файлы, созданные в Delphi (как консольные приложения), открыть не смог. Программа работает под Windows и OS/2, ограниченная поддержка Linux. Непривычные для пользователя Windows сочетания горячих клавиш (к примеру, для копирования Crtl+Ins вместо Ctrl+C), перенастроить вроде бы нельзя. Невозможно так просто скопировать код из окна редактора в Блокнот или в обратном направлении. Заархивированный установочный архив, единый для всех трёх платформ, занимает на диске 13Мб. Огорчает маленький размер окна, который увеличить не получилось. Возможно, есть какой-нибудь пунктик в глубине настроек, но я не нашла. Хорошая замена уже давно не продающемуся, но охраняемому проприетарной лицензией Turbo Pascal 7.1.

Free Pascal v2.6.0 (полное название Free Pascal Compiler, часто сокращаемое до FPC). Существует для множества платформ. Установочный файл весит 39 Мб. Похож на Virtual Pascal, такое же внешнее оформление, непривычные сочетания клавиш, отсутствие возможности напрямую скопировать код в Блокнот, подстветка синтаксиса, наличие отладчика и ограничение размеров окна. Но понравился больше.
P.S. Умеет выводить в консольное окно символы кириллицы без из дополнительного преобразования.

MSEide+MSEgui (судя по сайту, v2.8.2 with fpc 2.6.)- для инсталляции необходимо предварительное наличие FreePascal или ещё чего-то. Всё установила, но как этим пользоваться, не поняла. MSEi18n представляет что-то скромно-непонятное, на скриншот из Википедии совершенно не похоже, файлы .pas открыть не может. А куда вводить в код? Что это вообще такое? А MSEide ("редактора форм и исходных текстов") вообще не запускается. Одним словом, обычное поведение кроссплатформенного приложения. Закоренелым форточникам, не обладающим профессиональной подготовкой, даже не смотреть.
P.S. О положительных же качествах программы можно прочесть ниже в комментариях. Ой, ну и досталось же мне за него. :)

Lazarus v1.0.2 — Кроссплатформенная среда быстрой разработки на языке Pascal, аналог Delphi. И аналог достойный. Запустил все мои тестовые консольные приложения, созданные в Delphi 7. Но с теми, которые имеют графический интерфейс, начались сложности. Есть встроенный преобразователь проектов Delphi в проекты Lazarus, но как показали мои эксперименты, работает с ошибками, после него необходимо идти по всему коду ручками и исправлять нестыковки. Есть множество языков интерфейса, включая русский и украинский. Установочный файл весит 109 Мб, но такой объём полностью оправдан, Delphi 7 занимает места несоизмеримо больше. Очевидная обратная сторона мощи - приложением так просто с ходу не овладеть. И встроенной справочной системы нема, только в Интернете. Не понравилось, что даже создание простейшего консольного приложения Lazarus начинает с автогенерации кучи кода. Этот код легко можно удалить, или, предположу, возможно заменить его каким-нибудь шаблоном, но всё равно образуется ощущение тяжести. И компилирует медленно. Т.е. это профессиональное средство разработки серьёзных вещей со всеми вытекающими отсюда плюсами и минусами.

PascalABC.NET v1.8 - российская обучающая программа по Pascal-ю. Имеется, цитирую, «возможность менять язык интерфейса "на лету", легкая возможность добавления новых языков интерфейса». Вот только язык всего один. :) Русский. Мне очень обидно, я предпочитаю английский. Черкнула в гостевую книгу разработчиков. Идём далее. Можно переносить участки кода из данного редактора в Блокнот простым копированием, что мне требуется для учёбы и не хватало в некоторых других программах. Быстрой вставки стандартных конструкций языка нет, т.е. набирать реальные программы в нём будет неудобно. Подстветска синтаксиса минимальна, настроить нельзя, но имеется. Большое количество справочной информации по языку и учебных заданий. Т.е. хорошее приложение для учебных целей, вот если бы еще поддержка английского языка была... Ради любопытства я установила в одной из виртуальных ОС версию 1.8, а в другой - предыдущую версию 1.7. Внешних функциональных отличий - никаких. Только более старая работает на .NET Framework 2.0, а самая современная адаптирована под использование .NET Framework 4.0, что должно звучать более круто. Почитала, какие в последнее время были внесены коррекции - изменений много, куча всего исправлено. Но как поняла, исправляются в основном дефекты, появившиеся именно после первоначального перехода с версии 1.7 на 1.8. Несмотря на всю свою простоту, приложение слегка притормаживает - полагаю, именно из-за Framework-а. В составе программы множество обучающего материала (именно обучающего, а не мануалы для матёрых программистов), примеров и задач для самостоятельного решения.
P.S. И ещё одно важное преимущество PascalABC - он умеет напрямую выводить на экран знаки кириллицы без каких-либо дополнительных преобразований кодировки. Редкое качество. При копирование кода из данного компилятора в текстовый процессор сохраняется его внешнее оформление, т.е. цвета, шрифт и жирность, удобно. Очень полезная функция форматирования кода, крайне полезна, когда нужно изучить чужую программу. Маленький минус: PascalABC не позволяет моей программе управления дисплеем делать окна полупрозрачными, т.к. забирает себе какие-то системные ресурсы.

Geany 1.22 - кроссплатформенный, поддерживающий множество языков программирования. Как я поняла, не включает в себя компиляторы, вместо этого использует внешние. Инсталляционный файл занимает всего 8 Мб. Связываться с таким страшно. Но всё же посмотрела. Надо же, установилось. И даже запустила на нём несколько своих старых консольных приложений. (Предполагаю, Geany использует какой-то из компиляторов, установленных с одной из предыдущих программ.) С графическим интерфейсом не запустились, но это, полагаю, из-за моей недостаточной квалификации. Удивительно, но похоже, что это вполне нормальное приложение. Но всё равно работать с ним по-серьёзному не хочется.

TMT Pascal Lite v.3.90 - программа, в которой написан Hexposure. Ах, прекрасные воспоминания о ромхакинге...:) Есть повод поностальгировать и улыбнуться. Что могу сказать о самой программе? Понравилась! Просто и понятно. Подсветка синтаксиса кода, в т.ч. можно выбрать один из нескольких вариантов и что-то в нём подправить. Лично мне нравятся схемы 'Classic' и 'Twilight'. Шаблоны кода, чтобы не приходилось десятки раз пропечатывать одни и те же конструкции. Программа не требует инсталляции, а в заархивированном виде занимает всего 2,4 Мб места. Есть внятная справка. Из заметных минусов. Программа, как поняла, накладывает ограничение на длину названий файлов. И нет отладчика. Однако на курсах по JavaScript-у меня научили обходиться и без него. При копировании информации в Блокнот русские символы превращаются в абра-кадабру, но я уже неплохо владею английским.


Упомяну ещё о двух штуках:
GNU Pascal — компилятор языка Pascal, реализованный «в виде фронтенда к GCC (Gnu Compiler Collection), но не являющийся его частью.» На Windows его так просто не установишь.

Amsterdam Compiler Kit - «межплатформенный набор компиляторов и инструментов» (включает Pascal и С)  - так просто не установить.



=======================
Вывод: из рассмотренных мною бесплатных компиляторов языка Pascal для написания серьёзных приложений лучше всего подходит Lazarus. Или
MSEide+MSEgui, если хватит опыта в нём разобраться (см. комментарии). Для маленьких консольных программ - TMT Pascal. Для обучения языку - PascalABC.NET и TMT Pascal. Написание серьёзных приложений на Pascal-е в мои планы не входит - нужно лишь сдать ЕГЭ, а затем можно углубиться в упомянутую в начале статьи тройку. Так что Lazarus отклоняется, слишком много отвлекающих элементов и медленная компиляция. Осталось выбрать между PascalABC и TMT Pascal. Сделать однозначный выбор сложно. Для обучения вроде бы как больше подходит PascalABC, хотя бы из-за огромного количества легкопонятного справочного материала, заданий и примеров. Но интерфейс только русской, что нарушает концепцию моей ОС. Нет возможности вставлять шаблоны кода, что крайне замедляет написание программ. Да ещё требует .NET Framework4.0. (Для справки: не утверждаю, я не эксперт, но как поняла, версия .NET Framework 3.0 во многом появилась ради поддержки Vist-ы, 3.5 - семёрки, а версия 4.5 уже несовместима с XP). В то же время TMT Pascal - штука миниатюрная, инсталлировать не надо, спокойно довольствуется своей папкой, т.е. после удаления гарантированно не оставит в системе мусора и обрубленных концов.  Но уж слишком хорош PascalABC именно для подготовки к ЕГЭ. Да и умение выводить русскоязычные надписи. У каждой из программ свои очевидные плюсы, и обе программы просты для освоения. Поэтому я в результате решила установить их у себя обе - для разных целей. PascalABC - для обучения приёмам, TMT Pascal - для написания реальных небольших программ. Но поскольку на моём компьютере уже стоит .NET FrameWork 2.0, а утяжелять его 4-ой версией я не хочу, то PascalABC выбрала чуть более старой версии (1.7). Установила в комплектации, близкой к минимальной, даже отказалась от документации по .NET 2.0.

16 комментариев:

  1. Хех, когда-то я тоже интересовался разными паскалями, правда поста об этом не писал. Начинал с обычного Borland Pascal 7.0 (улучшенная версия TurboPascal'а), потом был Delphi 5/6/7, потом FPC 1.*/2.* и больше вроде ничем таким не пользовался.

    Про будущее паскаля мне кажется все так думают, глядя на tp7/delphi5 так любимые нашей системой образования и писателями на заказ всяких мелких программок по работе с базами данных. Конечно, у инструментов двадцати и десяти летней давности не много будущего, всё равно что у компилятора Си89 (вспомнил, т. к. M$ Visual C++ только он есть и плюсы, более новых сей нет и это иногда создаёт проблемы). Если взять новую версию компилятора и языка, тот же FPC2, то можно много интересных штук делать под всякие разные платформы.

    Lazarus мне показался просто оболочкой для FPC + набор своих каких-то классов интерфейса, что бы прогать "как в делфи". Мне оно было особо не надо, так что подробней не смотрел, а вот чистый FPC я пользовал в студенчестве. Там добротная документация (набор книжек про компилятор/библиотеки и т п), а сочетания клавиш на самом деле как во всех старых старых программах - во времена DOS именно такие сочетания считались стандартными, а контрол+буква использовались(и до сих пор используются в консоли) для ввода тех или иных спецсимволов и редактирования текста. Буфера обмена в терминале не было, так что программы сами реализовывали его если требовалось.

    Некоторые другие программы я тоже ставил, но только на посмотреть и как-то они не прижились. Большая часть их казалась слишком специализированными или старыми, в то время как FPC активно развивался и был универсален.

    Geany это вообще по-сути блокнотик с зачатками среды программирования. Я пользуюсь им последние несколько лет. Нашёл случайно - искал замену Notepad++ для Linux, но подсел тогда и поставил даже в Windows на работе. Использую правда именно как блокнот с подсветкой синтаксиса.

    Кстати о копировании текста - что за проблема-то? Ты же можешь открыть исходник где угодно, например писать код в своём любимом редакторе, а в среде разработки просто сделать проект и собирать его. Если ты о превращении кириллицы в кракозяблы - то это уже проблема венды, в том же линуксе/маке такого нет... Windows использует две разные кодировки для консоли и графических приложений (866 в консоли и 1251 для графических приложений, которые впрочем уже лет десять как мигрируют на Юникод). Обойти это можно переключая кодировку в консоли (вот наглядный пример http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using), либо перекодируя исходные файлы (многие редакторы умеют это делать на лету).

    ОтветитьУдалить
  2. ИМХО, Pascal пора выкинуть из инструментов обучения, а начинает следует сразу с C :)

    > входит в очень маленький перечень языков, которые можно использовать на ЕГЭ

    А какие ещё языки туда входят? :)

    ОтветитьУдалить
  3. > Кстати о копировании текста - что за проблема-то? Ты же можешь открыть исходник где угодно...
    Для небольшой учебной задачки канителиться с созданием исходника лень. :) Быстренько набрала в компиляторе, убедилась, что всё работает - и copy-paste в файл отчёта. Так что сейчас возможность примитивного прямого копирования текста между программами для меня не формальность.

    > Обойти это можно переключая кодировку в консоли (вот наглядный пример http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using)
    Не поняла, какая связь между командой cmd и программой на Pascal-е. :-/ Наверное, можно попытаться отыскать, где в реестре прописана кодировка по умолчанию и заменить её, но тогда обратная бяка - кириллица в 866-ой кодировке перестанет отображаться. (В некоторых своих старых программах я перекодировывала символы отдельной функцией)

    > перекодируя исходные файлы (многие редакторы умеют это делать на лету)
    В TMT Pascal Lite я такого не нашла. Жалко.

    > А какие ещё языки туда входят? :)
    Насколько помню, это Pascal, Basic, тот же С и ещё какой-то чисто академический, на котором реальные программы вообще не пишутся. JavaScript нельзя, Python нельзя. Самостоятельно браться сейчас за гранит С - бессмысленная авантюра. Возможно, в этом году перечень чуть расширили, из любопытства можно уточнить у моей преподавательницы, она входит в число проверяющих. Но это уже ни на что не влияет. Азы Pascal-я я знаю прекрасно, рисковать на ЕГЭ с другим языком глупо.

    ОтветитьУдалить
    Ответы
    1. Думаешь не успеешь С освоить? Вообще-то он мал - это ведь не С++. По нему в http://gen.lib.rus.ec есть две неплохие книги.
      1. Г. Шилдт. Полный справочник С++. 2006
      2. Хэзфилд, Кирби. Искусство программирования на C. Фундаментальные алгоритмы, структуры данных и примеры приложений. 2002

      По 1-й быстро изучить сам язык С можно даже без практики просто понять структуру языка и ключевые слова, часть по С++ трогать не надо. По второй применение. Они легкие.

      А вот традиционно рекомендуемую книгу классиков Керниган,Ритчи - Программирование на C.2ed.2009 не советую. Размыто, нечетко пишут, т.е. можно иногда сначала понять не так как есть.

      Ты в начале своего блога писала о выборе площадки для блога. Не собираешься рассказать, что сейчас об этом думаешь?

      Удалить
  4. P.S.
    И ещё такой глюк обнаружила. При одновременно запущенных TMT Pascal и PascalABC из второй из данных программ ничего нельзя копировать. Иначе TMT Pascal падает. Но боюсь, только на этом всё не ограничивается. Текстовый процессор в SoftMaker-е несколько раз падал, результат 20 минут работы из-за этого однажды потеряла. Точную причину пока не поняла, возможно, какие-то остаточные явления из-за описанного в начале абзаца конфликта. А может, и сам SoftMaker...

    ОтветитьУдалить
    Ответы
    1. Какие-то странные у тебя падения. Возможно, они связаны с какой-то "внешней" программой, работающей в фоне ;)

      Удалить
  5. Насчет MSE* Вы неправы. Этот комплекс, воплощающий в себе пожелания опен-сорсного сообщества, он позволяет разрабатывать программы примерно в 2 раза быстрее чем Дельфи. Особенностью является сквозной юникод от клавиатуры до принтера - причем и под Линукс, исходники хранятся в UTF-8. Позвляет не задумываться под чем писать, собирать и запускать - Виндоус или Линукс. Наиболее вылизанная часть - работа с БД, по этой части есть чрезвычайно мощные компоннеты. Есть компоненты для работы со звуком, с OpenGL, черчения диаграмм, шифрования (весь сервис OpenSSL) памяти и файлов, удаленного выполнения процедур,..

    ОтветитьУдалить
    Ответы
    1. Т.е., выходит, я всё сказала верно. :)))
      > Закоренелым форточникам, не обладающим профессиональной подготовкой, даже не смотреть.

      За последние пару месяцев я ознакомилась с уймой приложений. И заметило не абсолютное, но правило: то, что расхваливается пользователями Linux, в большинстве случаев на Windows работает медленно и неуклюже. :-/ К моему сожалению, ибо рассматриваю кроссплатформенность как значительный плюс. Возможно, профи сможет это наладить, напильником, и даже возможно, что по причине привычности это ему даже будет удобнее. Но на то он и профи.

      Удалить
  6. в большинстве случаев на Windows работает медленно и неуклюже. :-/
    ================
    Потому что используют импортированные из ЛИНУКСа монcтруозные библиотоки Q(GTK, WxWidgets,..). Именно эти библиотеки придают приложения топорный вид. Те приложения, что обходятся без этих библиотек, выглядят абсолютно одинаково под Виндоус и Линукс, и не тормозят - например знаменитый "Blender". LAZARUS имееь возможнсьть обходиться без этих библиотек, MSE* принципиально их не использует (поэтому, имея средства отрисовки рельефности и градиентов - позволяет придавать приложениям очень привлекательный вид и в ЛИНУКСе, и Виндоус). Уж извините - Вы пробежались "галопом по европам" и остановились на варианте, не очень пригодном для написания совремемных GUI-программ, по ходу забраковав отличные средства - LAZARUS и MSE*. И оба они единственные 100% "прозрачные" по части кросс-платформенности.

    ОтветитьУдалить
  7. В защиту MSEide скажу пару слов.
    На MSEIDE можно писать вполне серьезные программы - мной был написан в частности pacmanXG (графический интерфейс для пакетного менеджера для archlinux), xelplayer и много других программ.
    лично мой любимый компонент - это tterminal. В лазарусе нет ничего подобного.
    Хотя основная фишка - это, как уже сказал выше IvankoB, базы данных. Он признанный авторитет среди русскоязычного сегмента программистов. По базам он может просветить более подробно.

    Здесь есть несколько видео про программирование MSEide. http://freepascal.ru/forum/viewtopic.php?f=11&t=6740

    Установить MSEIDE достаточно просто http://almin-soft.fsay.net/index.php?prochie-utility/mse-tune/how-work-msetune, не сочтите за рекламу :)


    С уважением,
    Alexandre Minoshi

    ОтветитьУдалить
    Ответы
    1. Из паскалей MSEide+MSEgui я считаю на сегодня лучший вариант. Синевласка, ты ведь разбираешься в паскалях, может MSEide+MSEgui для тебя показался просто непривычным?

      Удалить
  8. Забыл спросить Вы readme.txt хоть читали? Там четко написано, как создать первый проект

    С уважением,
    Alexandre Minoshi

    ОтветитьУдалить
  9. Что-то я с языками, которые на ЕГЭ можно использовать, запуталась. :-/ Я ведь точно в прошлом году где-то слышала этот перечень, который упомянула выше, и из достаточно авторитетного источника. А сегодня спросила у своей преподавательницы, она ответила, что любые возможно использовать. Мда.. :-/ Правда предупредила, что к "нетрадиционным" могут сильнее придираться. Теперь подумываю, а может действительно форсированно овладеть Питончиком и использовать на экзамене сразу два? Но я уже поняла дух ЕГЭ, подобный выпендрёжик никаких дополнительных балов всё равно не принесёт, а вот затраты времени потребуются приличные. Нам преподают на Pascal-е, вообще отправить его в корзину я не могу.

    > Ты в начале своего блога писала о выборе площадки для блога. Не собираешься рассказать, что сейчас об этом думаешь?
    Blogger как блог меня вполне устраивает, переезжать не намерена. Есть мысль сделать нормальный сайт и переместить туда весь полезный материал по подбору программ, отделив его от обсуждения вопросов моей личной жизни. Чтобы не было всё в одной куче. Но серьёзно об этом подумаю после того, как окончателно подберу себе весь нужный софт.

    > Какие-то странные у тебя падения. Возможно, они связаны с какой-то "внешней" программой, работающей в фоне ;)
    Вполне возможно.

    > Уж извините - Вы пробежались "галопом по европам"
    Я очень ограничена во времени, а приложений тьма. Либо так, либо никак. Если кто может сделать обзор лучше меня, то сделайте. И дайте, пожалуйста, ссылочку.

    > ...и остановились на варианте, не очень пригодном для написания совремемных GUI-программ
    Поправочка. Я остановилась на двух вариантах, которые для создания GUI-программ вообще не предназначены, поскольку мне это и не нужно.

    > ...по ходу забраковав отличные средства - LAZARUS и MSE*.
    Цитирую себя: "из рассмотренных мною бесплатных компиляторов языка Pascal для написания серьёзных приложений лучше всего подходит Lazarus" Именно для серьёзных, для обучения Lazarus слишком сложен и медленен.
    По MSE:

    > Забыл спросить Вы readme.txt хоть читали? Там четко написано, как создать первый проект
    Цитирую из readme: "Creating a new console project... 'Project'-'New'-'From Template', select "console.prj"
    Но в MSEi18n вообще нет такого пункта "Project"! А MSEide мелькнёт и исчезнет. Да, знаю, я просто не разобралась, нужно было тщательно изучить инструкции по установке, посидеть на сайте, изменить параметры запуска и т.п., но с такими темпами, боюсь, программу для вычисления площади квадрата по заданной стороне я напишу не раньше новогодних каникул. Pascal мне нужен лишь для сдачи ЕГЭ, чтобы было просто и доступно прямо сейчас, я не собираюсь углубляться в дебри настроек профессиональных компиляторов.

    > Синевласка, ты ведь разбираешься в паскалях, может MSEide+MSEgui для тебя показался просто непривычным?
    Мне очень нравится программировать, но из компиляторов Pascal-я я была знакома лишь с Delphi7. (Программы на JavaScript-е и чуточку на Питоне набирала в Notepad++.) Так что не стоит излишне придираться к тому, что я не поняла MSE и не решилась устанавливать Lazarus. А если что-то пишу неправильно или неполно, то не ругайте, а поправьте. Я не волшебница, я только учусь. :)

    ОтветитьУдалить
    Ответы
    1. Всё же ради любопытства попыталась ещё раз запустить MSE, подход #2. Readme простмотрела полностью, ответов на свои вопросы там не нашла. Не могу набрать ни одной строчки, поскольку набирать негде. И никаких подсказок. Покопалась на сайте, поняла, что нужно с http://mseide-msegui.sourceforge.net дополнительно скачать "IDE binary". После этого наконец-то увидела графический интерфейс с упомянутым выше меню "Project". Но так просто свой код набирать не начнёшь, нужно продолжать мудрить дальше: никакого автосоздания проектов, никаких подсказок, всё ручками и опираясь на опыт. Далее биться не стала, мне это не нужно. Т.о. свой первоначальный вывод могу лишь подтвердить: MSE лишь для профи. И никак не для решения школьных задачек.

      Удалить
    2. > Теперь подумываю, а может действительно форсированно овладеть Питончиком и использовать на экзамене сразу два?

      ИМХО, лишние риски не нужны. Вряд ли все проверяющие очень продвинуты: они берутся из нашей же системы образования :)

      > Я очень ограничена во времени, а приложений тьма. Либо так, либо никак. Если кто может сделать обзор лучше меня, то сделайте. И дайте, пожалуйста, ссылочку.

      Согласен. К тому же это личный блог, в котором ты рассказываешь, как подбирала программы ДЛЯ СЕБЯ, а не ресурс с претензией на профессиональные и объективные обзоры софта :)

      Удалить
    3. Сама не знаю почему, но сегодня утром ещё раз посмотрела на MSE. Методом научного тыканья наугад в пункты меню всё же удалось добиться появления окошка с кодом. В нём куча каких-то директив компилятора... Как скомпилировать и запустить хотя бы самую примитивную программу - загадка ('No source file name in command line'). Наверное, что-то нужно как-то подключать... Почему-то уверена, что у тех, кто здесь защищает MSE, институт давным-давно позади. Мне бы очень хотелось стать профессиональным программистом, но в данный момент максимум, что могу - это создавать процедуры и функции (и то для этого необходимо вначале освежить знания).

      Удалить