Литература, компиляторы, разное...

Перейти вниз

Литература, компиляторы, разное...

Сообщение  Viktor2312 в Пн Авг 31 2015, 14:19

.

Данная тема предназначена для сбора различной интересной и полезной литературы и не только...


____Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Влеза Паскаля — французского учёного, изобретателя механической вычислительной машины.
Автор языка Паскаль — швейцарский профессор Никлаус Вирт.



barsik пишет:Если у кого то есть желание и возможность, вкладывайте эти и другие книги по Паскалю в этой теме.

Так и сделаем, со временем.

Компиляторы найденные barsik:

Pascal MT (мой (barsik) из 1991)

Pascal MT new из Интернета

Pascal MT+ из Интернета

Pascal PS80

Pascal для КР580 (Van Valzah)

PAS-Z.ver.4.0

Turbo Pascal (только Z80)


Planned Changes To The Programming Language PASCAL (Jun 72)



The programming language PASCAL has now been in use at ETH Since two years. During this time, the language has been extended by' a few features - packed records, external files, read and write procedures - and the compiler has undergone many improvements. However, there have been practically no changes; the language has been kept as stable as possible.

Скачать



.


Последний раз редактировалось: Viktor2312 (Пн Апр 23 2018, 13:39), всего редактировалось 13 раз(а)
avatar
Viktor2312
Гуру+

Сообщения : 10780
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Вс Апр 22 2018, 23:49

С литературой посвященной ретро-компьютингу на Паскале пока не очень хорошо.

