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

User Tag List

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 57

Тема: Язык Cowgol и компилятор для 6502, 8080, Z80, 8086, 80386, PDP-11, ARM(thumb2) и в Си

  1. #11

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да я уже готов лапки складывать. Нет у меня талантов таких неимоверных.

    Кто сможет это развивать лучше автора. А ему не надо.

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

    Ну и, кроме того, у меня есть ZSDCC для Спека и GCC для БК/УКНЦ (спасибо yu.zxpk). На сём мою ностальгию по ретро можно считать примерно утолённой.

    Вот хотел побольше контента напихать в игру для бэкашки, но сейчас не уверен, что теперешний Cowgol переплюнет GCC по качеству кода. Хотя потенциал у него огромезный. Жаль, народ не понимает, ковыряют маленькое своё, кто PL/M, кто ZX Like Pascal...

    И даже тебе, Андрей, есть чему поучиться у Cowgol. Например, полной линейке целых типов 8-, 16- и 32 бита со знаком и без.

  2. #12

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >
    Цитата Сообщение от Oleg N. Cher
    Уважаемый Дэвид,

    Если Вас так сильно интересует работа утилит непосредственно на ретро-устройствах, то посмотрите, что сделал очень хитрый парень Чарльз Мур. Он объединил в одно целое компилятор и интерпретатор, редактор, операционную систему, утилиты, язык, библиотеки и встроенные процедуры. И всё это в самом минимальном объёме кода. Я конечно же имею в виду его язык Форт. Более того, есть очень маленькие по объёму исходники Форт-Бейсика, Форт-ассемблеров и даже Форт-Паскаля. Вам стоит развивать Форт, это чрезвычайно компактный и очень расширяемый язык. Но это требует изменения мышления, а это обычно самое трудное для людей. Cowgol предлагает более традиционные подходы - компилятор, компоновщик, утилиты в виде программ для запуска, которые обмениваются между собой данными через файлы. Форт же переворачивает всё с ног на голову. Только Форт поможет вам обеспечить на порядок более эффективное использование памяти вашими утилитами, чем это делает сейчас Cowgol.

    Не надо придумывать оправданий, вы знаете, что я прав. Но писать на Форте лично мне некомфортно. Я сделал свою реализацию Форта ещё в 1997-м для ZX Spectrum (это называлось QuickForth и потерялась на старых кассетах). И после этого пробовал писать на Форте ещё на ПК (AstroForth, GP-Forth, 4th), но полностью разочаровался в возможностях Форта по созданию надежного программного обеспечения. Однако для своей ниши (работы в маленьком объёме памяти) он подходит идеально. Но лично я предпочитаю комфортную разработку, и в инфраструктуре Cowgol вижу хорошую основу для получения аналога инструментария GCC или LLVM, только в гораздо меньшем по объёму исполнении, подходящем для 8-битных платформ. Но вы объяснили ваши цели, и Cowgol стал мне гораздо менее интересен. Судите сами, у меня есть игра, которую я разрабатываю для компьютера БК-0010 (16К рабочего ОЗУ + 16К экранной памяти). Сейчас игра уже занимает 15 Кб. Я хотел бы поместить туда больше игрового контента, но очень не хочется переписывать её на ассемблер. Cowgol не сгенерирует для меня код лучше, чем GCC для PDP-11. Cowgol не будет развиваться вами в направлении улучшения качества кода, или будет, но очень незначительно. Я упомянул Форт не потому, что надеюсь, что вы услышите мои аргументы. Но как я могу работать над проектом, если у меня нет способностей и влияния на автора, который делает это просто для собственного удовольствия, а не для того, чтобы облегчить мне жизнь?

    Поэтому Cowgol остаётся для меня просто прикольной вещью в себе. Но не для использования.

    Эффективная генерация кода - это именно та высшая ценность, которая могла бы привлечь меня на светлую сторону силы Cowgol, Но в том виде, в котором он существует сейчас, с очень причудливым, даже вычурным, попахивающим архаикой синтаксисом, который я не могу запомнить, предназначенный для набортной работы и генерации посредственного кода (качеством ниже среднего компилятора Си) это уже далеко не столь интересно. Сильно не рассчитывайте на мою помощь. Меня не интересует работа Cowgol ни на Спектруме, ни под RT-11. Я смогу вам помочь только если у нас совпадут хотя бы краткосрочные цели, но пока я не вижу точек пересечения. Вы посмотрите, что даже к Спектруму мы с вами подходим по-разному. Вы хотите, чтобы Cowgol работал на самом Спектруме, а я хочу чтобы он работал ДЛЯ Спектрума.

    Также хочу показать Вам компилятор PL/M который работал на основанных на 8080 ретро-компьютерах (под CP/M), но потом был реверсирован и транслирован на Си. Человек, который занимался освоением данного компилятора, утверждает, что несмотря на архаичный синтаксис, этот компилятор порождает для 8080 код прекрасного качества. Вероятно, это лучшее по качеству кода средство разработки для 8080, которое мы имеем на данный момент для языка высокого уровня.


  3. #13

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Одному человеку другие говорят - что надо делать и как. В ответ этот человек других посылает.

    Затем этот первый человек говорит другому - что надо делать и как. В ответ этого человека посылают. Первый человек удивляется - а меня то за что??

    Ню ню.

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

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    у меня нет способностей и влияния на автора, который делает это просто для собственного удовольствия, а не для того, чтобы облегчить мне жизнь?
    Да да, остальные должны делать только то, что облегчит жизнь ТС. Долго ему придётся ждать.

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

    Ещё мысль на тему - кто, что и как должен делать. Как говорили в DEC
    "Let's be different"!!

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

    Кря Кря(18.01.2024)

  4. #14

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так а я о чём, Hunta. Главным быть хочу. Готов на себя взять тяжёлое бремя принимать ключевые решения.

    Требуются чернорабочие, которые будут быстро-быстро писать оптмальные кодогенераторы.

    А ты лучше поблагодари, что я слегонца ковырнул Cowgol, из нашего гадюшника этим заниматься некому. Пожалуй, кроме shattered'а.

  5. #15

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    713
    Поблагодарили
    595 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Главным быть хочу.
    Вот тебя с твоей хотелкой
    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    чернорабочие
    и посылают

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    этим заниматься некому.
    Этим чем? Твоими хотелками? Да - некому. Потому что у всех свои хотелки.

    Эти 2 пользователя(ей) поблагодарили Hunta за это полезное сообщение:

    Bedazzle(19.01.2024), Кря Кря(18.01.2024)

  6. #16

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вот. Поэтому всем, кто жаждет писать на асме - я буду советовать писать быстро-быстро.

    Всем, кому не нравится трансляция через Си - буду советовать сделать без Си.

    А всем, кто не приемлет качества кода от языков высокого уровня - буду советовать вплотную заняться генерацией эффективного кода.

    А сам буду помаленьку XDev совершенствовать. Чего ещё от меня вы ждали, крутые советчики и ковырятели в носу?

    Andrew771, ты подумай как можно сделать задачи по оптимизации качества кода маленькими и законченными подзадачами. Если каждый напишет своё золотое правило - вот и получится классная кодогенерация. Я понимаю насколько это сложно. Ну так может хватит просто передирать у Вирта, а вместо этого сделать лучше, чем Вирт? Пусть это будет скриптовый мини-язык оптимизаций или щелевой (peephole) оптимизатор. Ты просто пойми барьер тех, кто не хочет влезать в весь твой код, кому не нравится Паскаль, кому не нравится Z80. А хотя да, пустое пишу.

    Кряшка яростно лайкает всё, что меня шпыняет)))

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17

    Регистрация
    16.05.2021
    Адрес
    г. Харьков, Украина
    Сообщений
    133
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    лайкает
    Так а смысл тебе писать что то, если ты не читаешь. Размазывать только и способен

  9. #18

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, лайкай лайкай авось тебе полегчает.

    А ты заметил, Кряшечка, что я с Hunta разговариваю иначе, чем с тобой? А всё потому, что Hunta не тролль стопицотого уровня, а честный труженик, хоть и на своей волне.

  10. #19

    Регистрация
    16.05.2021
    Адрес
    г. Харьков, Украина
    Сообщений
    133
    Спасибо Благодарностей отдано 
    81
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот видишь. Я даже не разговаривал с тобой а ты размазал. О чем я собственно и говорю. Вообще одичал и потерял способность общаться.

  11. #20

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, спасибо. Очень приятно услышать конструктивную критику от тролля в свой собственный адрес)

    Кстати, ты знал как делают науку? Собираются умные дядьки, разговаривают, думают, спорят, пьют кофе, завтракают и обедают в кафе. В муках рождают творческие идеи. То, что ты бы назвал "размазывать", хотя по сути это то, чем ты занимаешься здесь, не делая абсолютно ничего другого. Но ты размазываешь из пустого в порожнее, а я сею семена, которые несомненно дадут свои ростки и плоды.

    Цитата Сообщение от David Given
    Я знаю Форт - я даже написал Форт. Но мне очень не нравится его использовать. Он достигает своей радикальной простоты за счет отказа почти от всех функций, необходимых для реальной разработки программного обеспечения: переносимости, модульности, абстракции... Это фактически сильно типизированный язык без проверки типов, и единственный способ сообщить об ошибке (например, использовать FDROP вместо DROP) - это тонко отравить стек, что впоследствии приведет к сбою. Кроме того, он медленный - быстро для интерпретируемого языка, но все же намного медленнее, чем родной машинный код.

    Тогда я бы посоветовал Вам не использовать Cowgol. Он явно не соответствует вашим требованиям.
    Цитата Сообщение от Oleg N. Cher
    Уважаемый Дэвид,

    Если позволите, я скажу пару слов в защиту Форта. Вы, как всегда, слишком обобщили. Форт является медленным, поскольку использует прямой шитый или свёрнутый шитый код. Вы можете не использовать шитый код вообще - генерируйте сразу машинный код. Будет очень быстрый Форт, со скоростью получше, чем в Cowgol.

    По поводу переносимости - Форт очень переносимый в перспективе язык. Вам просто надо реализовать одинаковый набор слов для всех интересующих вас архитектур. И поддерживать его одинаковым. Нивелируйте различия между разрядностью платформ, как вы делаете это сейчас. Слова, которые будут специфичны для платформы, не должны быть в общем наборе.

    По поводу отравления стека - ну так сделайте опциональную проверку на то, чтобы DROP выдавал ошибку, если стек пуст. Это делает даже простой Forth для ZX Spectrum.

    По поводу же модульности и абстракции я вынужден с Вами согласиться...

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. SNASM кросс ассемблер для 6502/Z80
    от drbars в разделе Программирование
    Ответов: 4
    Последнее: 25.04.2018, 01:16
  2. TurboDOS система для кластера на Z80/8086
    от bigral в разделе Зарубежные компьютеры
    Ответов: 0
    Последнее: 09.01.2015, 02:02
  3. Компилятор С и ASM для Z80 на C#
    от ZXMAK в разделе Софт
    Ответов: 28
    Последнее: 18.11.2014, 16:31
  4. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03

Ваши права

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