Page 8 of 18 FirstFirst 1234567891011121314151617 ... LastLast
Results 71 to 80 of 179

Thread: objective-c

  1. #71
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    А насколько часто нужно доопределять что-то в runtime? Нет, это конечно мощно и круто, но открывает ящик Пандоры.
    Ну представь ты читаешь окошко или виджет из файла. В статическом языке, тебе надо что б этот виджет был заточен под то, чтобы содержать цепочку декораторов отвечающих за отработку событий, отрисовку и т.д. В динамическом ты добавляешь в этот виджет методы по мере подгрузки. Опять же про ящики пандоры, смотрим на boost preprocessor metaprogramming library, Boost.function и Boost.Any, Boost.MPL, там это тоже можно все (потому как не хватает), только все сложнее в 100 крат.
    Стакан на треть пуст.

  2. #72
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Я уже немного говорил об одном парадоксе - очень строгая иерархия классов ( когда все классы происходят от Object ) фактически уничтожает типизацию , поскольку допускается приведение от одного типа данных к другому через Object.
    Таких фрейворков кстати довольно много было, типизация правда при этом не уничтожается совсем, ведь ты же не сможешь У Object вызывать методы работы с базой, например, если они определены в наследнике Database и не объявлены в Object. Все это наследование от Object попытка обойти типизацию, но т.к. язык это не позволяет сделать нормально, то обход получается очень корявый, со всяким даункастами или их аналогами.
    Стакан на треть пуст.

  3. #73
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    Таких фрейворков кстати довольно много было, типизация правда при этом не уничтожается совсем, ведь ты же не сможешь У Object вызывать методы работы с базой, например, если они определены в наследнике Database и не объявлены в Object. Все это наследование от Object попытка обойти типизацию, но т.к. язык это не позволяет сделать нормально, то обход получается очень корявый, со всяким даункастами или их аналогами.
    Вообще-то был ещё вариант тип данных anytype.
    Правда тип данных anyobject даже в Java никто не предложил создать. В JavaScript вот можно getter и setter методы для любого "объекта" переопределять. Самое смешное , что ActionScript 3 у Adobe "подпольно" поддерживает "пожелания с точки зрения здравого смысла". Там inheritance довольно сильно "глючит" , а контейнерные классы работают нормально.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  4. #74
    Forum Hero Alex_3112's Avatar
    Join Date
    Jul 2005
    Location
    Туц Оукыун
    Posts
    12,761

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    В динамическом ты добавляешь в этот виджет методы по мере подгрузки.
    И чего в этом хорошего?
    При переходе от строгой типизации к динамической, мы теряем возможность статического анализа кода. Если в динамическом коде что-то глючит, "поймать" это можно только в runtime. А runtime, он разный бывает.

  5. #75
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    И чего в этом хорошего?
    Это проще, меньше заранее надо думать а какие еще кейсы надо поддержать. В статике, нередко появляется новый кейс и упс, происходит понимание что он не вписывается в текущую иерархию, и надо ее перекраивать. А это дорогая операция.
    Quote Originally Posted by Alex_3112 View Post
    При переходе от строгой типизации к динамической, мы теряем возможность статического анализа кода. Если в динамическом коде что-то глючит, "поймать" это можно только в runtime. А runtime, он разный бывает.
    Ну вот посыл, что мы поймаем баги на этапе статиического анализа, это ложный посыл. Т.е. какие то баги ловятся, но их не так много как хотелось бы и все равно надо писать тесты. А если их надо писать, то уже все равно, полезность статического анализа не велика (для поимки багов).
    Стакан на треть пуст.

  6. #76
    T-16 Tohuvabohu-Jurokugou Sixteen's Avatar
    Join Date
    Dec 2005
    Posts
    56,588

    Default Re: objective-c

    molodec rednek, delo govorit.
    glavnoe delo shtob dinamika byla prosta i logichna.
    a ne slozhna i nevozmozhna dlya ponimaniya.
    Fabricati Diem PVNC
    Повышайте свой интеллект и вы станете монстр (С) Островский

  7. #77
    T-16 Tohuvabohu-Jurokugou Sixteen's Avatar
    Join Date
    Dec 2005
    Posts
    56,588

    Default Re: objective-c

    kstati veb brouzer - naiyarchashiy primer dinamicheskogo interfejsa,
    gde staticheskimi javljautsja tol'ko pravila postroenija.
    Fabricati Diem PVNC
    Повышайте свой интеллект и вы станете монстр (С) Островский

  8. #78
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by Sixteen View Post
    kstati veb brouzer - naiyarchashiy primer dinamicheskogo interfejsa,
    gde staticheskimi javljautsja tol'ko pravila postroenija.
    Даже "правила построения" в этом случае не являются "статическими".
    ( но правила построения правил являются статическими )
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  9. #79
    T-16 Tohuvabohu-Jurokugou Sixteen's Avatar
    Join Date
    Dec 2005
    Posts
    56,588

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Даже "правила построения" в этом случае не являются "статическими".
    ( но правила построения правил являются статическими )
    dyk. potomu on gipertekst i nazyvaetsa!
    Fabricati Diem PVNC
    Повышайте свой интеллект и вы станете монстр (С) Островский

  10. #80
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by Sixteen View Post
    dyk. potomu on gipertekst i nazyvaetsa!
    Даже lynx уже не является только гипертекстом.
    Но мы уже отклоняемся от темы. Автор самого 1го поста ведь спрашивал - какой язык программирования ему лучше "изучать". Если он дочитает до этой страницы - то поймёт , что ни в коем случае таким неблагодарным делом как "изучение языков программирования" ему заниматься не нужно. Это просто опасно для психического здоровья ( особенно объектно-ориентированные с поддержкой multiple inheritance и templates ). Вообще-то даже после "тесного знакомства" с языком sh может крыша поехать. - таких шизофреничеки-"простых" средств для организации "параллельных процессов" ведь почти нигде больше нет.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

Page 8 of 18 FirstFirst 1234567891011121314151617 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Russian America Top. Рейтинг ресурсов Русской Америки. Terms of Service | Privacy Policy Рейтинг@Mail.ru