IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Помощь начинающему, Нужна помощь в освоении Pascal'я
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  0  +


Всем доброго времени суток! Решил ознакомится со столь удивительной вещью, как Pascal! Но проблема в том, что я не знаю с чего начать! По этому, я обращаюсь к великим гуру и прошу наставить на путь истинный. Все, что касается этой темы приветствуется.
P.S: Все, что надо для начало работы я скачал, мне нужен только учебный материал.


--------------------
Пора убить в себе человека...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 194
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


Хороший Паскаль называется Ада. На худой конец Delphi из тех, что поновее, хотя бы XE2. Про FPC ничего положительного сказать не могу за всё время работы с ним. Сильно на любителя.

И есть ещё варианты для компиляции в Web, такие, как DWScript, но он, наверное, не готов для новичков.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской

Репутация: -  0  +


Цитата(OCTAGRAM @ 6.02.2016 22:11) *

Хороший Паскаль называется Ада.

А можно продемонстрировать хоть одну игру на этом языке? Я читал об Аде ( название просто зашибись... ), ее минус - многословность. Вот хочу пример программы на этом языке, лучше всего игру.


--------------------
Пора убить в себе человека...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Большевик–концептуал
***

Группа: Пользователи
Сообщений: 194
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: bu_gen@octagram.name
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  1  +


Цитата(Faust VIII @ 6.02.2016 22:54) *
А можно продемонстрировать хоть одну игру на этом языке?


Например: http://snake.gnoga.com/
Чтобы посмотреть код, нужно открыть http://www.gnoga.com/source и выбрать snake-connection.adb. Главный цикл находится в процедуре Paint, код которой на момент написания начинался со строки 213.

Либо посмотреть по прямой ссылке http://sourceforge.net/p/gnoga/code/ci/mas...ection.adb#l213

Сапёр под Qt ещё один умелец запрограммировал: http://www.qtada.com/ru/applications.html

Цитата(Faust VIII @ 6.02.2016 22:54) *
Я читал об Аде ( название просто зашибись... ), ее минус - многословность.


Название там — женское имя (Ада Лавлейс Байрон, первый программист), и мне кажется, оно русское ухо не режет.

Когда я переходил с 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 всё равно будет длиннее на одну строку (в стандартном стиле).

В общем, как–то оно не жмёт в реальной жизни. Думаешь, как покрасивей и правильней, а не как покороче.


На моё отношение к FreePascal повлияли проблемы, описанные в статье Композиция, нормализация и уроды.

Цитата
Не уроды

И только одни люди поступили единственно возможным образом, отрезав уродам вышестоящих типов все пути к отступлению в туманный отказ. Они устроили в 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.

И, спасибо WinAPI, выжечь из программы всё, кроме Unicode, не так просто, как этому следовало бы быть. Проблемы идут из файлового I/O, который будет в ANSI или OEM, а версии с W там просто нет. Существуют пути обхода этой проблемы:
http://www.siao2.com/2010/10/07/10072032.aspx
http://www.siao2.com/2010/05/07/10008232.aspx

Но в библиотеки времени выполнения они не всегда попадают. В node.js попало. console.log() замечательно пишет Юникод что на Windows, что на Linux.

А в GNAT, FreePascal и даже в Delphi, насколько мне известно, не попало, так что ввод/вывод надо через обёртки делать, чтоб был Unicode везде.

Если писать текстовую игру, я подумал, надо быть в курсе этих проблем.

Я же правильно понимаю, что игра будет в консоли отрисовывать игровое поле и управляться нажатиями клавиш?

Сообщение отредактировано: OCTAGRAM -


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Faust VIII   Помощь начинающему   6.02.2016 12:40
Федосеев Павел   Есть хорошая книга "Песни о Паскале" - т…   6.02.2016 14:29
Faust VIII   Есть хорошая книга "Песни о Паскале" - …   6.02.2016 15:01
Faust VIII   Еще вопрос. А каким паскалем лучше пользоваться? В…   6.02.2016 17:44
OCTAGRAM   Хороший Паскаль называется Ада. На худой конец Del…   6.02.2016 18:11
Faust VIII   Хороший Паскаль называется Ада. А можно продемон…   6.02.2016 21:54
OCTAGRAM   А можно продемонстрировать хоть одну игру на этом …   7.02.2016 7:25
Федосеев Павел   Лучший пистолет - который в руке. Чем можете польз…   6.02.2016 22:57
Faust VIII   Лучший пистолет - который в руке. Чем можете поль…   6.02.2016 23:18
Faust VIII   OCTAGRAM, Где найти компилятор для ады? И где вооб…   7.02.2016 9:24
OCTAGRAM   Как правильно заметили, в шапке есть некоторая инф…   7.02.2016 13:18
Федосеев Павел   Faust VIII, выбирайте любой язык - хуже не будет. …   7.02.2016 13:40
OCTAGRAM   Использовать таски я не рекомендую без прочтения х…   7.02.2016 15:50
Faust VIII   Хмм, а теперь я совсем растерялся! Можно какое…   7.02.2016 16:41
OCTAGRAM   Среда разработки GPS для Ады написана на Аде. И та…   7.02.2016 19:25
Faust VIII   Решил помучить Паскаль. Напишу пару игр/программ, …   7.02.2016 22:31
OCTAGRAM   На pascal.net.ru разбросаны комментарии про аналог…   8.02.2016 6:32
Faust VIII   Как сделать окно вывода изображения на Паскале? Не…   8.02.2016 12:23
OCTAGRAM   Для какого из Паскалей? И если графика, то нужно г…   8.02.2016 14:22
Faust VIII   Для какого из Паскалей? турбо, просто вывести на…   8.02.2016 14:34
OCTAGRAM   Если в текстовом режиме, то через модуль Crt. Курс…   8.02.2016 18:17
Федосеев Павел   Сделаю небольшое отступление. В своём посте я прив…   8.02.2016 20:45
Faust VIII   Установи Free Pascal. http://math.ubbcluj.ro/~sb…   8.02.2016 23:28
Федосеев Павел   Если не лезть в свойства системы и не пытаться раб…   9.02.2016 0:10
OCTAGRAM   Насчёт жизненного цикла я бы не горячился. Кофейны…   9.02.2016 9:58
Faust VIII   Я все понял, но мне бы прям материал, с которым мо…   10.02.2016 20:12
OCTAGRAM   По консольным WinAPI справка на русском, например,…   11.02.2016 15:12


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 22:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name