Page 15 of 18 FirstFirst ... 56789101112131415161718 LastLast
Results 141 to 150 of 179

Thread: objective-c

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

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    Ты слышал о duck-typing? Он неплохо справляется с задачей. Если тебе надо записать объект в базу, то тебе нужно пара методов: save и validate. И не надо все остальное (ну например). В статическом языке, чтобы добится этого тебе нужно иметь четко выделеный интерфейс с этими методами, как отдельную сущность, например Storable. А в куске кода, который читает объект из строки и записывает его в базу, нужен еще метод: load_from_string. Со Storable этот кусок уже работать не может и ему либо надо кросскастать, либо работать с более конкретными классами.
    Определяем StorableAbstractClass где load_from_string() выбрасывает exception. И вместо Storable работаем с Abstract Class.

    Приведу еще одну метафору.
    Мне удобно, когда ручка лежит не в верхнем ящике стола, а прямо на столе. Не нужно открывать ящик и искать там ручку.
    Мне удобно, когда папка с документами лежит не в нижнем ящике стола, а прямо на столе. Не нужно нагибаться, открывать ящик и доставать оттуда папку.
    Мне удобно, когда книга, которая мне нужна, не стоит на полке, а лежит прямо на столе. Не нужно вставать со стула, идти к шкафу, брать книгу и идти обратно.
    За день мне может понадобиться много папок и книг.
    К концу для я могу понять, почему книги все-таки обычно стоят на полке, а папки лежат в ящике стола.
    Если я не пойму этого сегодня, то на следующий день это случится точно.

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

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Мы об этом ведь уже говорили.
    Но там ещё одна очень смешная вещь есть - "очень правильная объектно-ориентированная программа" со всей своей очень строгой типизацией довольно часто компилируется в просто неработающий код. ( там все эти наследования и конструкторы перепутаются так - что исполняемый код сведётся к единственной команде ret в лучшем случае ).
    От таких вещей никакая строгая типизация не защищает вообще.
    Да, мы ходим по кругу. Продолжая по нему ходить, повторюсь, что ошибки из за несоответствия типов вылавливают совсем не так много проблем как хотелось бы. Есть еще алгоритмические ошибки, работа со внешними ресурсами, парсинг пользовательского ввода, подгрузка не тех либ, несоответствие каких нибудь pragma в хедерах, и миллион миллион всего друго, отличного от такого частного случая как неприводимость типов.
    Стакан на треть пуст.

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

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    Определяем StorableAbstractClass где load_from_string() выбрасывает exception. И вместо Storable работаем с Abstract Class.
    Как говорится что и требовалось доказать, от статической проверки типов легким движением руки перешли к runtime ошибкам.
    Стакан на треть пуст.

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

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    По-моему опыту - у клиента практически не бывает "кривого браузера". Клиент только кеш забывает очищать. А в самом языке Java именно глюки наблюдались при переходе от одной версии к другой ( swing и awt чуть по-разному работали после перехода с 1.3 на следующую.
    Это GUI, тут всего можно ожидать. А вот разница между браузерами, и даже версиями браузера может гораздо чувствительнее отражаться на JavaScript. У меня была куча примеров.

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

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    Да, мы ходим по кругу. Продолжая по нему ходить, повторюсь, что ошибки из за несоответствия типов вылавливают совсем не так много проблем как хотелось бы. Есть еще алгоритмические ошибки, работа со внешними ресурсами, парсинг пользовательского ввода, подгрузка не тех либ, несоответствие каких нибудь pragma в хедерах, и миллион миллион всего друго, отличного от такого частного случая как неприводимость типов.
    Эти ошибки несоответствия типов вообще не вылавливают собственно проблемы. В конце-концов (C++ по-варварски ) можно операцию + переопределить с параметрами void& , void& и никакой компилятор для неё не будет выдавать никаких предупреждений.

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

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    Это GUI, тут всего можно ожидать. А вот разница между браузерами, и даже версиями браузера может гораздо чувствительнее отражаться на JavaScript. У меня была куча примеров.
    Как только отказались от IE у клиентов - все проблемы практически исчезли. Для всего остального просто есть "общее подмножество JavaScript+DOM" ( отличается только Drag-and-Drop в Firefox. ).

  7. #147
    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. Непринципиально, ловим мы exceptions или пишем if-else. Важно, что если просходит ошибка, мы всегда знаем, какой исходный файл открыть и увидеть, откуда эта ошибка взялась.

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

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Как только отказались от IE у клиентов - все проблемы практически исчезли.
    Эх, не все могут позволить себе такую роскошь

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

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Эти ошибки несоответствия типов вообще не вылавливают собственно проблемы. В конце-концов (C++ по-варварски ) можно операцию + переопределить с параметрами void& , void& и никакой компилятор для неё не будет выдавать никаких предупреждений.
    Правда чтоль? Помнится плюсы более "строги".
    Стакан на треть пуст.

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

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    Пардон, но если мы признаем наличие ситуации, что объект может не поддерживать какую-то функцию, мы должны справляться с этой ситуацией в runtime. Непринципиально, ловим мы exceptions или пишем if-else. Важно, что если просходит ошибка, мы всегда знаем, какой исходный файл открыть и увидеть, откуда эта ошибка взялась.
    Ну так и в динамическом - то же самое, открываешь файл и смотришь где ошибка взялась. Или ловишь экцепшн и смотришь его стэктрейс. И тела функций еще можно посмотреть, а не только имена.
    Стакан на треть пуст.

Page 15 of 18 FirstFirst ... 56789101112131415161718 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