На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (245) « Первая ... 106 107 [108] 109 110 ...  244 245  ( Перейти к последнему сообщению )  
> Есть ли будущее у DELPHI?
    --Ins--, ты бы это в той теме написал. Это не аргумент успешного будущего Delphi :)

    Добавлено
    Цитата MyNameIsIgor @
    Цитата D_KEY @
    Значит таки у вас используются префиксы. Ок.

    Однако, оцени с каким пафосом было преподнесено!

    Ну так --Ins-- же :)
    Сообщение отредактировано: D_KEY -
      Цитата MyNameIsIgor @
      Однако, оцени с каким пафосом было преподнесено!


      Потому что это, ИМХО, совсем не мелочь, какой ее тут пытаются представить.

      Добавлено
      Цитата D_KEY @
      --Ins--, ты бы это в той теме написал.


      Да ну нафиг в ту тему встревать, у меня такой проблемы нет и пока не сел за C# - с роду не было, сами там разбирайтесь как так вышло что вопрос стоит ;)
        Цитата --Ins-- @
        Потому что это, ИМХО, совсем не мелочь, какой ее тут пытаются представить.

        Мне трудно представить себе соглашения по именованию, которым бы я не стал следовать, если бы речь шла об участии в интересном для меня проекте ;)
          Цитата D_KEY @
          Мне трудно представить себе соглашения по именованию, которым бы я не стал следовать, если бы речь шла об участии в интересном для меня проекте


          Да с проектом когда внутри все исходники свои все понятно, перестроиться несложно ;) А как быть с некой библиотекой общего назначения? Ты ведь не знаешь какие правила именования будут в команде, которая их использует. И не возникнут ли проблемы восприятия этого кода там. В c# я даже на MSDN разночтения в примерах находил, в одном написано так, а в другом - сяк. :wacko: Вот меня это честно напрягает, я не знаю как мне именовать идентификаторы, чтобы проблемы восприятия кода не было ни у кого. В Delphi - все просто, правила едины. Зато конечно других не упрекнешь в строгой дисциплине :wall:
          Сообщение отредактировано: --Ins-- -
            Цитата --Ins-- @
            В Delphi - все просто, правила едины.

            Если именование так критично, то его надо зашивать в язык, а не вырабатывать "всеобщие соглашения".
              Цитата --Ins-- @
              что вот это: TBar.Foo; - вызов классового метода, а вто это: Bar.Foo - вызов instance-метода, что TBar - это тип, Bar - это локальный идентификатор, FBar - это поле
              А если написано Time - это что? тип? переменная?

              Добавлено
              Здесь буковки F есть:
              ExpandedWrap disabled
                  TLangRec = packed record
                    FName: string;
                    FLCID: LCID;
                    FExt: string;
                  end;
              А здесь - нет:
              ExpandedWrap disabled
                  TTimeStamp = record
                    Time: Integer;      { Number of milliseconds since midnight }
                    Date: Integer;      { One plus number of days since 1/1/0001 }
                  end;

              LCID в первом фрагменте - это тип или нет?
              Сообщение отредактировано: trainer -
                Цитата trainer @
                А если написано Time - это что? тип? переменная?


                Переменная, потому что тип - это TTime

                Цитата trainer @
                LCID в первом фрагменте - это тип или нет?


                Это одноименный тип Windows, как и HWND, например, для них есть псевдонимы в Delphi-style (TLocaleID), но использование имен тех же что и в MSDN предпочтительнее.

                Добавлено
                Цитата trainer @
                А здесь - нет:


                Это не класс, это структура, перепутать поле это или не поле - невозможно
                Сообщение отредактировано: --Ins-- -
                  Цитата DesweR @
                  По первому: приводи живой пример, а так мне не очень то ясны возможности и ограничения этих коллекций.

                  ExpandedWrap disabled
                    #import <UIKit/UIKit.h>
                     
                    @interface ViewController : UIViewController
                     
                    @property (nonatomic, retain) IBOutletCollection(UITextField) NSArray *name;
                     
                    - (IBAction)setFieldsEnabled:(UISwitch *)sender;
                    - (IBAction)setRightAlign:(UISwitch *)sender;
                     
                    @end

                  ExpandedWrap disabled
                    #import "ViewController.h"
                     
                    @implementation ViewController
                     
                    @synthesize name;
                     
                    - (void)setFieldsEnabled:(UISwitch *)sender {
                        BOOL state = [sender isOn];
                        for (UITextField *field in name) {
                            [field setEnabled:state];
                        }
                    }
                     
                    - (void)setRightAlign:(UISwitch *)sender {
                        UITextAlignment alignment = [sender isOn] ? UITextAlignmentRight : UITextAlignmentLeft;
                        for (UITextField *field in name) {
                            [field setTextAlignment:alignment];
                        }
                    }
                     
                    @end

                  http://www.youtube.com/watch?v=_KAtEK7j06Y

                  а вот такое взаимодействие компонентов эти ваши делфи могут (если непонятно — ни единой строчки кода, даже компилировать не нужно, чтобы потестить):
                  http://www.youtube.com/watch?v=rFfmV89aHnc

                  или вот такое (всего две строчки кода: 1 и 2, даже и кодом-то не назовешь):
                  ExpandedWrap disabled
                    #import <Foundation/Foundation.h>
                    @interface Model : NSObject
                    @property (nonatomic) NSInteger value; // 1
                    @end

                  ExpandedWrap disabled
                    #import "Model.h"
                    @implementation Model
                    @synthesize value; // 2
                    @end

                  http://www.youtube.com/watch?v=MIo5EF2zDBY
                    Цитата --Ins-- @
                    Переменная, потому что тип - это TTime
                    А может TIme, оно же time, оно же TIME? Регистр буковок-то не различается. С чего это ты решил, что это TTime?

                    Цитата --Ins-- @
                    Это не класс, это структура, перепутать поле это или не поле - невозможно
                    Там вообще-то два фрагмента. Тебе первый не понравился? TLangRec не структура, а класс? А WordRec почему не имеет префикса T ?
                    ExpandedWrap disabled
                        WordRec = packed record
                          case Integer of
                            0: (Lo, Hi: Byte);
                            1: (Bytes: array [0..1] of Byte);
                        end;


                    Цитата --Ins-- @
                    но использование имен тех же что и в MSDN предпочтительнее.
                    Но они ведь не соответствуют:
                    Цитата --Ins-- @
                    В дельфи есть одно единственное общеупотребимое правило именования (смешанный регистр, класс с буквы T, интерфейс с буквы I, поле с буквы F, класс исключения с буквы E), а не кто на что горазд
                    Почему правило не соблюдается? Почему "кто на что горазд"?

                    Добавлено
                    А здесь класс? Почему префикс F отсутствует?
                    ExpandedWrap disabled
                        EHeapException = class(Exception)
                        private
                          AllowFree: Boolean;
                        public
                          procedure FreeInstance; override;
                        end;
                    Сообщение отредактировано: trainer -
                      Цитата trainer @
                      А может TIme, оно же time, оно же TIME? Регистр буковок-то не различается. С чего это ты решил, что это TTime?


                      Тогда он будет называться TIme, потому что в наименованиях в этом случае используется смешанный регистр, а не какой вздумается

                      Цитата trainer @
                      Но они ведь не соответствуют:


                      Соответствуют, просто в скобках в моей цитате я привел эти правило в сильно упрощенном виде. Коклассы например именуют с префикса Co, я это тоже там не упомянул, и к системным типам - вроде Integer, T тоже как правило не добавляется

                      Цитата trainer @
                      А здесь класс? Почему префикс F отсутствует?


                      Я думаю во всей VCL таких контрпримеров единицы, для тебя это безусловно повод прицепиться. :facepalm: Единичные недосмотры все же лучше, чем повальное отсутствие правил и повсеместное использование собственных стилей именования
                        Цитата --Ins-- @
                        Единичные недосмотры все же лучше, чем повальное отсутствие правил и повсеместное использование собственных стилей именования

                        Вопрос в том, кого они реально напрягают? Как code style вообще может быть каким-то препятствием для профессионального разработчика?
                          Цитата MyNameIsIgor @
                          Как code style вообще может быть каким-то препятствием для профессионального разработчика?


                          Сбивает с толку и ухудшает восприятие кода. Задай этот вопрос в соседней теме вообще
                            Цитата --Ins-- @
                            Сбивает с толку и ухудшает восприятие кода.

                            Оно может быть неприятно, но не "сбивать с толку" и не мешать работать.
                            Цитата --Ins-- @
                            Задай этот вопрос в соседней теме вообще

                            Да Господи, там просто потрындеть собрались ввиду общей унылости холиваров. Никто реально из-за code style сраться не будет.
                              Цитата DesweR @
                              Ох.. какие ты там серьёзные недостатки высмотрел?

                              Самый важный — это отсутствие каких-либо достоинств, ни рыба, ни мясо.

                              Цитата DesweR @
                              Основное достоинство RIA - это простота разработки богатых и интерактивных GUI

                              Богатых GUI? Это вот те убогие формочки в примере — богатый GUI?

                              Цитата DesweR @
                              и это не неправильный подход, а другая модель.

                              Для веба это именно что неправильный подход:
                              1. url'ов на ресурсы нет, в итоге из того примера например, там слева были вкладки с уже конкретными демками, конкретную демку:
                              1) в другой вкладке браузера не открыть, только полностью приложение, а потом искать;
                              2) в закладки не добавить;
                              3) никуда ссылку не передать, нигде не запостить;
                              4) в файл не сохранить для локального просмотра, разве что все приложение, и то не факт;
                              5) нормально не закешировать, разве что опять же все приложение целиком;
                              6) никакой истории, только если само приложение будет ее поддерживать.
                              2. стейта (для которого http в принципе не предназначен) в клиенте дохрена, что тоже никак не способствует выполнению вышеперечисленных операций;
                              3. требования к клиенту значительно выше => не везде может завестись. Вообще клиент не такой уж и тонкий получается.

                              А при правильном подходе полноценный десктопный GUI к веб-сервису пишется влегкую.
                              Сообщение отредактировано: korvin -
                                Проблема Дельфи в том, что язык не развивается практически. Некоторые фичи слизали с других языков только спустя 5 лет! А из своего что? Убогое глючное FireMonkey? На "нативном" компиляторе, который создает код медленнее джавы (а поскольку файрманки компилируется под мак и айось фрипаскалем, то еще медленнее)?

                                Кризис начался после Delphi 7. Вполне возможно, что это "головокружение от успеха", но от этого как-то не легче. Начиная с Delphi 8 Дельфи пошло по неправильному пути, потом пыталось догнать своих соперников, но не особо успешно, а сейчас вот опять пошли не в ту сторону. Вместо того чтобы утвердиться как взрослая платформа хотя бы под виндовз, Дельфи будет уделом кнопкокидателей еще и под Мак. А вот Виндовз с приближающимся релизом WinRT может легко ускользнуть от Дельфи-программистов.

                                После знакомства с Джавой и Шарпом я в здравом уме не начну ни один проект на Дельфях. Потому что это неудобно и неэффективно, язык бедный, среда неполноценная и глючная вплоть до самых последних версий.
                                Сообщение отредактировано: [S]mike -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (245) « Первая ... 106 107 [108] 109 110 ...  244 245


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1418 ]   [ 15 queries used ]   [ Generated: 23.12.25, 19:16 GMT ]