Важная информация

User Tag List

Страница 6 из 18 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 180

Тема: Почему компилированный Бейсик выполняется быстро?

  1. #51
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Вообщето, Бейсик ОЧЕНЬ плохой язык для обучения.
    Функций нет, структуры нет.. Ну что-то вроде "ассемблера для домохозяек". Типа пишу что и как в голову придёт, а там если что ошибку выдаст.
    Вот Pascal - это да. Для обучения. Строгие типы. Структура.
    для всего плохой, кроме "хоть какой-то я(о)ву на очень слабом железе"
    а для обучения лучше лого (правда, реализация именно на спектруме странноватая)
    паскаль подразумевает компиляцию и 48k ему маловато

    Цитата Сообщение от null_device Посмотреть сообщение
    Lethargeek, нумерация строк, неизбежное зло.
    да ну, на ресурсах спека (и многих прочих восьмибиток 80-х) вполне избежное
    а теперь представь, что от строчных номеров ты избавился, а else нету

    Цитата Сообщение от null_device Посмотреть сообщение
    С другой стороны, это куда проще, чем запоминание названия меток.
    лучше помнить имена процедур)
    Прихожу без разрешения, сею смерть и разрушение...

  2. #52
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а теперь представь, что от строчных номеров ты избавился, а else нету
    Ну, нету, и нету. После конструкции, IF THEN, пишем что хотим выполнить по условию и делаем GOTO + несколько строк. А в промежутки между этими строками пишем, то что должно выполниться по условию ELSE.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    лучше помнить имена процедур)
    Вкусовщина и сила привычки. Мне было проще запомнить двух-трёх-четырехзначный номер строки с подпрограммой.
    Когда есть, но не знаешь где - это все равно, что нету.

  3. Этот пользователь поблагодарил null_device за это полезное сообщение:

    Barmaley_m (21.11.2023)

  4. #53
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от null_device Посмотреть сообщение
    Ну, нету, и нету. После конструкции, IF THEN, пишем что хотим выполнить по условию и делаем GOTO + несколько строк. А в промежутки между этими строками пишем, то что должно выполниться по условию ELSE.
    то есть вместо else расставлять метки, каждой из которых изволь придумать уникальное имя, сколько неожиданного счастья-то привалило, не говоря уже о чисто текстовом разбухании
    Прихожу без разрешения, сею смерть и разрушение...

  5. #54
    Guru Аватар для null_device
    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,100
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    68 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Lethargeek, применительно к спектрум-бейсику: редактирование десятка строк с короткими инструкциями, гораздо проще, чем манипуляции с этим же десятком операторов, но упиханых в одну строку через двоеточие.
    Когда есть, но не знаешь где - это все равно, что нету.

  6. #55
    Veteran
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,058
    Спасибо Благодарностей отдано 
    220
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    31 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Точка входа TR-DOS #3D13 не содержала всех тех функций "форматирование, чтение и анализ дорожек" и прочих. То есть налицо недостаток функционала API.
    Если бы всё это было - то особо никто бы и не лазил "напрямую в регистры".
    Я ни разу в жизни не встречал драйвера или API, который был бы настолько совершенным, что подошел бы для всех вообразимых нужд.

    Любой драйвер предоставляет меньше возможностей, чем то, на что способно железо. Хотя бы потому, что некоторые трюки с этим железом могли быть неизвестны на момент создания драйвера. Типа как использование AY-огибающей. Изначально она предназначалась для медленного управления громкостью, и только потом ее научились использовать для создания особых тембров.

    Авторы TR-DOS тронулись бы умом, если бы их заставили написать универсальное API для форматирования дисков произвольным образом или создавать/проверять защиты от копирования. Разработка заняла бы столько времени, что какая-то другая фирма выпустила бы подходящий для запуска игр контроллер дисковода раньше. И был бы у нас не Beta-Disk, а Theta-Disk. С не менее, а то и более улылым софтом, чем TR-DOS.

    И даже если мега-универсальное API создать - то оно не подойдет тем, у кого мало места в памяти. ПЗУ или ОЗУ - оно денег немалых стоило.
    Цитата Сообщение от SfS Посмотреть сообщение
    Тем более, что никакого выигрыша в скорости в данном случае это не даёт.
    Конкретно в случае TR-DOS - даёт. Программы, использующие самописные процедуры чтения секторов, читают с диска раза в полтора быстрее, чем те, которые используют API.
    Цитата Сообщение от SfS Посмотреть сообщение
    Сейчас создателям ПО и в голову не придёт "лезть напрямую в регистры" видяхи или звуковухи. За исключением драйверописателей.
    Это потому, что зоопарк железа большой. К тому же, железо долго не живет, постоянно новое появляется. Если бы железо было константным, как во времена Спека - то лезли бы в регистры, как миленькие. Потому, что это давало бы конкурентные преимущества.
    Цитата Сообщение от SfS Посмотреть сообщение
    У спектрума видеопамять была "константой". Потому в неё безбоязненно лазили напрямую. Плюс скорость. В вот если был десяток видюшек, да разных... То фиг бы там куда лазали помимо API.
    Вот в мире CP/M был большой зоопарк железа, и там почти все работали через API, каким бы убогим и тормозным оно ни было. По тем же причинам на этих системах не было красивой графики и динамичной анимации.
    Последний раз редактировалось Barmaley_m; 21.11.2023 в 23:32.

  7. Этот пользователь поблагодарил Barmaley_m за это полезное сообщение:

    andrews (22.11.2023)

  8. #56
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,552
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    272
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    181 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от null_device Посмотреть сообщение
    Lethargeek, применительно к спектрум-бейсику: редактирование десятка строк с короткими инструкциями, гораздо проще, чем манипуляции с этим же десятком операторов, но упиханых в одну строку через двоеточие.
    так и толку с этого десятка будет немного, а писать короткими что-нибудь большое запаришься, да и (на спектруме) работать будет медленнее
    но суть ты ухватил верно - обязательная нумерация строк, она больше от убожества возможных редакторов на ранних, очень слабых машинах
    Прихожу без разрешения, сею смерть и разрушение...

  9. #57
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,684
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    174 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    К тому же, железо долго не живет, постоянно новое появляется
    всё, теперь, когда проектные нормы подошли к физическому пределу и все трюки с целью обойти это уже использованы, железо наконец уймется в своем неутомимом прогрессе и настанет "эра программирования".

    - - - Добавлено - - -

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    По тем же причинам на этих системах не было красивой графики
    а разве она хоть какая-то была?

  10. #58
    Master
    Регистрация
    27.01.2005
    Сообщений
    905
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    142 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от null_device Посмотреть сообщение
    Lethargeek, нумерация строк, неизбежное зло. С другой стороны, это куда проще, чем запоминание названия меток. И снижает вероятность ошибки. Оттого, я например, не использовал многосимвольные переменные.
    Ну да. Запомнить метку screen_loop_begin сложнее, чем номер 1278 ?)

    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    для всего плохой, кроме "хоть какой-то я(о)ву на очень слабом железе"
    а для обучения лучше лого (правда, реализация именно на спектруме странноватая)
    паскаль подразумевает компиляцию и 48k ему маловато
    да ну, на ресурсах спека (и многих прочих восьмибиток 80-х) вполне избежное
    а теперь представь, что от строчных номеров ты избавился, а else нету
    лучше помнить имена процедур)
    Есть бейсики с процедурами и else и while и прочим.. И на спеке тоже. Вопрос реализации.

    - - - Добавлено - - -

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Вот в мире CP/M был большой зоопарк железа, и там почти все работали через API, каким бы убогим и тормозным оно ни было. По тем же причинам на этих системах не было красивой графики и динамичной анимации.
    Так там и стандартов на графику, как мне помнится, не было.

  11. #59
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Вообщето, Бейсик ОЧЕНЬ плохой язык для обучения.
    Британские ученые учителя и телевизионщики считали иначе: для обучения плох лишь нестандартный бейсик, особо если в нем нет поддержки пользовательских портов, ЦАП/АЦП и прочей периферии, которую можно использовать для лабораторных работ и творчества (роботизации).

    Софи Уилсон (Acorn) за год возни (это только в фильме недельку повкалывали, выиграли конкурс, хлопнули шампанским и уже компьютер презентуют) написал(а) очень быстрый Бейсик со всякими IF THEN ELSE. А потом его несколько лет доделывали и в прайм-тайм по телевизору показывали и в школы усиленно пихали. Помогло это стать самым-самым? Не очень. Проиграл BBC-Бейсик в популярности "ограниченной" и недоделанной версии от Клайва Синклера, а в массовости еще и Бейсику от Майкрософта. И это несмотря на гос. поддержку и навязчивую массовую рекламу. Ошибок в BBC-Бейсике тоже немало. ПЗУ вдвое большего объема (по сравнению с ZX Spectrum) под него требовалось.

    Судить современными мерками софт сорокалетней давности не очень корректно. Другое дело, что слабые стороны Синклер-Бейсика не были предопределены суровыми законами природы. Тут на результат больше повлиял человеческий фактор.

    Кстати, напомню, что версия Бейсик 48К которая разошлась с оригинальными ZX Spectrum и клонами была урезанной Бета-версией. Более полная оригинальная (от Викерса) Альфа-версия (с ошибками, но с доп. расширениями Бейсика) тоже сохранилась. На скрепке ее бинарник.
    ZX-Spectrum-Prototype.rar

  12. Этот пользователь поблагодарил Conan за это полезное сообщение:

    Barmaley_m (23.11.2023)

  13. #60
    Master
    Регистрация
    27.01.2005
    Сообщений
    905
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    176
    Поблагодарили
    142 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan Посмотреть сообщение
    Судить современными мерками софт сорокалетней давности не очень корректно.
    Но мы то сейчас как раз и пытаемся оценить + и - данного васика с современной точки зрения. Понятно, что в ТО время были иные представления. Точнее, я бы сказал, отсутствие представлений даже)

Страница 6 из 18 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. Ответов: 47
    Последнее: 02.02.2021, 14:06
  2. Как быстро летит время.
    от Mick в разделе Новости
    Ответов: 18
    Последнее: 25.02.2020, 08:43
  3. Почему Спектрум-бейсик такой медленный?
    от mmxdmv в разделе ZX Концепции
    Ответов: 53
    Последнее: 07.07.2018, 19:39
  4. Как быстро добраться до мыши?
    от TomCaT в разделе Для начинающих
    Ответов: 38
    Последнее: 02.03.2010, 11:00
  5. Быстро переместить 384b
    от Aprisobal в разделе Программирование
    Ответов: 6
    Последнее: 23.01.2005, 15:23

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •