Конференция "Прочее" » .Net -> Delphi
 
  • картман © (07.02.17 18:27) [20]

    > stas ©   (07.02.17 14:58) [16]
    >
    > картман ©   (07.02.17 14:41) [12]
    >
    > Для определенных задач этого достаточно, там где не достаточно
    > есть Си и т.д.
    > Для каждой задачи нужно подбирать среду разработки.

    я в большей степени про то, что реклама для домохозяек и программистов одинаковая: с нашим продуктом Ваши ресницы станут на 300% объемнее.
  • Kerk © (07.02.17 20:02) [21]
    Программисты такие же люди как все :)
  • Lorens © (07.02.17 22:39) [22]
    Удалено модератором
  • Pavia © (07.02.17 22:50) [23]
    C#         -       Delphi
    Статический класс - объект или запись
    Статический метод - статический метод(со служебным словом classes), или просто функция.

    Часть шаблонов в дельфи отсутсвует.

    К сборке муссора они привыкнут. А вот то что работа со структурами отличается от объектов вот это их  будет сильно выбешивать.

    Ещё много различий.
  • Кто б сомневался © (07.02.17 23:04) [24]

    > Eraser ©   (07.02.17 12:33) [5]
    > в FMX вообще что-то невообразимое с этой сборкой мусора
    > в виде ARC. вроде бы она есть для iOS и Android, но ее нет
    > для Mac, вот как до такого можно было додуматься.


    Используйте стандартный Free как раньше и все.
    В ARM он аналогичен MyObjectVar := nil;

    procedure TObject.Free;
    begin
    // under ARC, this method isn't actually called since the compiler translates
    // the call to be a mere nil assignment to the instance variable, which then calls _InstClear
    {$IFNDEF AUTOREFCOUNT}
     if Self <> nil then
       Destroy;
    {$ENDIF}
    end;


    И если создаете TComponent в Runtime содавайте его с Owner = nil -  TMyClass.Create(nil) и все будет прекрасно уничтожаться, и не надо DisposeOf вызывать лишний раз. Который не совсем как надо работает (http://stackoverflow.com/questions/27818697/how-to-free-a-component-in-android-ios).
  • Кто б сомневался © (07.02.17 23:15) [25]

    kilkennycat ©   (07.02.17 16:24) [19]
    > Вот ща как раз сижу над новой задачей, и думаю: приложение
    > под виндоус, какую же среду мне выбрать?


    Конечно зависит от задачи, но я б Delphi выбрал, - если есть вероятность адаптировать программу под MacOS, Android  и iOS.
    Тем более FMX сейчас мощная вещь, которая доставляет. Скажем это VCL 2.0 .
  • Eraser © (07.02.17 23:24) [26]

    > Кто б сомневался ©   (07.02.17 23:04) [24]


    > Используйте стандартный Free как раньше и все.

    само собой.
    но, напрашивается вопрос - зачем они внедрили ARC, если он даже в генофонде не используется.
  • Kerk © (07.02.17 23:43) [27]

    > Eraser ©   (07.02.17 23:24) [26]

    По слухам кто-то из разработчиков компилятора уперся рогами, обещая уволиться, если новый компилятор будет без ARC. Дурачок, конечно.
  • Kerk © (07.02.17 23:46) [28]
    Глупее ARC только индексация строк с нуля в мобильном компиляторе. Вот это уж точно никакой практической необходимостью оправдать нельзя.
  • Кто б сомневался © (07.02.17 23:54) [29]
    Eraser ©   (07.02.17 23:24) [26]
    https://community.embarcadero.com/blogs/entry/give-in-to-the-arc-side-38948

    There is a multi-layered answer to that.
    One part of the answer involves the continuing evolution of the language. As new and more modern programming styles and techniques are introduced, there should be no reason the Delphi language cannot adopt such things as well. In many cases, these new techniques rely on the existence of some sort of automatic resource/memory management of class instances.

    One such feature is operator overloading.
    ... enhancements such as fully “rooting” the type system. Under such a type system, all types are, effectively, objects which descend from a single root class.
    Some of this work is already under way, and some of the syntactical usages are even available today.

    The addition of “helper types” for non-structured types is intended to give the “feeling” of a rooted type system, where expressions such as “42.ToString();” is valid.
    When a fully rooted type system is introduced, such an expression will continue to work as expected, however, there will now be, effectively, a real class representing the “42” integer type.
    Fully rooting the type system will enable many other things that may not be obvious, such as making generics, and type constraints even more powerful.

    Other possibilities include adding more “functional programming” or “declarative programming” elements. LINQ is a prime example of functional and declarative programming elements added to an imperative language.
  • картман © (08.02.17 00:00) [30]

    > Kerk ©   (07.02.17 20:02) [21]
    >
    > Программисты такие же люди как все :)

    вот это и шокирует!
    С другой стороны, чему удивляться - по образу и подобию же...
  • Eraser © (08.02.17 01:29) [31]

    > Кто б сомневался ©   (07.02.17 23:54) [29]

    прочитал статью.
    там нет ответа на вопрос - зачем? ну да, чуть меньше писать.
    42.ToString;
    как и другие хелперы, прекрасно компилируется в старом добром VCL, где никакого ARC отродясь не было.

    да пёс бы с ним с ARC + FMX, ну решили так решили, меня ситуация с отсутствием ARC в Mac компиляторе поставила в тупик (хотя Mac - это тоже FMX!), мягко скажем. Архитекторы и стратеги б..

    И на том спасибо, что оставили возможность писать в старом стиле.


    > Kerk ©   (07.02.17 23:43) [27]

    ну это многое объясняет, если не все )
  • stas © (08.02.17 12:04) [32]

    >картман ©   (07.02.17 18:27) [20]
    > Ага. Конечно. Вот ща как раз сижу над новой задачей, и думаю:
    >  приложение под виндоус, какую же среду мне выбрать? Ну,
    >  в моем случае, несколько проще: есть какой-никакой опыт
    > в разных. Так что же выбрать? Или, если быть точнее - имеет
    > ли смысл мне платить за лицензию Делфи, если у меня есть
    > официально бесплатный VS2015 с С#?
    >
    > Может, выбор среды определяется всё-таки не только задачей?
    >


    Понятно что влияют еще факторы, но иногда они не столь значимы.
    Ну, допустим задача написать утилиту prinscreen экрана и сохранение на рабочий стол по клавише PrintScreen под виндой. Выложить ее в инет и продавать.
    На 1-й взгляд что VS что Delphi подходят одинаково.
    Что будет происходить у пользователя
    1. Delphi
    Скачал, запустил-работает все - ок.
    2. VS
    Скачал, запустил -
    -Установите .Net,
    скачал запустил установку
    -Обновите IE до 11 версии
    скачал запустил установку
    - Обновите винду до SP 2.0
    Скачал, закончилось место на диске...

    Но это я конечно утрировал :).

    С другой стороны написать приложение на VS для работы с БД используя EntityFramwork -красота...  и пользователя можно погонять за обновлениями.
  • kilkennycat © (08.02.17 12:44) [33]

    > -Установите .Net,
    > скачал запустил установку
    > -Обновите IE до 11 версии
    > скачал запустил установку
    > - Обновите винду до SP 2.0

    извини за грубость, но это бред

    > Скачал, закончилось место на диске...

    а вот это уже ближе к делфи-приложению.
  • stas © (08.02.17 12:50) [34]
    kilkennycat ©   (08.02.17 12:44) [33]


    > извини за грубость, но это бред


    Попробуй установить XP без сервиспаков и запусти приложение написанное на 4 framework.
  • kilkennycat © (08.02.17 12:59) [35]

    > stas ©   (08.02.17 12:50) [34]

    не надо рассказывать азы.
    Предложи еще какую-нить кастрированную "супер-пупер сбору со всем нужным без всего ненужного" или 98-ую.

    Ты предложил задачу - printscreen. Каким боком это всё к нему по отношению к VS2015 и почему не к Delphi? Давай уж тогда скажем, что в случае Delphi придется установить BDE, и кстати, тот же самый ИЕ11 и еще MSXML... Так будет честнее. Хоть и еще бредовей.
  • DayGaykin © (08.02.17 13:02) [36]
    Боюсь, что мода на сборку мусора еще очень долго не пройдет.

    Кстати, а приложения под .Net также декомпилируются почти в исходный код как и Java?
  • kilkennycat © (08.02.17 13:05) [37]

    > DayGaykin ©   (08.02.17 13:02) [36]

    да.
  • Eraser © (08.02.17 13:15) [38]
    http://blog.marcocantu.com/blog/2017-february-natively-compiled-code.html
    понятно, что он - лицо заинтересованное, но тем не менее.
  • kilkennycat © (08.02.17 13:45) [39]

    > Eraser ©   (08.02.17 13:15) [38]

    не только заинтересованное, но и лукавое.
    можно ли считать нативным приложение, которое базируется на апи?
    Мне кажется, что разница слишком незначительна.

    А некоторые ваще WINDEV любят
 
Конференция "Прочее" » .Net -> Delphi
Есть новые Нет новых   [134431   +10][b:0][p:0.001]