1. Заголовок или название темы должно быть информативным ! 2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК ! 4.НЕ используйте форум для личного общения! 5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Помощь начинающему, Нужна помощь в освоении Pascal'я
Всем доброго времени суток! Решил ознакомится со столь удивительной вещью, как Pascal! Но проблема в том, что я не знаю с чего начать! По этому, я обращаюсь к великим гуру и прошу наставить на путь истинный. Все, что касается этой темы приветствуется. P.S: Все, что надо для начало работы я скачал, мне нужен только учебный материал.
Хороший Паскаль называется Ада. На худой конец Delphi из тех, что поновее, хотя бы XE2. Про FPC ничего положительного сказать не могу за всё время работы с ним. Сильно на любителя.
И есть ещё варианты для компиляции в Web, такие, как DWScript, но он, наверное, не готов для новичков.
--------------------
If you want to get to the top, you have to start at the bottom
А можно продемонстрировать хоть одну игру на этом языке? Я читал об Аде ( название просто зашибись... ), ее минус - многословность. Вот хочу пример программы на этом языке, лучше всего игру.
А можно продемонстрировать хоть одну игру на этом языке?
Например: http://snake.gnoga.com/ Чтобы посмотреть код, нужно открыть http://www.gnoga.com/source и выбрать snake-connection.adb. Главный цикл находится в процедуре Paint, код которой на момент написания начинался со строки 213.
Я читал об Аде ( название просто зашибись... ), ее минус - многословность.
Название там — женское имя (Ада Лавлейс Байрон, первый программист), и мне кажется, оно русское ухо не режет.
Когда я переходил с Delphi, то Delphi штампы потащил в Аду тоже. Если какой–то пакет with'ится, то у меня он и use–ался тоже обязательно. Перегрузкой унарного плюса баловался (впрочем, и сейчас так делаю). Помойку в переменных разводил. Но в целом проникся духом, и use пользуюсь избирательно, а Ada 2012 даёт более нормальный контроль за пространством имён, можно use type делать для типов вместо use для всего пакета, чтоб операции с ними были доступны, а остальное лишнее в пространство имён не сыпалось.
Дополнительные слова там — как рёбра жёсткости и элемент читаемости. Наступив на грабли, сам начнёшь чаще перестраховываться.
Местами, впрочем, и правда чего–то не хватает. for-loop и while-do автоматически создают блок команд, как бы экономя один begin и один var с переменной цикла, которую в Аде не нужно объявлять, как в строке 38, но если надо объявить дополнительные переменные или обработать исключение, то приходится добавлять declare-begin-end, как в строке 189, и эта экономия нивелируется, но в Delphi и FreePascal, например, такого вообще нет, приходится разводить помойку var вверху процедуры. Впрочем, в строке 189 программист тоже мог бы развести помойку, как в Delphi, объявив переменную перед begin процедуры и уменьшить уровень вложенности, убрав declare-begin-end, но это лишний раз показывает, что опытные программисты добровольно приходят к такому стилю кода. И я тут посчитал: даже если программист на Аде не развёл помойку, а на Delphi — развёл, то на Delphi всё равно будет длиннее на одну строку (в стандартном стиле).
В общем, как–то оно не жмёт в реальной жизни. Думаешь, как покрасивей и правильней, а не как покороче.
И только одни люди поступили единственно возможным образом, отрезав уродам вышестоящих типов все пути к отступлению в туманный отказ. Они устроили в Java такой Освенцим, что остается только восхищаться и трепетать. Им, слава Б-у, стало ясно, что если всю эту радость не запихать американским программерам ректально и эксплицитно, бардак из wchar и char продолжится до 3000 года.
Да, увы, их UTF-16 включает только Basic Multilingual Plane (не хватает пары десятков тысяч Хан-кодпойнтов), но по сравнению с вышестоящим убожеством это невероятный прогресс.
Вот и в Delphi 2009 поступили как положено, переделав всё на Юникод, правда, к сожалению, всего лишь UTF-16. В Lazarus, насколько я помню, всё работает через однобайтовые string, которые в UTF-8, и это ещё куда ни шло. Но вот стандартная библиотека по–прежнему, похоже, работает с ANSI, и я, когда с файловыми путями манипуляции произвожу, смутно догадываюсь, что надо бы UTF-8 перекодировать в ANSI, иначе может не работать в большем количестве случаев. И от этой неуверенности мне неуютно. Хорошо бы там тоже везде остался Юникод. Не хватает диктатора, который бы отстранил всех несогласных и навёл порядок.
Что касается Ады, то там, с одной стороны, в библиотеках много, где однобайтовые строки, нарушая стандарт, несут в себе UTF-8. И находятся программисты, которые на Windows хранят там ANSI. Но с другой стороны, там есть самые безгеморройные UTF-32 строки, и в принципе можно просто перекодировать между UTF-8 и UTF-32 на границе вызовов процедур, написанных разными программистами. В этом нет такой гигантской проблемы, как от ANSI.