User Tag List

Страница 33 из 91 ПерваяПервая ... 293031323334353637 ... ПоследняяПоследняя
Показано с 321 по 330 из 907

Тема: Мощная среда ZXDev для разработки НА ПЯТИ ЯЗЫКАХ для ZX готова к тестированию

  1. #321

    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    А перевызов функции- это тоже "открытие делегатов"?
    При чем тут перевызов? И да, в данном контектсе это будет ф-ция делегат.

  2. #322

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

    По умолчанию

    Ещё добавлю. Хорошо заниматься мультиплатформенностью на платформе, которая тянет .NET, JVM и DOSBox, с запущенной внутри Windows 95. А я целенаправленно решаю более трудную задачу - специально взял такие специфические платформы, которые требуют очень особого подхода при разработке, такие как Java micro edition, DOS с CGA-графикой, Спектрум и MSX. На них эмулятор Windows не запустишь, а значит подход к разработке должен быть нетривиальным. И конечно у моего решения есть недостатки. Но совсем не те, которые вы с denpopov'ым даже не трудитесь вербализовать. Вы эти проблемы мультиплатформенности полностью игнорируете и никаких решений вообще не предлагаете, ибо сильно зациклены на проце Z80 и наиболее качественном для него ручном кодировании. Ну занимайтесь. Или коробки спичечные коллекционируйте, это ваше дело. Но почему столько бешенства и слюны в мою сторону?

    И XDev - не просто мощная среда. Это уникальная среда, вообще не имеющая аналогов, ибо объединяющая (или пытающаяся объединить) такие таргеты, которые никто до неё не пробовал объединить. А старинные они или нет - это неважно, в том смысле что если таргеты такие разномастные, то туда можно припилить вообще что угодно. И это так.

    Так что наезды в стиле "мне эта нинада" меня никак не колышут. А за наезды в стиле "никому это нинада" буду тыкать носом в г-но, и, считаю, заслуженно. Потому что каждый вправе не только коллекционировать спичечные коробки, но и рассказывать об этом другим. И пусть, раз вам не нравится обсуждать в этой ветке вопросы ZXDev, её целью будет именно это тыкание, раз уж нет другой, более достойной цели.

  3. #323

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Q-Master Посмотреть сообщение
    При чем тут перевызов? И да, в данном контектсе это будет ф-ция делегат.
    Потому что основная задача паттерна "делегат" - именно перевызов. Равно как и прочих подобных паттернов (прокси, мост, фасад - первое что на ум приходит). И почему это плохо?

  4. #324

    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Потому что основная задача паттерна "делегат" - именно перевызов. Равно как и прочих подобных паттернов (прокси, мост, фасад - первое что на ум приходит). И почему это плохо?
    Где конкретно я написал про плохо? И да, агрегация везде где ни попадя - раздражает, как и наследование везде где ни попадя, как и шаблонное программирование там где шаблоны просто ненужны. Ну и таких "раздражает" будет очень дофига.

  5. #325

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Q-Master Посмотреть сообщение
    Где конкретно я написал про плохо?
    Тут
    Цитата Сообщение от Q-Master Посмотреть сообщение
    Закрыть обратно нафиг.


    ---------- Post added at 20:13 ---------- Previous post was at 20:11 ----------

    Цитата Сообщение от Q-Master Посмотреть сообщение
    И да, агрегация везде где ни попадя - раздражает, как и наследование везде где ни попадя, как и шаблонное программирование там где шаблоны просто ненужны. Ну и таких "раздражает" будет очень дофига.
    Конечно, неправильное использование инструментов- зло.
    Проблема в том, что сторонний наблюдатель (оценивающий это самое везде где ни попадя) не всегда обладает полнотой информации и, соответственно, не может оценить нужность или не нужность агрегации, наследования или шаблонного программирования.
    Другое дело, если сам автор внятно объяснить не может зачем он это сделал.

  6. #326

  7. #327

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

    По умолчанию

    Вот пример кода, к которому будет трудно придраться даже самому искушённому кодеру. Проделана конечно чёртова работа, но, раз сделанная, остаётся таковой. Это пример, неважно что маленький, того, как я представляю себе кодогенерацию ZXDev с ЯВУ, доступную кодеру на ZX-бейсике, даже не знающему Си и асма. Если сделать на это ставку и начать развивать, наполнять кодовую базу, то это будет неизмеримо круче, чем есть сейчас. Мне несколько обидно, что кто-то вместо того чтобы развивать это направление, упивается процессом кодинга на асме, который не претерпел особых изменений с 1985 года. И которому развиваться дальше в общем-то некуда.
    Код:
    MODULE Durak; (** non-portable *)
    IMPORT B := Basic;
    
    (* ========================================================================== *)
    
    PROCEDURE Main; (* Prepare title, init game data. *)
    VAR
      radius: INTEGER;
    BEGIN (*$MAIN*)
      B.Init;
    
      (* Prepare screen & title, set up colors, write "WAIT...": *)
      (* ------------------------------------------------------- *)
      B.OVER(B.Off); B.FLASH(B.Off); B.INVERSE(B.Off); B.BRIGHT(B.Off);
      B.PAPER(B.Black); B.INK(B.LightGray); B.BORDER(B.Black); B.CLS;
      B.AT(21, 3); B.PRSTR("WAIT...");
    
      (* Draw invisible circles & prepare drawing logotype "M": *)
      (* ------------------------------------------------------ *)
      B.INVERSE(B.Off); B.INK(B.Blue);
      radius := 8;
      REPEAT B.CIRCLE(121, 85, radius); INC(radius, 8) UNTIL radius = 72;
      B.POKE(23112, B.Blue); (* Fix attrib for accuracy. *)
      B.Quit;
    END Main;
    
    END Durak.
    Код:
    ;	---------------------------------
    ; Function Durak_Main
    ; ---------------------------------
    _Durak_Main:
    ;Durak.c:16: Basic_Init();
    	DI 
    	RES 4, 1(IY) 
    ;Durak.c:17: Basic_OVER(0);
    	ld c,#0 
    	call	_Basic_OVER_ROM_fastcall
    ;Durak.c:18: Basic_FLASH(0);
    	ld c,#0 
    	call	_Basic_FLASH_fastcall
    ;Durak.c:19: Basic_INVERSE(0);
    	ld c,#0 
    	call	_Basic_INVERSE_ROM_fastcall
    ;Durak.c:20: Basic_BRIGHT(0);
    	ld c,#0 
    	call	_Basic_BRIGHT_fastcall
    ;Durak.c:21: Basic_PAPER(0);
    	ld c,#0 
    	call	_Basic_PAPER_fastcall
    ;Durak.c:22: Basic_INK(7);
    	ld c,#7 
    	call	_Basic_INK_fastcall
    ;Durak.c:23: Basic_BORDER(0);
    	xor a 
    	call 0x229B 
    ;Durak.c:24: Basic_CLS();
    	call	_Basic_CLS_ZX
    ;Durak.c:25: Basic_AT(21, 3);
    	call	_Basic_AT_ROM_fastcall
    	.db 21,3 
    ;Durak.c:26: Basic_PRSTR((CHAR*)"WAIT...", (LONGINT)8);
    	call	_Basic_PRSTR_C_ROM_fastcall
    	.ascii "WAIT..." 
    	.db 0x00 
    ;Durak.c:27: Basic_INVERSE(0);
    	ld c,#0 
    	call	_Basic_INVERSE_ROM_fastcall
    ;Durak.c:28: Basic_INK(1);
    	ld c,#1 
    	call	_Basic_INK_fastcall
    ;Durak.c:30: do {
    	ld	de,#0x0008
    00104$:
    ;Durak.c:31: Basic_CIRCLE(121, 85, radius);
    	push	de
    	push	de
    	ld	hl,#0x5579
    	push	hl
    	call	_Basic_CIRCLE_DI
    	pop	af
    	pop	af
    	pop	de
    ;Durak.c:32: radius += 8;
    	ld	hl,#0x0008
    	add	hl,de
    	ex	de,hl
    ;Durak.c:33: } while (!(radius == 72));
    	ld	a,e
    	sub	a,#0x48
    	jr	NZ,00104$
    	or	a,d
    	jr	NZ,00104$
    ;Durak.c:34: Basic_POKE(23112, 1);
    	ld	hl,#0x5A48
    	ld	(hl),#0x01
    ;Durak.c:35: Basic_Quit();
    	LD HL, #0x2758 
    	EXX 
    	LD IY, #0x5C3A 
    	EI 
    	ret
    P.S. Да знаю что всё равно придерётесь, ну и фиг с вами. ;-)

    P.P.S. Видели исходники Exolon'a? Не переписать ли Exolon на Oberon? ;-)
    Вложения Вложения
    • Тип файла: zip Durak.zip (1.0 Кб, Просмотров: 78)
    Последний раз редактировалось Oleg N. Cher; 16.12.2014 в 06:16.

  8. #328

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,103
    Спасибо Благодарностей отдано 
    1,338
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию три замечания

    1. Кодер ZX-basic-а не знает что такое "PROCEDURE","VAR","Main","INTEGER","BEGIN ","END","REPEAT","UNTIL","IMPORT","MODULE"
    И что такое точка в выражениях вида "B.Init"
    Поэтому надо честно говорить, что придется пролистать книжку про введение в оберон или объект паскаль, либо придётся задавать определённое количество "глупых" вопросов на форумах.
    Если он знает Си, то число глупых вопросов сократится на 40%.
    Если знает Паскаль или Дельфи, то на 80%, а об остальном можно будет догадаться самому. Но и догадываться это тоже интеллектуальный труд.
    2. Неизвестно, есть ещё куда развиваться кодингу на асме (как науке) или нет. Возможно есть пути, которые не видны. Но я почти уверен, что понимание асма конкретным человеком, полезно развивать.
    3. REPEAT UNTIL лучше не писать в одну строчку, тогда знающему Си будет проще догадаться, что эти слова - части одной структуры цикла.
    Код:
    REPEAT 
      B.CIRCLE(121, 85, radius); 
      INC(radius, 8) 
    UNTIL radius = 72;


    ---------- Post added at 11:39 ---------- Previous post was at 11:35 ----------

    4. И как ZX-basic-кодеру догадаться, что верхний "код" это то исходник на обероне, а нижний "код" это что получается на асме после компиляции. Блоки кодов лучше подписывать.

  9. #329

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

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    1. Кодер ZX-basic-а не знает что такое "PROCEDURE","VAR","Main","INTEGER","BEGIN ","END","REPEAT","UNTIL","IMPORT","MODULE"
    Мне сложно представить кодера на ZX-бейсике, который никогда не видел Hisoft Pascal'я или структурных версий бейсика типа BetaBasic и MegaBasic. И потом, кодер - он ведь кодер, а не блондинка.

    Цитата Сообщение от Reobne Посмотреть сообщение
    Поэтому надо честно говорить, что придется пролистать книжку про введение в оберон или объект паскаль, либо придётся задавать определённое количество "глупых" вопросов на форумах.
    А почему тебя это так напрягает?

    Мне самому пришлось очень вдумчиво изучать низкоуровневый кодинг, а после него - не менее вдумчиво компонентный подход в Дельфи. Хотя теперь я не считаю это сложным. Но полезным считаю. Что предлагаю я? Изучить сбалансированный и компактный модульный язык, квинтэссенцию программных абстракций, уточнённых временем. Углубить знания в области написания батников (принцип пригодится для продвинутого использования любой ОС), присмотреться к Си. Многие здесь на форуме слышали что Си это круто, имеют смутное представление о Си и C++, но верят. И они же слышали, что Оберон это отстой. И тоже верят. А когда начинаешь говорить про достоинства Оберон-парадигмы - не верят.

    Цитата Сообщение от Reobne Посмотреть сообщение
    Если он знает Си, то число глупых вопросов сократится на 40%.
    Если знает Паскаль или Дельфи, то на 80%, а об остальном можно будет догадаться самому. Но и догадываться это тоже интеллектуальный труд.
    То есть присутствует желание чтобы и ничего не читать, и ничего не узнавать, и чтобы жизнь была лёгкой и приятной, а всё само делалось, да? Но панацею я и не предлагаю. Абсолютно любая технология требует времени на её освоение. Нужно и книги читать, и на форумах глупые вопросы писать. А как же иначе. А Оберон не такой уж большой язык, он гораздо компактнее Си. И освоить его проще.

    Цитата Сообщение от Reobne Посмотреть сообщение
    2. Неизвестно, есть ещё куда развиваться кодингу на асме (как науке) или нет. Возможно есть пути, которые не видны. Но я почти уверен, что понимание асма конкретным человеком, полезно развивать.
    Я соглашаюсь. Но не менее важно уметь мыслить модульными категориями и абстракциями. Я читаю форум и понимаю, что у многих здешних лоу-левел кодеров отсутствуют знания о "большом" программировании, о том как устроена и работает большая программная система, как её поддерживать и дорабатывать. Очень многие не догадываются про системы контроля версий и их преимущества. Расти личностно программисту всегда есть куда. Почему они считают что асм важнее всего этого?

    Цитата Сообщение от Reobne Посмотреть сообщение
    3. REPEAT UNTIL лучше не писать в одну строчку, тогда знающему Си будет проще догадаться, что эти слова - части одной структуры цикла.
    Опять отсылаю к HisoftPascal, Beta- и MegaBasic.

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

    Цитата Сообщение от Reobne Посмотреть сообщение
    4. И как ZX-basic-кодеру догадаться, что верхний "код" это то исходник на обероне, а нижний "код" это что получается на асме после компиляции. Блоки кодов лучше подписывать.
    Я думаю, кодеры догадаются. Не блондинки.
    Последний раз редактировалось Oleg N. Cher; 16.12.2014 в 08:26.

  10. #330

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,103
    Спасибо Благодарностей отдано 
    1,338
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Мне сложно представить кодера на ZX-бейсике, который никогда не видел Hisoft Pascal'я или структурных версий бейсика типа BetaBasic и MegaBasic. И потом, кодер - он ведь кодер, а не блондинка.
    Но ведь ты писал ранее:
    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    ... доступную кодеру на ZX-бейсике, даже не знающему Си и асма.
    Так к какой аудитории твой посыл? Не знающий Си и асма, но... знающий структурные версии бейсика и/или паскаль. Это уже другой уровень!

Страница 33 из 91 ПерваяПервая ... 293031323334353637 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. мощная игрушка
    от ZEman в разделе Игры
    Ответов: 128
    Последнее: 23.03.2024, 17:05
  2. Ответов: 5
    Последнее: 20.06.2011, 03:18
  3. Видеоконтроллер из пяти микросхем
    от zx-kit в разделе Изображение
    Ответов: 20
    Последнее: 31.03.2011, 14:48

Метки этой темы

Ваши права

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