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

User Tag List

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 173

Тема: Разработка программ и игр для ZX Spectrum на языках Оберон-семейства

  1. #81

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что-то в пылу дискуссии подзабыли, что на Спектруме 3,5 МГц, а не 3,5 ГГц. И всё по возможности надо делать не в рантайме, а в компайл-тайме.

  2. #82

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

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    я вижу что с языками вы слабо знакомы, особенно с языком си.
    Ну почему Raider’у хватило скромности притушить свой нимб и прийти спрашивать вопросы, а не выпячивать пиписку? Уже и newart, вместо критики, начинает подумывать об изучении Оберона. Значит моя цель достигнута.

    Господа любители Си, особенно те, кто читает ветку с конца. Не надо, подобно Sayman'у, выпячивать грудь и кидаться сгоряча. Он хотел поучить зарвавшегося неофита, а на деле просто продемонстрировал свою некомпетентность. Понятно желание бывалого сишника заступиться за любимый язык. Но Си не поругаем, он просто сравнительно критикуем. Или вы считали его идеальным языком? А тут пришёл пиписькин сын неофит, который удосужился выучить что-то другое, но, кроме этого, не знает нифига языков, и теперь парит моск и всех свысока поучает, ибо ему больше некак самовыразиться? Я думаю, ситуация так выглядит не для всех, что всё-таки радует. Радует реакция Raydac, Valen и Alone.

    Однако давайте всё-таки сделаем здесь “ловушку” для сишников. Господа сишники. Я понимаю, вам лень открывать и читать галимые ссылки, которые я даю, но всё-таки вот эту прочтите. Может желание облить меня помоями поутихнет? Негуманно всё-таки брата-спектрумиста так прокатывать. Или мне показать вам длинный список сделанных мною программ на Си? Там будет и графическая среда для смешивания лиц, и программа для сжатия почтового трафика VIPmail http://colossoft.anarxi.st/?go=vipmail, и сетевой многопоточный движок ROSE, и всякого рода системы для бухгалтерий и интернет-биллинга http://colossoft.anarxi.st/index.php?go=stefport. Так это уже то самое натуральное меряние пиписками, которого так не хотел я и, в особенности, Sayman. А как думаете. Си крут. Но бортовое п/о на всяческих вояджерах на Си писать не торопятся. Почему-то. Я упоминал о бортовом п/о для безпилотного вертолёта на Обероне. Это показательно. Упомяну ещё и о системе управления ГЭС на Амазонке, сделанной в среде BlackBox.

    http://ru.wikipedia.org/wiki/Компонентный_Паскаль
    http://oberoncore.ru/articles/gubanov

    Модула-2 в российском космосе
    http://www.kronos.ru/about/koltashev

    Ну хорошо, хорошо. Я неофит, плохо знаю Си. Но вот есть капустная голова профессорская, привыкшая парить моск. Внимание, статья от Джозефа Темпла, автора транслятора Ofront. Это транслятор с языка Оберон-2 в Си. Это наверно подразумевает, что оный Темпл знает Оберон и знает Си вместе, в отличии от Sayman. И наверное показательно, что он написал такую статью, транслятор, и показательно, что он написал его с Оберона и на Обероне. Си-вариант получился “раскруткой”. Но зато теперь благодаря этой проделанной работе, мы с вами сейчас имеем удовольствие и общаться, и лицезреть нечто вот такое: http://norayr.arnet.am/weblog/?p=668 (ETH Oberon System, оттранслированная Ofront’ом и запущенная на интернет-таблетке Nokia N810).

    Итак, господа.

    Дж.Темпл. Oberon против C++
    http://oberon2005.oberoncore.ru/paper/templ.pdf

    И ещё интересненькое.

    М.Франц. Java - критическая оценка
    http://www.osp.ru/pcworld/1997/08/56.htm
    http://oberon2005.oberoncore.ru/paper/obe_java1.pdf

    И главное. Тут много об идеологических языковых маразмах. И автор умнейший. Кстати, автор компилятора с Оберона-2 в байт-код Java (JOB, Вологда. Гуглируйте).

    С.З.Свердлов. Языки программирования и методы трансляции
    http://uni-vologda.ac.ru/~c3c/landt/contents.htm
    http://www.piter.com/book.phtml?978546900378
    http://oberon2005.oberoncore.ru/book/ss2005a.pdf
    http://progbook.ru/technologiya-prog...-i-metody.html

    Господа, не забываем читать. Я действительно интересные вещи даю.

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Круто. Вот в Delphi можно сказать, что есть модуль Forms.pas библиотеки VCL. В Visual C++ есть библиотеки ATL, MFC с модулями внутри. А в Обероне не принято группировать модули (библиотеки?) по принципу разработки для совместного использования что ли? Каждый кусок кода в отдельном файле, разработанный кем-либо - он сам по себе, и все вместе попарно они всегда совместимы?
    В различных Оберонах применяются разные решения данного вопроса. Вообще Оберон-1 – он очень маленький. В него вошёл только тот самый необходимый минимум средств, которого, тем не менее, достаточно для разработки на нём операционной системы (http://www.oberon.ethz.ch/). Оберон-2 – это правильное надмножество Оберона-1, абсолютно совместимое с ним сверху вниз; добавились связанные с типом процедуры (методы), но в целом язык такой же маленький и простой, и ничего особо для группировки модулей в нём не предлагается. Далее из Оберона-1 вырастает Active Oberon (также сохранивший полную совместимость сверху-вниз с Обероном-1), основной фишкой которого есть активные объекты, каждый из которых может исполняться в своём потоке. В Active Oberon System (AOS) схожие по назначению модули можно группировать с помощью дополнительного префикса в имени. Например:
    Win32.Files, Win32.Console,
    Linux.Files, Linux.Console
    А из Оберона-2 вырастает язык Компонентный Паскаль (с некоторыми оговорками – практически надмножество Оберона-2). Но в него внесены, на мой взгляд, очень важные вещи, нужные для промышленного применения и серьёзного системного программирования. Они не настолько уж критичны и необходимы, но с ними удобнее, например, портировать библиотеку Кладова KOL (с Delphi на Component Pascal). Нет. ифдефы сюда не вошли. Ну так вот, в системе BlackBox Component Builder (там КП – основной язык разработки) схожие по назначению модули группируются в подсистемы. Например, подсистема Dev – для разработки. Внутри неё модули DevCompiler, DevLinker, DevElfLinker и так далее. Подсистема Form – для построения GUI. Можно сказать, что подсистемы – это и есть "библиотеки", но на деле это просто группы модулей, которые было удобно сгруппировать, ибо их что-то связывает вместе. Модули эти могут импортировать и использовать дружественные модули из своей же подсистемы или же из других, а могут абсолютно не знать ничего друг о друге.

    Цитата Сообщение от jerri Посмотреть сообщение
    тогда да от оберона будет толк. тем более если он кроссплатформенный
    Золотые слова, jerri.
    Но, повторюсь, инструментарий для Оберонов развит очень скромно. Тут есть над чем поработать. И я рад, если просто кого-то заинтересую. Среди спектрумистов много энтузиастов [было раньше]. А Оберон-технологии – это конструктор, а не супермаркет.

    Цитата Сообщение от alone Посмотреть сообщение
    Что-то в пылу дискуссии подзабыли, что на Спектруме 3,5 МГц, а не 3,5 ГГц. И всё по возможности надо делать не в рантайме, а в компайл-тайме.
    Так никто обратного и не говорил, Alone. Я привёл пример с Debug’ом, там лишний код в компайл-тайме отбрасывается. Тут вопрос не в том, что ифдефы это плохо. Вопрос в том, что головы одурели настолько, что ифдеф уже лепится вместо ифа на автомате, а всё, что сверх того, нарушение прав и ущемление свобод.

  3. #83

    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,131
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    195 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    чисто имхо насчет владения компьютерными языками
    лучший компьютерный язык это тот компьютерный язык который лучше всего знаешь, правило "10 лет" никто не отменял (это правило в отношении экспертов согласно которому человек так медленно накапливает знания, решения ирецепты, что может считаться полноценным экспертом только после 10 лет владения какой то технологией), так что спорить "что лучше" смысла нет
    в отношении спектрума имхо, если появится целевой кросс-компилятор с языка АДА, Фортран или Рапира с удобным отладчиком и IDE в Z80 то он получит популярность

  4. #84

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ситуация с #ifdef и if понятна - Оберон не включает в бинарь те ветки if, которые при заданных значениях констант никогда не выполнятся. Выкидывать или ветвить по значению некоторой константы определения идентификаторов нельзя.
    Ситуация с пересечением имен идентификаторов тоже понятна - вместо неймспейсов используются префиксы модулей, что примерно то же самое, и проблему использования модулей с конфликтами имен не исключает.

    В целом, есть такое пожелание. Не хочу сказать за всех жителей форума, но я ленив. В частности, для того, чтобы читать просто тонны текста что в этой ветке, что в безмерном количестве ссылок тут. Чтобы что-то прочувствовать, мне надо простую инструкцию (надеюсь, я не один тут такой):
    1. Скачать инструменты отсюда (URL), отсюда (URL), отсюда (URL).
    2. Установить это, это и это.
    3. Скачать исходики отсюда (URL), отсюда (URL), отсюда (URL)
    3. Открыть это в этом, нажать это.
    4. Открыть это в этом, нажать это.
    5. Полученый trd (scl, txz, tap, udf, td0...) запустить в Спеке.

    Вот так было бы круто. Так можно пощупать сразу хоть какой-то результат, почитать код, поменять его и побаловаться, оценить скорость и объем занятой памяти на строку кода. Да и готовый шаблон для создания чего-то своего. Для хобби теория скучна. Кнопки нажимать хочется. Глядишь, и вопросы с критикой из абстрактной плоскости перерастут в практическую.

    Тока, если можно - пример чуть посложнее, чем Hello, world. И инструкцию в расчете не на гениев, которые из всех технологий только про Оберон не знают, а для простых смертных, которые для Спеки писали только на asm и Basic. Для всех, то бишь. Вот это дело будет!

  5. #85

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

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Выкидывать или ветвить по значению некоторой константы определения идентификаторов нельзя.
    Не совсем верно. Вот есть "Дубовые требования" ("Oakwood guidelines" – http://smalllinux.sourceforge.net/oberon/oakwood.htm), которые предлагают реализовать макропроцессор. Выглядит это примерно так:
    Код:
    <* SelectorName+ *> — включить
    <* SelectorName- *> — выключить
    
    <* IF условие THEN *>
    строки вашей программы
    <* ELSIF условие THEN *>
    строки вашей программы
    <* ELSE *>
    строки вашей программы
    <* END *>
    Небольшой пример. Допустим, вам надо вычислять по формуле x = x * 2. Вы знаете, что на процессоре А быстрее выполняется вариант INC(x,x), а на процессоре Б — x:=ASH(x,1). Идти на компромисс вы не хотите, и иметь два разных файла для одной программы тоже. Выход такой:
    Код:
    <* IF ProcA THEN *>
      INC(x,x);
    <* ELSE *>
      x:=ASH(x,1);
    <* END *>
    Подобные требования были реализованы в продукте XDS (http://www.excelsior-usa.com/xds.html) (Бесплатный оптимизирующий компилятор Модулы-2 и Оберона-2 для платформ Windows и Linux. Windows-версия имеет собственную среду разработки).

    Никто, наконец, не мешает нам реализовать для Спека диалект Оберона, в котором будут даже алиасы регистров и системные расширения SYSTEM.EI, SYSTEM.DI, SYSTEM.IM2 и так далее. Обероны – это конструктор. А мы ленивы. Потому что Спектрум и творчество это раньше были синонимы. А теперь синонимы это потребительское отношение ко всему, включая экологию, и "делаю то, за что получаю бабки". Целое такое поколение взросло на наших глазах. Поколение скриптописателей. Они уже никогда не будут спектрумистами, не в смысле юзки 8-битной железяки с телевизором, а отношения того не будет. Ни к чему.

    Ситуация с пересечением имен идентификаторов тоже понятна - вместо неймспейсов используются префиксы модулей, что примерно то же самое, и проблему использования модулей с конфликтами имен не исключает.
    Гм, а Вы хотели бы иметь несколько разных модулей ("библиотек"), названных одинаковыми именами и юзать их одномоментно? И называете это неразрешённым конфликтом имён? Давайте всё-таки делать разницу между конфликтами имён в именах модулей и в идентификаторах внутри этих модулей. Ещё раз повторяю: эта проблема в Оберонах решена блестяще. Ссылки я дал выше.
    а для простых смертных, которые для Спеки писали только на asm и Basic. Для всех, то бишь. Вот это дело будет!
    Примерно такая статья по задумке и готовится на http://zx.oberon2.ru/zx-dev.htm. Но пока что-то нету вдохновения. В форумах флеймить это вам не статьи умные писать. Со временем, что-то сделаю, надо думать.

    Сначала программировать на Обероне не нравится. Плюёшься на всё и вся, но вот почему.
    Принятые в Оберон-технологиях ограничения специально жёстко регламентируют огульное и повальное использование каких попало средств платформы (что только способствует переносимости целевого продукта) и языка, который обычно построен по принципу супермаркета (от предоставленных средств глаза разбегаются). Изначально исходник Dash был на Си (Turbo C 2.0, DOS) и был вообще так спаян с DOS, что развод представлялся чем-то невозможным. Теперешний исходник Dash на Си, полученный транслятором Ofront с Оберона выглядит намного более наглядно и платформенно-независимо по сравнению с изначальным вариантом, который писал, кстати, вовсе не ламер. А вы видели исходники Moggy или Phantomas Saga – Infinity? Да, они на Си, но попробуйте переписать их для чего-нибудь ещё. Это надо всё делать заново. Разумеется, на Си тоже можно писать иначе, но почему-то не пишут. А цель портирования Dash была в том, чтобы получить на Обероне исходник главного модуля игры отдельно от машинно-зависимых частей. Это хорошо получается на Обероне, в котором средства отделения мух от котлет достаточно выразительны. Причём эффективность данной языковой платформы – достаточна для разворачивания даже на Спеке. Я это увидел, и этого мне хватило чтобы почувствовать значительную мощь Оберонов. Теперь, подумал я, если бы игру Dash изначально разрабатывали на Обероне со следованием принципов, принятых в Оберон-технологиях (это не только язык или часть языка, это соглашения, конвенции, правила хорошего тона и ещё масса всего, что облегчает жизнь), то сейчас мы бы имели скелет программы настолько хорошо абстрагированной от платформы, что заменить платформенно-зависимые модули, тем самым перенося игру на другую платформу, было бы уже гораздо более простая работа, чем отделять мух от котлет в Дураке, Фантомасе или Могги. В последних эта работа не проделана, и практически даже не начата. Подчеркну, что в основном модуле Dash, где всё бегает, не применяются ifdef’ы или что-либо подобное. При следовании принятым концепциям это попросту не нужно. Да, я изобрёл способ делать не очень динамические игры для Спека, используя языковую Оберон-платформу таким образом, чтобы их можно было более легко развернуть на другую аппаратную платформу. Практически любую. Эффективность полученного Оберон-представления алгоритма – высокая. Достаточная для разворачивания на Спеке. Плюс в этом. Не в самом использовании Спека, его роль здесь не более чем лакмусовой бумажки, показателя высокого качества Оберон-технологий. Вот в чём сила Оберонов. Их красота – в минимальном использовании языковых средств для получаемого представления алгоритмов. Но этому умению надо долго учиться, это подразумевает пересмотр и изменение устоявшихся языковых стереотипов и прижившихся привычек, а этот путь не для тех, кто уже и так всё знает о виртуальных методах, обработке исключений и шаблонах, а также о регистровых парах и флагах со стеком. Надо думать, опять же, что многое из того, что я говорю об Обероне справедливо и для Си, но Си не настолько выразителен. Но если бы к Си++ программисту приставить жандарма, который бил бы по рукам за неправильное использование языковых средств, то это был бы почти идеальный вариант, если закрыть глаза на уродский синтаксис и навесное излишне сложное и перегруженное ООП. Но, заметьте, трудность освоения Си++ радует тех, кто к нему сопричастен, льстит самолюбие и даёт им повод, задрав нос, поучать неофитов: “какой-де мощный язык, понимаешь, целых пять лет учил, и до сих пор ещё учу”. Это же касается и синдрома линукса. Линуксоида просто превозносит тот объём ругательств командной строки, которые он постиг прежде чем ЭТО просто перестало раздражать. А чего плеваться, раз все вокруг твердят как это круто. Если сказать одним выражением, убирая все технические и психологические тонкости, то будет “стадо гонят пастухи”. Вот что обидно.

    НАЧАЛО светлое весны...
    Лесов зеленые МАССИВЫ
    Цветут. И липы, И осины,
    И ели помыслы ясны.
    Себе ПРИСВОИЛ этот май
    Права одеть листвою ветки,
    И целый месяц в душах МЕТКИ
    Он расставляет невзначай...
    И пишется легко СТРОКА,
    И на этюдник рвутся кисти,
    Уходит ЛОЖЬ в обличье ИСТИН,
    И говорю я ей: ПОКА!

    С.А. Маркин.

  6. #86

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Золотые слова, jerri.
    Но, повторюсь, инструментарий для Оберонов развит очень скромно. Тут есть над чем поработать. И я рад, если просто кого-то заинтересую. Среди спектрумистов много энтузиастов [было раньше]. А Оберон-технологии – это конструктор, а не супермаркет.
    Да я вообще очень часто прописными истинами сыплю только меня мало кто понимает
    С уважением,
    Jerri / Red Triangle.

  7. #87

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Сначала программировать на Обероне не нравится.
    Вот честно, мне не нравится программировать на Обероне! Совсем. И не буду пока даже начинать. Потому что не знаю с чего. Вообще не знаю. Просто... Вижу коллосальный объем буков, и руки опускаются.
    Почитал недоработанную инструкцию на zx.oberon2.ru - опяты уныло. Опять много буков. Опять складывается впечталение, что язык Оберон создан концептологами для каких-то других -ологов, к которым я себя не отношу. Много философии, мало практики.
    Вот скажите, Олег, а правда программировать на Обероне для Спектрума настролько сложно, что нет никакой возможности положить здесь, на форуме, несколько ссылок на инструменты и написать простой пример и краткую инструкцию, после выполнения которой что-то заработает?

  8. #88

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

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Вот честно, мне не нравится программировать на Обероне!
    Тут Вы сами себе противоречите. С одной стороны Вам не нравится делать то, что Вы никогда не делали, просто представляете себе это по аналогии. С другой, все языки примерно одинаковы, что Вы обозначили на форуме выше, так что с чего бы одному нравиться, другому нет.

    Оберон создан концептологами для каких-то других -ологов, к которым я себя не отношу. Много философии, мало практики.
    При чём тут -ологи, это у меня стиль такой. Я иде-олог. Не мечтаю запрограммировать на Обероне всё на свете. Мечтаю, чтобы это сделали за меня. Я вообще помощников искать пришёл, заинтересованных. Приоткрыть красоты. А не отгавкиваться, браться что-то для кого-то или за кого-то делать.

    Я бы не назвал оберонщиков философствующими теоретиками и -ологами. Они помаленьку разрабатывают системы, библиотеки и трансляторы. Микроконтроллеры осваивают, и встраиваемое программирование. Пишут книги и статьи, в которых делятся опытом практических разработок.

    Практическую пользу от размещения кода компилятора Coloss и игры на Coloss’е видели? Неа, все их тихонько скачали, положили на полочку и тихо забыли. Даже никто не написал “какая крутая игра и какой крутой компилятор”. А если бы я не дал ссылок, сейчас бы или просили их, или пеняли, что брешу, и что не было разработано никакого Coloss’а и никакой игры. Хотя я льщу себе надеждой, что мои здешние форумные опусы кого-то всё же вдохновят на реальные свершения. Впрочем, ещё ведь наверное много спектрумистов эту ветку не читали.

    Вот скажите, Олег, а правда программировать на Обероне для Спектрума настролько сложно, что нет никакой возможности положить здесь, на форуме, несколько ссылок на инструменты и написать простой пример и краткую инструкцию, после выполнения которой что-то заработает?
    Как видите, Алекс, это, как минимум, нетривиально. Как показатель – ещё никто, кроме меня, до этого не додумался (программить на Обероне для Спека). Но я ничего сверх меры не изобретал, просто сложил в кучу не-Оберон- и Оберон-технологии, сдобрил Оберон-видением перспективы.

    Инструкция.

    1. Качаем BlackBox Component Builder, любую сборку, устанавливаем.
    2. Качаем SDCC, устанавливаем.
    3. Делаем несколько машинных процедур на асме Z80 внутри сишных файлов.
    4. Скачиваем Ofront, гуглируем-учимся ставить новые подсистемы в BlackBox, ставим Ofront. Делаем пустой модуль-заглушку, чтобы при трансляции Си-программы заменить его на сделанный в пункте 3. Смотрим как Ofront заманглил имена префиксами, делаем также в нашем Си-коде.
    5. Делаем программу на Обероне, которая при трансляции Оберона в Си юзает пустые модули в качестве низкоуровневых из пункта 3, транслируем.
    6. Компилируем получившиеся сишники в SDCC, SYSTEM.h берём в этой ветке выше.

    Проблемы преобразования хекс-интеловского формата, выдаваемого SDCC, в бинарь, а бинаря в TRD/TAP/Z80 здесь уже рассматривались, повторяться не буду.

    Короче, ждите статью. Я ведь тоже ленивый. И люблю делать то, что мне нравится, а не то, что меня просят сделать другие ленивые.
    Последний раз редактировалось Oleg N. Cher; 10.03.2012 в 18:00.

  9. #89

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Инструкция.

    1. Качаем BlackBox Component Builder, любую сборку, устанавливаем.
    2. Качаем SDCC, устанавливаем.
    3. Делаем несколько машинных процедур на асме Z80 внутри сишных файлов.
    4. Скачиваем Ofront, гуглируем-учимся ставить новые подсистемы в BlackBox, ставим Ofront. Делаем пустой модуль-заглушку, чтобы при трансляции Си-программы заменить его на сделанный в пункте 3. Смотрим как Ofront заманглил имена префиксами, делаем также в нашем Си-коде.
    5. Делаем программу на Обероне, которая при трансляции Оберона в Си юзает пустые модули в качестве низкоуровневых из пункта 3, транслируем.
    6. Компилируем получившиеся сишники в SDCC, SYSTEM.h берём в этой ветке выше.
    так так значит тут не хватает еще пары пунктов

    0. учим С
    ...
    7. оцениваем результат выпадаем в осадок - стираем оберон - пользуем С

    это я к чему я не знаю С настолько чтобы выделенное мной обрело смысл
    а учить С чтобы выучить Оберон
    есть ли более простой способ с либами и уже настроенной средой?
    С уважением,
    Jerri / Red Triangle.

  10. #90

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

    По умолчанию

    Цитата Сообщение от SpecialistMK87 Посмотреть сообщение
    для серьезной работы важно:
    время выполнение работ по разработке ПО;
    надежность кода;
    Вот именно, SpecialistMK87. Наконец-то Вы сами это сказали. Вы о надёжности, а я о бомбах, см. ниже.

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

    if(a=b)...

    Вот здесь врыта мина со счётчиком наступаний, которая сработает обязательно. Даже если человек привык к ==

    И Си весь "пестрит" такими начинками, об этом хорошо у Свердлова написано.

    Резон позволять смешивать в одном выражении сравнение и присваивание заключался в том, чтобы:

    a) сократить запись (что было актуально в пору маленьких экранов и неактуально сейчас, потому что сейчас на передний план выступает наглядность, которая подразумевает, что различные конструкции из выражения лучше развести, чтобы по возможности они выглядели конструкциями отдельными);

    b) вручную указать тупому компилятору где и как лучше оптимизнуть.

    Да, это было актуально в эпоху тупых компиляторов и маленьких экранов, к тому же народ после автокодов и асма был готов принять даже Фортран, не то что Си.

    Поэтому я утверждаю аргументированно: конструкция == устарела и, соответственно, является архаичной. Смешивание присваиваний = и сравнений == в одном выражении устарело и является архаичным, а также является ещё и бомбой замедленного действия. И средством опасно ненадёжным. Для тех, кто пришёл из Бейсика, Паскаля, или же просто изучал математику в школе (или в универе) и не успел пройти "идеологической обработки" мэйнстримом. А Специалист о надёжности кода.

    В ответ на эти железобетонные аргументы сишники обычно снисходительно отвечают: "а я так привык" "мне так ндравица" "у меня всё получается иди rtfm" или железное "а мне за это плотют", даже не понимая, насколько их надули. Слухи же об архаичности := злостно распускают в сети любители синтаксических извращений.

    Занимаясь Оберонами, трудно всем угодить. Отбившаяся от мэйнстрима овца за пророка не канает.

    Господам сишникам так осточертели многотомные 800-страничные талмуды, что их трусит паркинсон при виде чего-нить длинее sms'ки?

    Я так понимаю, что конкретное – это готовый архив с исходниками, который Вы соберёте, посмотрите, поплюётесь и отложите в дальнюю полку? И придёте потом тут рассказать, что Оберон в связке – это лишнее звено, и ничего, кроме геморроя, он Вам лично не принёс.

    Ну а так получается, автор до конца не раскрылся, спрятал за пазухой кусок пирога, которым не спешит делиться, а раз так, то значит остаётся какая-то неудовлетворённость от данной ветки. Что-то невысказанное, недоуложенное в голове. Как раньше был Спектрум. Это вызов, гопспода. Вызов самому себе.

    От меня ждут, что я изрыгну и начну раскладывать по блюдцам? А помните те времена, когда в ZLIST изучали хитрые процедуры ПЗУ? Думаете это было проще, чем скачать сейчас SDCC и Ofront и запрограммить Спек на Обероне? Я, между прочим, преследую те цели, что пришёл искать тех, кто сделает за меня пошаговый отладчик Оберона для Z80. Вирт может против пошаговых отладчиков. Я только за.

    Цитата Сообщение от jerri Посмотреть сообщение
    так так значит тут не хватает еще пары пунктов

    0. учим С
    ...
    7. оцениваем результат выпадаем в осадок - стираем оберон - пользуем С

    это я к чему я не знаю С настолько чтобы выделенное мной обрело смысл
    а учить С чтобы выучить Оберон
    есть ли более простой способ с либами и уже настроенной средой?
    jerri, Вы правы. Способ с Офронтом подразумевает хорошее знание Си (хотя бы без плюсов). Среды нету, откуда ж ей взяться. Либ нету. Я просто брал те машиннокодовые процедуры, что было надо, и переводил на дикий синтаксис инлайн-асма SDCC.

    Нету чего-то в стиле Visual Studio для Оберона под Z80. С подветкой синтаксиса, пошаговым отладчиком и набором библиотек. Ну не ждите вы от меня этого, ей-богу. Даже десятка два примеров готового кода, которых, видимо, добивается Raider, не сделают разработку на Обероне для Спека удобнее.

    Так как же рассматривать мотивацию, отчего ветка превратилась в такое нечто? Да всё дело в том, что люди не любят инакомыслящих, вместо этого они кучкуются с единомышленниками и испытывают слабость даже к предрассудкам, если оные льстят их самолюбию.

    Со всей ответственностью заявляю господам сишникам, что если они дочитали досюда и все мои посты не вызвали в них никаких перемен мнения об Обероне (не говорю о желании выучить Оберон), то никакого преимущества от использования Оберона перед Си для вас не будет. Ни на Спеке, ни на чём-нибудь ещё. Оставьте забавному старичку-профессору его забавные чудачества делать всё без отладчика, оставьте паршивой овце следовать своей тропой. Будьте великодушны, вы ведь такие многоопытные разработчики, столько всего перевидали на этом свете. А сишника из меня Вы всё равно не сделаете, хотя бы потому, что я уже сишник. Вынужден использовать. Уйдите вы отсюда. Вам неинтересно, не надо самовыражаться прям во всех ветках. А пинать ногами одинокую овечку – это вообще садистская забава.

    Господа, предлагаю ввести в ветке модерацию совестью. Сообщения, не касающиеся разработки на Обероне, прямо считать неуважением ко мне, автору темы, и к тем, кто остался читать ветку и писать в неё по теме.
    Последний раз редактировалось GriV; 16.03.2012 в 13:03. Причина: ---- пожелания автора приняты модераторами раздела ----

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

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

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

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

Похожие темы

  1. Разработка ZXOOM
    от Andrew771 в разделе Игры
    Ответов: 666
    Последнее: 16.08.2011, 17:22
  2. Разработка ZXOOM
    от Andrew771 в разделе Графика
    Ответов: 666
    Последнее: 16.08.2011, 17:22
  3. Разработка БК-0101-10
    от CodeMaster в разделе БК-0010/0011
    Ответов: 61
    Последнее: 21.04.2011, 21:13
  4. Подскажите пожалуйста, На каких языках пишутся игры.
    от sevol в разделе Программирование
    Ответов: 168
    Последнее: 14.01.2011, 15:42

Ваши права

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