По поводу знаковых/беззнаковых типов - да, их можно объединить, но тогда нужно добавить знаковые форматы вывода, знаковые тайпкасты, операции знакового умножения, знакового деления и т.п.
По поводу знаковых/беззнаковых типов - да, их можно объединить, но тогда нужно добавить знаковые форматы вывода, знаковые тайпкасты, операции знакового умножения, знакового деления и т.п.
Я тут не со всем идеологически согласен. Лучше ИМХО маленький язык и большие разнообразные библиотеки, чем всё упаковывать в один компилятор. Всё на все случаи жизни туда всё равно не вставишь, да и дорабатывать отдельную библиотеку проще, чем влезать в потроха компилера.
Андрей, я искал примерно того же, т.е. людей, которым понравится реализовывать обозначенные мною идеи, но как видишь, чудеса бывают редко, чтобы так уж всё излагаемое взяло и всем подряд понравилось.
Поэтому надеюсь, ты примешь тот грустный факт, что мне неинтересно создавать компилятор с нуля; вместо этого интересно работать на готовой связке, которая показывает отличную эффективность. Думаю, мало шансов переплюнуть кодогенерацию SDCC даже приблизительно. Но тебе хочу пожелать успехов. А если соберёшься адаптировать библиотеки (или разрабатывать новые) для своего компилятора Паскаля, тут у нас может появиться интерес для совместной деятельности.
Последний раз редактировалось GriV; 16.03.2012 в 13:42.
Я думал, ты хочешь забабахать новый компилятор. Ессно, не как Вирт - Оберон на Обероне, а пользуясь уже имеющимися инструментами (в моем случае Coco/R). Там только написать сам текстовый файл atg с элементами языка и соответствующими им образцами кода, а парсер и прочая мутотень уже есть.
Ну а ежели ты хочешь идти через связку с SDCC, то тоже можно. Главное, чтобы исходник на Обероне компилировался просто в код Z80, файлом bat например, без всяких подкручиваний, перекопирований и шаманств. Иначе им никто пользоваться не будет. Только одному самому пригодится.
Oleg N. Cher, покажи здесь уже свой "Dash" чтобы доказать эффективность
С уважением,
Jerri / Red Triangle.
Так и задумано. Ты скрин на http://zx.oberon2.ru/zx-dev.htm уже посмотрел? Трудность вижу если ошибки полезут не с уровня Оберона, а с уровня Си, вот например jerri сказал что Си не знает.
Я очень скоро выложу все свои наработки по данному проекту, Андрей. И буду отвечать на разные вопросы и всех учить рисовать скриншоты Даша в Пэйнте.
P.S. Господа. По задумке форум создавался не для оскорбления друг друга, а для обсуждения разных тем, связанных с ZX. Не нравится тема – создай другую, а не приходи в эту флудить, качать права и учить всех какой ты умный. Поэтому если Raider намерен аппелировать к форумчанам насчёт своих обид, то вспомним, что именно я создал интересную для многих тему, а кто-то другой пришёл и сюда насрал, изгадив моё детище и утопив его в своих пиписьках. И теперь меня обвиняют в подделке скриншотов и пугают модерацией и баном? Это смешно, господа. Модерацию надо было делать вовремя.
Опять же, если бы овнер форума не боялся захвата власти, или там чего он боится, то раздал бы вменяемым людям модераторские права, и этого хая не случилось бы в принципе. Значит, Raider, ищите причину своих обид не во мне и моих высказываниях. Я не красна девица, чтобы всех удовлетворять. А в политике своего форума, которая не защитила меня, пользователя, стремящегося сделать и сказать что-то полезное о ZX, и не оградила от тупых зложелателей. Если в глазах ZEK’а пришёл злой оберонщик и всех обосрал, то в моих глазах пришли злые мэйнстримисты и принялись просто смешивать мои разработки и меня самого с *****м, на что я не согласился и принялся аргументированно доказывать свою точку зрения, а поскольку в ответ на удары ногами по голове вежливо улыбаться как-то не принято, то мне пришлось применить сложившийся здесь на форуме стиль общения.
Фух ... Выдержал испытание "чтением" ... Специально решил прочитать все посты ...
Олег, совершенно не важно нужен ли ОБЕРОН большинству. Однако важно нужен ли он хотя бы одному человеку. А такие уже есть. Поэтому я желаю Вам доделать ОБЕРОН.
Только, думаю, что сравнивать Oberon с другими языками просто бесполезно. Это всё равно, что придти к японцу и сказать, что его язык устарел, и пора говорить на прогрессивном английском, ну или наоборот. Лично мне совершенно всё равно на каком языке писать, мне важен результат. И практика показывает, что наилучший результат, например: из трёх языков "Pascal", "Oberon" или "Си", даёт только "Assembler".
Давайте посмотрим в корень проблемы, что надо от языка:
1. Скорость исполнения
2. Компактность
Остальные характеристики всегда будут второстепенными. Переносимость кода, как по-мне, не должна входить в список характеристик вообще, поскольку этот пункт всегда вытеснят первый пункт, и тянет за собой кучу недостатков. Например, я вот только что придумал самый переносимый язык под названием "XorAndOr", назовём его ещё более красиво "XAO" ... Во как звучит ... На трёх операциях Xor, And и Or можно сделать вообще всё. А переносимость, ну просто идеальна ... Но выгоден этот язык будет только на матрицах. Поэтому, чего не добавляй в язык, - всегда будет хуже Assembler'а.
А из этого вывод, что на Speccy с его скоростью и памятью языки высокого уровня будут всегда выглядеть убого, с точки зрения кода. Когда пишешь код на асме мозг работает иначе, и рождаются совсем другие идеи, которые просто пестрят особенностями.
Например: у "Flash Inc." в плеере под Covox есть место микширования трёх каналов в один тремя командами асма, то есть "(a+b+c)/3", это ведь родилось именно потому, что мозг программиста просто жил в Z80.
Или например: "IF A>7 THEN DEC(A)" ни один компилятор не превратит в "SUB 8: ADC A,7"
Получается, что пункт номер "1", осилить практически невозможно.
В итоге остался только один пункт номер "2". То есть единственное, что оправдано, это компактность кода. Собственно я вижу применение любого языка на любых платформах, лишь в виде математики и кранчера данных, ну можно ещё отдать ему рисование каких-нибудь текстов. Однако этот инструмент уже есть и называется BASIC. Вот тут-то и главное !!! Бейсик уже лежит в ROM'е, и если бы Oberon дал бы мне возможность написать набор функций для расчётов чего-нибудь используя при это "ваську", что займёт минимум памяти, и я мог бы этот код таскать по памяти, вызывая его из нужного мне места в Assembler'е, то тогда бы это был оправданны язык.
Но мне кажется, что в итоге этот язык как и паскали, си, бейсики, фортраны будут только называться языком для серьёзных задач. Поскольку умножение это не серьёзная задача, и рисование линии это не серьёзная задача, и рисование полигона это так же не серьёзная задача. А вот если это будет работать невероятно быстро, если это будет заставлять смотрящего произносить фразу "как это оно на трёх-то мегагерцах работает-то ?", то это уже серьёзная задача.
AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.
Спасибо, Robus! За терпение и добрые слова.Думаете я хотел уздреть здесь зека? Да нет вовсе! Я хотел уздреть Вас, Rasmer'а, CopperFeet'а, Кладова. Потому что я уважаю этих людей за Спектрум-деятельность и интересные посты. Кстати, здорово что пришли, располагайтесь.
Я почти доделал технологию, которую опубликую если не сегодня, так завтра. Насчёт варки в асме – полностью согласен, это обучение мастерству полным погружением. Я не собираюсь потеснять асм для Z80 Оберон-кодингом. Смысл – сделать программирование для Спектрума более удобным для новичков, дав им быстрый старт в язык, прививающий хороший стиль мышления. Ещё смысл – получить хороший удобный структурно-модульный клей для асм-подпрограмм. А вот последние-то и надо делать сверхоптимальными и хай-кастомизабельными, чтобы не включать в целевую программу неиспользуемые участки кода. Это возможно.
Так что вижу нишу для кроссразработки на Обероне для Спека. А ещё Оберон может помочь использовать хорошие Спектрум-наработки на других платформах. И вести одномоментную разработку одной программы на одном языке для Спека и, например, для Win32/Linux. Это тоже возможно. Заявляю как оберонщик и спектрумист.
Последний раз редактировалось GriV; 16.03.2012 в 13:44.
Я знаю реакцию на слово 'Оберон'. Мне 15 лет назад подарили диск "Всё для программиста", на котором были компиляторы Modula-2 и Oberon-M. Меня тогда Модула заинтересовала больше, забавная была штучка. На Оберон только посмотрел. А активно работал на TurboBasic, MS-QuickC, TurboC++ и TurboPascal. Мой путь к Оберон-технологиям был долог, и я это пытаюсь донести вам. А Диму оцениваю как человека, находящегося где-то в начале знакомства с Оберонами. Буду огорчён если я стану причиной его дальнейшей нелюбви к ним.
У ZX-Basic масса достоинств, главное из которых – его наличие в ПЗУ. И я одобряю его использование для разработки на самом Спектруме. При кросс же разработке на первый план выходит наглядность программы и беглое её понимание.
Последний раз редактировалось GriV; 16.03.2012 в 13:47.
Да, с примером облом.Тока, если можно - пример чуть посложнее, чем Hello, world. И инструкцию в расчете не на гениев, которые из всех технологий только про Оберон не знают, а для простых смертных, которые для Спеки писали только на asm и Basic. Для всех, то бишь. Вот это дело будет!Но надеюсь, сами напишете.
Алекс, давайте Вы сами нам скажете насколько сложно программировать для Спектрума на Обероне. После того, как попробуете. Это будет чистая практика.
Читайте ветку http://zx.pk.ru/showthread.php?t=18387
Ругать Оберон с позиции многолетнего на нём ОПЫТА РАЗРАБОТКИ из всех писавших в эту ветку ОБОСНОВАННО могу только я, но, как вы все заметили, не спешу этого делать. Только по одной простой причине: Оберон-технологии ОЧЕНЬ ГИБКИЕ и МОЩНЫЕ. И поддаются лёгкой и быстрой (и надёжной) доработке в любом необходимом направлении. Как доказательство, показываю вам среду разработки НА ПЯТИ ЯЗЫКАХ программирования (Оберон, Оберон-2, Си, Си++, ассемблер процессора Z80) для ZX, которую я сделал на базе Оберон-среды BlackBox и компилятора SDCC за 2 дня. И это, несмотря на молодость проекта, вероятно, УЖЕ самый мощный и удобный инструмент из известных мне ПО ПРОСТОТЕ и ПОТЕНЦИАЛУ для развития (а также по качеству кодогенерации) для высокоуровневой разработки для Спектрума, и в т.ч. для новичков. А уж если его развить. Есть идеи как ЛЕГКО И БЫСТРО (за пару дней бы справился) добавить поддержку языков Паскаль и Модула-2. Да, нету дебаггера и пока нету подсветки синтаксиса. Последнее обещаю сделать. Не для зека, он слов не понимает. Для Alone, Raydac и других собратьев. Теперь пусть все сишники на свете возьмут сто библиотек и попробуют повторить данный проект в данный срок. И я делал это не за деньги, а за совесть, как энтузиаст. В ответ ожидаю доброе слово и немного благодарности. Вопросов по теме и предложений по усовершенствованию.
Последний раз редактировалось GriV; 16.03.2012 в 13:50.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)