User Tag List

Страница 31 из 91 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя
Показано с 301 по 310 из 907

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

  1. #301

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    И с чего сделан такой вывод?
    Придумай хоть одно практическое применение тому наследованию, которое описано Абстрактные классы, виртуальные функции - ничего же таким образом не реализовать. А там, где реализовать, там аггрегированный родительский элемент в принципе не нужен, достаточно статического метода (глобальной функции). Тут какая-то подмена наследования mixin-ами, кмк.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

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

  3. #302

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Придумай хоть одно практическое применение тому наследованию, которое описано
    Аффтар всего лишь рассуждает, можно ли полностью отказаться от наследования имплементации в пользу агрегирования (имхо, можно и даже нужно! И да, читай замечания).

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Абстрактные классы, виртуальные функции - ничего же таким образом не реализовать
    Мысли шире. Назови наследование от абстрактного интерфейса имплементацией (ибо де-факто ничего, кроме описательной части не наследуется) и вполне сможешь избавиться.

    Цитата Сообщение от Eltaron Посмотреть сообщение
    А там, где реализовать, там аггрегированный родительский элемент в принципе не нужен, достаточно статического метода (глобальной функции).
    Пример дашь?

  4. #303

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Пример дашь?
    Навскидку
    Код:
    public Base
    {
    	virtual int GetSomething1() = 0;
    	virtual int GetSomething2() = 0;
    	virtual int GetSomething3() = 0;
    	virtual int GetSomething4() = 0;
    
    	void DoJob() { print((GetSomething1()+GetSomething2()+GetSomething3()+GetSomething4())  * 57.2418); }
    }
    
    public Child : Base
    {
    	int GetSomething1() { return 90; }
    	int GetSomething2() { return 5; }
    	int GetSomething3() { return 17; }
    	int GetSomething4() { return 9; }
    }
    переписывается в идеологии статьи как

    Код:
    typedef int (*get_something)();
    
    public Base
    {
    	void DoJob(get_something param1, get_something param2, get_something param3, get_something param4) 
    	{
    		print((param1() + param2() + param3() + param4()) * 57.2418); 
    	}
    }
    
    public Child
    {
    	Base* base;
    	Child(Base* base) { this.base = base; }
    
    	void DoJob() { base->DoJob(GetSomething1, GetSomething2, GetSomething3, GetSomething4) };
    	int GetSomething1() { return 90; }
    	int GetSomething2() { return 5; }
    	int GetSomething3() { return 17; }
    	int GetSomething4() { return 9; }
    }
    Я, наверное, слишком привередлив, но мне кажется, что это хрень какая-то. Если бы я хотел передавать в функцию указатель на каждую требующуюся ей функцию, я бы писал на хаскелле. И это ещё методы примитивные, с 0 параметров! Даже на си с его полиморфизмом через структуры указателей это всё было бы в разы лаконичней.
    Потому статья и тянет скорее на теоретические измышления, чем на практическую ценность.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  5. #304

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

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    переписывается в идеологии статьи как
    Нет. Посмотри внимательнее, чем отличаются просто функции (глобальные) и методы класса (не важно, виртуальные или нет).

  6. #305

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Олег, за весь мир не скажу, но конкретно по этому сообществу - в основном тут люди, ностальгирующие детскими увлечениями. Вот было многое на ZX помимо ассемблера и бэйсика - и C, и паскаль, и форт, и лого, и всякие высокоурвневые редакторы... Но вот Оберона не было ну совсем. Не аутентично оно как-то. Это основная причина непопулярности Оберона здесь. Кстати, как и прочих JScript'ов, кросс-паскалей и даже новомодных фишек АТМ'а (его SDK, например). Остальное вторично.
    Неа. Hisoft Паскаль и ассемблер (Gens) фиговаты, не удобны. Особенно бесит нумерация строк. На их Паскале серьезного ничего не напишешь. Поэтому пишем свои компиляторы.

  7. #306

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

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Hisoft Паскаль и ассемблер (Gens) фиговаты, не удобны.
    Не знаю как обстоит дело с Паскалем для Z80, а у GENS'а есть достаточно удобных последователей. Да и в любом случае, компилятор Паскаля для Z80 я понимаю, сам даже баловался. А вот компилятор C# для Z80 не пойму.
    PS Вернее, не так. Компилятор с C# для Z80 не поймут именно тут.

  8. #307

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  9. #308

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

    По умолчанию

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

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

  10. #309

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Аффтар всего лишь рассуждает, можно ли полностью отказаться от наследования имплементации в пользу агрегирования (имхо, можно и даже нужно! И да, читай замечания).
    Хех. Судя по твоим словам, аффтар открыл делегаты - основную парадигму яблопрограммирования на objc.

  11. #310

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Лучше лишнего написать, чем лишний раз подумать.
    Я так не говорил. Лучше вдумчиво писать, чем постоянно думать о том, как можно было бы написать. У лентяя всегда инструменты виноваты.

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

    Цитата Сообщение от Vitamin Посмотреть сообщение
    И пока не осознаешь этого, так и будешь писать "брутальный *****код, представляющий собой кровавый замес из процедурного C, недообъектного и недотипизированного C++" (С)
    В том, что программы с ошибками пишутся, чаще всего виноваты люди, а не парадигмы.

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

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

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

Эту тему просматривают: 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

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

Ваши права

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