На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 271 272 [273] 274 275 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата Вуйко з полонини @
    а расскажи ка мне чего нет в коре джава, и что есть в коре плюсов.
    Указатели и шаблоны. Мне этой добавки хватит, чтобы склонить чашу весов. Да, я имею в виду, что остальное сам допишу, но... тс-с-с, я этого не говорил.
    Цитата DesweR @
    Они бывают нужны в некоторых ситуациях, помнишь пример с VCL? аналогичного решения без вирт. методов в конструкторе так никто и не показал.
    Здрассссти-пжалста. Это ты их просто 328 (триста двадцать восемь прописью) раз не увидел.
    Цитата korvin @
    кстати по поводу отлова исключений, допустим есть такой код:
    ...
    определит ли компилятор наследственные связи и переставит ли код таким образом, чтобы вначале проверялось правило
    Нет. (Но выдать варнинг должен. Вроде.) Да и не должен он ничего переставлять, вдруг так и задумано - ведь играет роль не только, кто кому предок, но и доступен ли он. При непубличном или неоднозначном базовом классе никто ничего не скроет.
      Цитата korvin @
      Цитата D_KEY @
      Если подумать, то должно быть, как в С++ :)

      это смотря о чем подумать =)

      Можешь привести свою цепь логических рассуждений?
        Цитата D_KEY @
        Компилятор это делать не должен. Максимум warning. Программист указывает сам в каком порядке осуществлять проверку.
        Что-то у тебя компилятор слишком много на себя берет. То же сопоставление с образцом даже в хаскеле учитывает порядок образцов, ведь так ;) ?

        а почему не должен? ну пусть даже ворнинг хотя бы, или ошибку компиляции. ну какой смысл в обработчике, который никогда не выполнится? и что ты имеешь в виду про учет порядка в хаскелле?
          Цитата korvin @
          ну пусть даже ворнинг хотя бы, или ошибку компиляции.

          ворнинг вроде будет в большинстве реализаций(я про С++, в Java - не знаю).

          Цитата
          и что ты имеешь в виду про учет порядка в хаскелле?

          Ну в case-выражении ведь паттерны проверяются в порядке следования? Или компилятор их переставляет в нужном порядке?
            Цитата korvin @
            ну какой смысл в обработчике, который никогда не выполнится?
            А какой смысл в коде:
            ExpandedWrap disabled
              goto label;
               a = b;
            присваивание ж никогда не будет выполняться. Однако это не нарушает грамматику языка, потому - это варнинг, а не эррор. Нормальные пацаны, которые не джуниоры у Вуйко з полонини на побегушках, знают, что любой варнинг - это ошибка. Всего-то разницы, что компилер при эрроре код сгенерить не способен, а при варнинге способен, но от этой способности ошибка быть таковой не перестаёт.
              ну скажем на такой код:
              ExpandedWrap disabled
                map' f [] = []
                map' f   xs   = head xs : map' f (tail xs)
                map' f (x:xs) = f x : map' f xs

              и такой:
              ExpandedWrap disabled
                map' f [] = []
                map' f (x:xs) = f x : map' f xs
                map' f   xs   = head xs : map' f (tail xs)

              GHC выдаст варнинг:
              ExpandedWrap disabled
                test.hs:1:0:
                    Warning: Pattern match(es) are overlapped
                             In the definition of `map'': map' f (x : xs) = ...
                Ok, modules loaded: Main.

              но схавает. соответственно результат map' (+ 1) [1, 2, 3] будет разный в зависимости от порядка образцов.

              а такое определение:
              ExpandedWrap disabled
                map' f xs = head xs : map' f (tail xs)
                map' f [] = []

              приведет к ошибке в рантайме =) если только список не бесконечный
                Цитата [S]mike @
                Ты ссылку мою курил? Там все есть, кроме серверного софта.

                Ну раскажи тогда что там есть из популярных игр и софта под мобайл.
                Цитата [S]mike @
                Насчет банков - вот покури вакансии в твоем любимом городе: http://www.jobisjob.co.uk/london/delphi/jobs

                Бугага! Ты зарплаты видел? 35-40 килофунтов в год. Это примерно уровень студента. В банках на постоянке джавистам или плюсовикам хорошего уровня будут платить от 60 до 100, а контрактникам я просто не буду говорить, дабы у тебя сердце не встало. А так да, в моём любимом городе вакансии есть, но их мало и они отстойные.
                Цитата [S]mike @
                Ничего, через годик будет и дельфи: http://www.itwriting.com/blog/4636-embarca...-to-follow.html

                Ага, будет, мечтай :tong: Могу поспорить на литр вискаря. Готов?

                Цитата [S]mike @
                Сайты на Дельфи? На, покури:
                http://corporate.digitalriver.com/

                :facepalm:
                  Цитата D_KEY @
                  Можешь привести свою цепь логических рассуждений?

                  конструктор -- метод класса (в смысле Class.create например) и фактически из него доступна уже готовая структура объекта, с которой можно "работать" -- инициализировать ее, соответственно, поскольку в джаве все методы виртуальны, то и метод draw будет выбран по фактическому классу структуры, т.е. RoundGlyph в том случае
                    Цитата Qraizer @
                    Нормальные пацаны, которые не джуниоры у Вуйко з полонини на побегушках

                    Красиво тролишь, продолжай :popcorn:
                      Та причём тут. Ты ж сам такими недоволен.
                        ха, в жаве ошибка компиляции:
                        ExpandedWrap disabled
                          exception ru.sources.forum.SpecificException has already been caught
                          Цитата korvin @
                          выдаст варнинг

                          Ну вот и тут так же.
                            ExpandedWrap disabled
                              #include <iostream>
                               
                              struct A
                              {
                                virtual ~A(){}
                              };
                               
                              struct B: private A {};
                               
                              void f()
                              {
                                throw B();
                              }
                               
                              int main()
                              {
                                try
                                {
                                 f();
                                }
                                catch(const A&)
                                {
                                 std::cerr << "An A has been catched" << std::endl;
                                }
                                catch(const B&)
                                {
                                 std::cerr << "A B has been catched" << std::endl;
                                }
                              }


                            ExpandedWrap disabled
                              D:\Work\DelMe>cl -EHs 1.cpp
                              Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86
                              Copyright (C) Microsoft Corporation.  All rights reserved.
                               
                              1.cpp
                              1.cpp(25) : warning C4286: 'const B &' : is caught by base class ('const A &') on line 21
                              Microsoft (R) Incremental Linker Version 8.00.50727.42
                              Copyright (C) Microsoft Corporation.  All rights reserved.
                               
                              /out:1.exe
                              1.obj
                               
                              D:\Work\DelMe>1.exe
                              A B has been catched
                              Цитата korvin @
                              конструктор -- метод класса

                              ok

                              Цитата
                              и фактически из него доступна уже готовая структура объекта

                              А вот тут уже не согласен. "Структура"-то может и готова, а вот концептуально объект не готов. Про инварианты слышал?
                              Впрочем, тут еще сказывается то, что в Java нельзя управлять порядком вызова конструктора предка - он всегда будет вызван до конструктора потомка.

                              Цитата
                              метод draw будет выбран по фактическому классу
                              Класс известен(поэтому виртуальные классовые методы вызывать можно), а вот объекта еще нет.
                                Цитата D_KEY @
                                Ну вот и тут так же.

                                я не говорил, что мне это нравится в хаскелле и я считаю это нормальным. =)

                                Добавлено
                                Цитата D_KEY @
                                Про инварианты слышал?

                                про методы инициализации слышал? при чем тут инварианты? они (методы инициализации) их не нарушают
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 271 272 [273] 274 275 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 1.9607 ]   [ 15 queries used ]   [ Generated: 1.08.26, 17:32 GMT ]