Хотя вообще с учебной и справочной литературой по Паскалю, напротив, очень хорошо. Этому в определённой степени мы обязаны тому, что министерство образования (с отставанием на 30 лет) наконец сообразило, что изучать на уроках информатики бейсик - это просто вредительство. Как справедливо писали многие известные авторы, Бейсик просто отравляет мышление, что будет преследовать человека всю жизнь, отчего после изучения бейсика научить человека настоящему программированию становится намного тяжелее. Потому в школах с конца 90-тых ввели изучение Паскаля. В непрофильных ВУЗ-ах также до недавнего времени изучали Паскаль (но теперь похоже стали изучать более современные языки типа C#).

Однако практически вся русскоязычная литература по Паскалю посвящена программированию вовсе не классического Паскаля, разработанного Н.Виртом в 1970, стандизованного комиссией по стандартизации ISO в середине 70-тых годов и с середины 70-тых до конца 80-тых с успехом используемого для программирования 8-ми разрядных микропроцессоров, а - Турбо Паскалю версии 7 и выше, что является существенным расширением классического Паскаля.

Если первые версии TP для 8-ми разрядок и первых PC XT, появившиеся в 1983 были вполне обычным классическим Паскалем с небольшими удачными расширениями, то версии TP начиная с версии 6 в начале 90-тых сделали Паскаль довольно сложным объектно-ориентированным языком, хотя и сохранившим совместимость с классическим Паскалем, разработанным Н.Виртом.

Итак, когда у меня возникла потребность разобраться в программировании на Паскале для 8-ми разрядного рэтро-компьютера на КР580, я попытался найти соответствующую литературу. Речь идёт о высказанной мной ранее идее, что при разработке программ для 8-ми разрядки с текстовым адаптером, в частности для РК86, может оказаться выгодным использование ЯВУ. Вывод символа на экран в текстовой машине происходит в 20-50 раз быстрее, чем в графической. А программа написанная на Паскале тормознее, чем программа написанная на ассемблере примерно в 5-6 раз. К тому же в случае нехватки скорости критические участки можно писать на ассемблере.

Исторически сложилось так, что в те времена (1986-1991), когда для РК86 писались программы, в силу отсутствия дисковода и CP/M, язык Паскаль был недоступен, отчего все программы писались на ассемблере. Причём на самом примитивном ассемблере, что создавало большие проблемы при разработке программ размером более 2 кб, т.к программы такого размера приходилось транслировать по частям и вручную обеспечивать перекрёстные связи модулей.

Тем не менее, некоторые игры для РК86 всё-же были написаны на ЯВУ на других машинах, отчего их объём существенно больше программ написанных на ассемблере любителями на самом РК86. Речь не идёт о ЛС-Паскале и Best-Си, что появились в дистрибутиве Микроши в 1989 году (кассета N13). Эти программы не являются полноценными компиляторами и в силу нехватки ОЗУ в РК86 позволяли только изучать ЯВУ, точнее лишь только познакомиться с концепцией ЯВУ. Они неполноценыы, т.к вместо использования компактной Run Time библиотеки размером в 1-2 кб, в этих компиляторах к результирующей программе подключается весь код компилятора в 16-20 кб целиком, отчего размер кода резко увеличивается.

Ничего реального, по крайней мере на РК86, на них написать нельзя. Судите сами. Т.к в отличие от Турбо-Паскаля, ЛС-Паскаль РК86 компилирует не сразу в объектный код, а в текст исходника на ассемблере, который в свою очередь нуждается в последующей трансляции в маш.коды. Т.о, ввиду отсутствия внешнего носителя, в ОЗУ РК одновременно должен находиться текстов редактор 2 кб, ассемблер МИКРОН 2 кб, компилятор Паскаля 16 кб, исходный текст на Паскале, исходный текст на ассемблере и буфер для результирующего объектного кода.

Всё это приводит к тому, что буфер исходного текста имеет мизерный размер, отчего можно написать и странслировать программу размером не более 200 строк Паскаля. Заметим, что Партнёр и Апогей имеющие намного больше ОЗУ, уже позволяют написать реальную программу на этих ЯВУ (и о таких попытках есть упоминания), а компилятор Best-Си в начале 90-тых с успехом был использован для написания игр для ОРИОНА (в котором, как известно ОЗУ много, в частности там графика хранилась и подгружалась из файлов ORDOS).

Естественно, в настоящее время, чтобы странслировать игру для РК на ЯВУ, можно использовать эмулятор любого CP/M компьютера, чтобы прогонять на нём какой-нибудь фирменный компилятор Паскаля для CP/M. Например, можно использовать эмулятор ОРИОНА с CP/M для ОЗУ на 60 кб.

Хотя компиляторов Паскаля для Z80 больше и они из более позднего периода (т.е мощнее), мне всё-же удалось найти три компилятора Паскаля для CP/M, что генерируют код для КР580. Для скачивания эти компиляторы некоторое время (несколько месяцев) будут доступны здесь https://yadi.sk/d/yje-Yh333Uf5vb. Содержимое этого каталога пока минимально и будет изменяться. В частности, тексты загравными буквами (т.к исходно было КОИ-7) в каталоге MT+ DOC я сегодня уже конвертировал правильно изменив регистр текстов. Тексты в формате 'plain-text' разумно использовать в АЛЬТ-кодировке, т.к при перекодировке в Windows-кодировку уродуются рамочки таблиц и рисунки построенные псевдографикой.

Как видите, более менее достаточная документация есть только для Паскаля МТ+. Этот компилятор широко использовался на многих 8-ми разрядках (например, на Роботроне), т.е является проверенным продуктом. Два других компилятора Паскаля не только не имеют документации, но и не проверены. В любом случае это компиляторы классического Паскаля, т.к написаны в период 1977...1981, когда ООП ещё не изобрели. Как видите, документация к МТ+ не является учебником, это лишь инструкция по применению и дополнительно описывает нюансы данной реализации языка.

Таким образом, проблема найти учебник для классического Паскаля остаётся. Сам я программировал на Турбо-Паскале в 1994-1997, но, естественно, уже ничего не помню. А на Паскале МТ+ вообще никогда не программировал. Хотелось бы найти популярный учебник Паскаля из 70-тых или начала 80-тых годов. Хотя при скачивании я специально старался не скачивать те книги, где из названия ясно, что они о Турбо-Паскале, но скачав несколько десятков книг, обнаружил, что почти все они посвящены Турбо Паскалю, который очевидно с начала 90-тых стал стандартом Паскаля.

Возможно что-то более соответствующее для рэтро-компиляторов можно найти на английском языке. Нужны учебники по Паскалю написанные не позднее середины 80-тых годов. Лобовой поиск по ключу "pascal programming book free download" выдаёт ссылки на современные книги по Турбо Паскалю. Хотя древние книги на английском можно купить на бумажном носителе. Позднее ещё попробую что-нибудь целенаправлено погуглить, используя списки рекомендованной литературы в книгах.

Пока всё из найденной литературы, что может как-то пригодиться программисту на Паскале, я временно (на несколько месяцев) положил здесь https://yadi.sk/d/Y2u6kfYB3UdVKe. Содержимое этого каталога будет меняться по мере появления новой информации.

Если у кого то есть желание и возможность, вкладывайте эти и другие книги по Паскалю в этой теме.


Последний раз редактировалось: barsik (Пн Апр 23 2018, 15:38), всего редактировалось 4 раз(а)

_________________
***
avatar
barsik
новичёк

Сообщения : 73
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  Viktor2312 в Пн Апр 23 2018, 12:56

01 Pascal Newsletter (Jan 74)



This is the first issue of a newsletter sent to users and other interested parties about the programnling language PASCAL. Its purpose is to keep the PASCAL community informed about the efforts of individuals to implement PASCAL on different computers and to report extensions made to the language. It will be published at infrequent intervals due to the limited manpower.

Скачать
avatar
Viktor2312
Гуру+

Сообщения : 10780
Дата регистрации : 2012-08-10
Возраст : 39
Откуда : Пятигорск

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Литература, компиляторы, разное...

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения