Здравствуйте, Mr.Delphist, Вы писали:
MD>концепция reference-counted интерфейсов (при необходимости превращаемых в COM)
afaik, это наоборот, сначала они использовались для COM, а потом их стали использовать как попало.
Всё равно не понятно почему не сделали GC, так как, например, область применения пересекается с управляемыми языками, и он бы был к месту.
Эти reference-counted интерфейсы вообще часто используют именно для управления ресурсами?
MD>Уход "папы" в Microsoft дал нам C# как переосмысленный Delphi
Я бы сказал что изначально C# был клоном Java + некоторые плюшки.
MD>тогда как исходный продукт из властителя 90-х превратился в музейный экспонат "как программировали в 90-х". Сейчас его купили бразильцы, пилят всякие фичи (можно даже под iPhone девелопить), посмотрим что выйдет.
ИМХО — время ушло. У Java — обвесы покруче будут, у C# как минимум язык. Мне трудно представить что им нужно сделать для привлечения новых клиентов.
Re[6]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP> Кстати, как там Delphi, в какую сторону развивается(язык/среда)?
Во все стороны развивается. Компилирует под Win/Mac/iOS, в ближайших (осень) планах Android потом WinRT и Linux. В мобильном компиляторе появилась поддержка ARC для объектов, сам компилятор основан на LLVM. Среда стабильна, что бы тут сказочники не рассказывали — сам сижу под виртуалками, никаких вылетов и падений.
Здравствуйте, Mr.Delphist, Вы писали:
MD> EP>Кстати, как там Delphi, в какую сторону развивается(язык/среда)? MD> EP>Помню странный был язык — ни туда ни сюда ни GC ни RAII
MD>Сейчас его купили бразильцы
K>Такой код не будет по тихому ломать при переименовывании? А то сейчас все IDE для C++ делают что попало и ломают код на подобных примерах.
Что значит ломать код?
Re[8]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP> Всё равно не понятно почему не сделали GC, так как, например, область применения пересекается с управляемыми языками, и он бы был к месту.
Так и у C++ область применения пересекается с управляемыми языками В классических дельфях, скорее всего, скоро будет ARC.
EP> Эти reference-counted интерфейсы вообще часто используют именно для управления ресурсами?
Не очень. В дельфях очень хорошие библиотеки т.ч. управлять ресурсами самостоятельно приходится очень редко.
EP> ИМХО — время ушло. У Java — обвесы покруче будут, у C# как минимум язык.
Ты знаешь хоть одно популярное среди юзеров приложение на жабе или шарпе (Paint.NET, ага — очень смешно)? На дельфях таких много.
EP> Мне трудно представить что им нужно сделать для привлечения новых клиентов.
И тем не менее они рапортуют об увеличении продаж после выхода XE3 на 54% и об увеличении продаж после выхода XE4 (правда без цифр).
Здравствуйте, Muxa, Вы писали:
M>Что значит ломать код?
Был корректный компилирующийся код с шаблонами и макросами. После переименования в IDE получается не компилируемый код или не сохраняется семантика кода. Ни одна IDE для плюсов сейчас не справляется даже с rename.
Re[9]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, hattab, Вы писали:
EP>> Всё равно не понятно почему не сделали GC, так как, например, область применения пересекается с управляемыми языками, и он бы был к месту. H>Так и у C++ область применения пересекается с управляемыми языками
Так в C++ есть полноценный RAII, причём очень давно, на основе которого можно слепить что угодно.
А что в Delphi? Если как ты говоришь интерфейсы как счётчики ссылок используются редко — тогда как пишется exception safe код? Неужели расставляют try по всем уровням? Или просто забивают?
H>В классических дельфях, скорее всего, скоро будет ARC.
Ну то есть всё-таки к 2013 году, появится хоть что-то.
EP>> Эти reference-counted интерфейсы вообще часто используют именно для управления ресурсами? H>Не очень. В дельфях очень хорошие библиотеки т.ч. управлять ресурсами самостоятельно приходится очень редко.
Каким образом библиотеки на Delphi помогают управлять ресурсами? Recycle или KillAll?
EP>> ИМХО — время ушло. У Java — обвесы покруче будут, у C# как минимум язык. H>Ты знаешь хоть одно популярное среди юзеров приложение на жабе или шарпе (Paint.NET, ага — очень смешно)? На дельфях таких много.
На Windows постоянно попадалось что-то C#-повое.
Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API.
Да в том же SWIG — Delphi нет, хотя всё остальное есть.
Re[10]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP> H>Так и у C++ область применения пересекается с управляемыми языками
EP> Так в C++ есть полноценный RAII, причём очень давно, на основе которого можно слепить что угодно. EP> А что в Delphi? Если как ты говоришь интерфейсы как счётчики ссылок используются редко — тогда как пишется exception safe код? Неужели расставляют try по всем уровням? Или просто забивают?
В основном используются владеющие контейнеры, а если что-то локальное, то да try..finally.
EP> H>В классических дельфях, скорее всего, скоро будет ARC.
EP> Ну то есть всё-таки к 2013 году, появится хоть что-то.
В мобильном компиляторе он уже есть. Когда появится в классическом — в 2013 или позже — я не в курсе. Правда вся его прелесть будет лишь в том, что замыкания станут таки полноценными, а так нафиг не нужен.
EP> EP>> Эти reference-counted интерфейсы вообще часто используют именно для управления ресурсами?
EP> H>Не очень. В дельфях очень хорошие библиотеки т.ч. управлять ресурсами самостоятельно приходится очень редко.
EP> Каким образом библиотеки на Delphi помогают управлять ресурсами? Recycle или KillAll?
Владеющие контейнеры.
EP> EP>> ИМХО — время ушло. У Java — обвесы покруче будут, у C# как минимум язык.
EP> H>Ты знаешь хоть одно популярное среди юзеров приложение на жабе или шарпе (Paint.NET, ага — очень смешно)? На дельфях таких много.
EP> На Windows постоянно попадалось что-то C#-повое.
Между "попадалось что-то" и "популярное" — пропасть. А так-то у меня тоже есть софтинки на жабе и шарпе
EP> Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API.
Что за библиотеки-то?
EP> Да в том же SWIG — Delphi нет, хотя всё остальное есть.
Я не понял о чем это свидетельствует. Толи о том, что дельфийский код не требуется разгонять средствами С, толи о том, что дельфя сама умеет линковать объектные файлы.
K>Был корректный компилирующийся код с шаблонами и макросами. После переименования в IDE получается не компилируемый код или не сохраняется семантика кода. Ни одна IDE для плюсов сейчас не справляется даже с rename.
Допустим ты хочешь переименовать метод func() в f1unc()
Что ты ожидаешь от IDE в это случае?
Это
how_to_rename(a, f1, un, c);
how_to_rename(b, f1, u, nc);
K>? А то сейчас все IDE для C++ делают что попало и ломают код на подобных примерах.
А чё, в каком-то языке в IDE есть поддержка такой хрени
IMHO, единственный способ поддержать такие хаки -- предоставить программисту возможность писать какие-то правила для решарпера самому...
А так, вообще-то, единственный надёжный способ рефакторинга такой колбасы -- покрасить и выбросить
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, hattab, Вы писали:
H>>>Ты знаешь хоть одно популярное среди юзеров приложение на жабе или шарпе (Paint.NET, ага — очень смешно)? На дельфях таких много. EP>> На Windows постоянно попадалось что-то C#-повое. H>Между "попадалось что-то" и "популярное" — пропасть. А так-то у меня тоже есть софтинки на жабе и шарпе
Сравнил количество вопросов по тэгам на stackoverflow: C# — 481638 Java — 440981 Delphi — 21471
И как-то мне не верится что на Delphi'ях пользовательских приложений чем на C#/Java.
EP>> Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API. H>Что за библиотеки-то?
Всякий CAD/CAE/CAM.
EP>> Да в том же SWIG — Delphi нет, хотя всё остальное есть. H>Я не понял о чем это свидетельствует. Толи о том, что дельфийский код не требуется разгонять средствами С, толи о том, что дельфя сама умеет линковать объектные файлы.
Дело не в линковке, SWIG генерирует wrapper'ы для каждого языка — бери и используй.
И уж тем более не в разгоне — библиотеки зачастую используют потому что это уже готовые решения, а не потому что "требуется разгонять".
Re[12]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP> H>Между "попадалось что-то" и "популярное" — пропасть. А так-то у меня тоже есть софтинки на жабе и шарпе
EP> Сравнил количество вопросов по тэгам на stackoverflow: EP> C# — 481638 EP> Java — 440981 EP> Delphi — 21471
Это не показатель. Большинство дельфистов тусят в давно сформировавшихся сообществах.
EP> И как-то мне не верится что на Delphi'ях пользовательских приложений чем на C#/Java.
Ну так я тебе предложил назвать хотя бы по одному с каждой стороны. На дельфях я назову не задумываясь: TheBat!, TotalCommander, QIP, Skype, AIMP, Everest. Это хиты, а есть еще списочек.
EP> EP>> Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API.
EP> H>Что за библиотеки-то?
EP> Всякий CAD/CAE/CAM.
Которые наверняка подключаются средствами COM А вообще, достаточным условием является наличие C-хидеров, на которые натравливается что-нибудь типа h2pas и вопрос закрывается.
EP> H>Я не понял о чем это свидетельствует. Толи о том, что дельфийский код не требуется разгонять средствами С, толи о том, что дельфя сама умеет линковать объектные файлы.
EP> Дело не в линковке, SWIG генерирует wrapper'ы для каждого языка — бери и используй.
В дельфях можно взять объектник и использовать... Нафига нужен этот враппер??
EP> И уж тем более не в разгоне — библиотеки зачастую используют потому что это уже готовые решения, а не потому что "требуется разгонять".
Здравствуйте, hattab, Вы писали:
EP>> Сравнил количество вопросов по тэгам на stackoverflow: EP>> C# — 481638 EP>> Java — 440981 EP>> Delphi — 21471 H>Это не показатель. Большинство дельфистов тусят в давно сформировавшихся сообществах.
Допустим, а какова твоя оценка? Ну то есть меньше не в 20 раз, а во сколько?
EP>> И как-то мне не верится что на Delphi'ях пользовательских приложений чем на C#/Java. H>Ну так я тебе предложил назвать хотя бы по одному с каждой стороны.
Я не хочу искать примеры — мне лень.
H>На дельфях я назову не задумываясь: TheBat!, TotalCommander, QIP, Skype, AIMP, Everest
Конечно не задумываясь, ведь наверняка не первый раз
EP>> EP>> Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API. EP>> H>Что за библиотеки-то? EP>> Всякий CAD/CAE/CAM. H>Которые наверняка подключаются средствами COM
Никакого COM, обычное C++ API.
H>А вообще, достаточным условием является наличие C-хидеров, на которые натравливается что-нибудь типа h2pas и вопрос закрывается.
И C++ он прожуёт?
EP>> H>Я не понял о чем это свидетельствует. Толи о том, что дельфийский код не требуется разгонять средствами С, толи о том, что дельфя сама умеет линковать объектные файлы. EP>> Дело не в линковке, SWIG генерирует wrapper'ы для каждого языка — бери и используй. H>В дельфях можно взять объектник и использовать... Нафига нужен этот враппер??
Допустим есть C++ библиотека — классы, методы, функции, специализации шаблонов. Пусть даже есть весь код и ты можешь её собрать любым образом.
Дальше, твои действия — как ты будешь её использовать из Delphi?
Re[3]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP> EP>> Сравнил количество вопросов по тэгам на stackoverflow: EP> EP>> C# — 481638 EP> EP>> Java — 440981 EP> EP>> Delphi — 21471
EP> H>Это не показатель. Большинство дельфистов тусят в давно сформировавшихся сообществах.
EP> Допустим, а какова твоя оценка? Ну то есть меньше не в 20 раз, а во сколько?
Я вопрос не изучал, но если посмотреть на sql.ru дельфя не уступает в популярности дотнету. Это разумеется не так. Поэтому все эти писькомерки — фигня полнейшая. Еще вариант — смотреть чего качают на торрентах — дельфю качают раза в два-три меньше чем студию — очень даже похоже на истинное положение дел.
EP> EP>> И как-то мне не верится что на Delphi'ях пользовательских приложений чем на C#/Java.
EP> H>Ну так я тебе предложил назвать хотя бы по одному с каждой стороны.
EP> Я не хочу искать примеры — мне лень.
Популярность в том и заключается, что ни искать, ни вспоминать не нужно — оно на слуху.
EP> H>На дельфях я назову не задумываясь: TheBat!, TotalCommander, QIP, Skype, AIMP, Everest
EP> Конечно не задумываясь, ведь наверняка не первый раз
Не в первый. А тебе ничего из этого не знакомо?
EP> EP>> EP>> Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API.
EP> Никакого COM, обычное C++ API.
Что ты называешь "обычным C++ API"?
EP> H>А вообще, достаточным условием является наличие C-хидеров, на которые натравливается что-нибудь типа h2pas и вопрос закрывается.
EP> И C++ он прожуёт?
С классами вряд ли.
EP> H>В дельфях можно взять объектник и использовать... Нафига нужен этот враппер??
EP> Допустим есть C++ библиотека — классы, методы, функции, специализации шаблонов. Пусть даже есть весь код и ты можешь её собрать любым образом. EP> Дальше, твои действия — как ты будешь её использовать из Delphi?
Очевидно, библиотека должна быть готова к использованию внешней средой (т.е. не C++) и иметь какой нибудь способ взаимодействия: C-style API, COM-style API (как это делает винда для, например, XmlLite) ну или генерировать метаданные как это делается в GObject (я про SWIG почитал, так для него оказывается еще разметку в коде делать нужно... Вариант GObject мне более симпатичен). Первый и второй тип API конвертируется из хидеров, а по метаданным можно сгенерировать что угодно (кстати для GObject introspection pascal-генератор есть). Если ничего этого нет, то проще найти аналог.
Здравствуйте, hattab, Вы писали:
EP>> Допустим, а какова твоя оценка? Ну то есть меньше не в 20 раз, а во сколько? H>Я вопрос не изучал, но если посмотреть на sql.ru дельфя не уступает в популярности дотнету. Это разумеется не так. Поэтому все эти писькомерки — фигня полнейшая.
Ок, мне просто действительно интересно как оно сейчас. По моим субъективным, мало чем обоснованным ощущениям — соотношение примерно такое, как на stackoverflow, даже ещё хуже. А как на самом деле —
H>Еще вариант — смотреть чего качают на торрентах — дельфю качают раза в два-три меньше чем студию — очень даже похоже на истинное положение дел.
Студия это не только C#, так что вообще не похоже на правду.
EP>> H>На дельфях я назову не задумываясь: TheBat!, TotalCommander, QIP, Skype, AIMP, Everest EP>> Конечно не задумываясь, ведь наверняка не первый раз H>Не в первый. А тебе ничего из этого не знакомо?
Знакомо, но как-то не интересовался что там внутри. AFAIK Skype сейчас это вообще QT.
EP>> EP>> EP>> Многие библиотеки с которыми работаю поддерживают интерфейс C++, C#, Java + иногда Python — Delphi и не вспомню чтобы где-то был в API. EP>> Никакого COM, обычное C++ API. H>Что ты называешь "обычным C++ API"?
Классы, структуры, методы, функции, без специальных телодвижений в виде PIMPL, POD, wrapping to C, COM.
EP>> H>В дельфях можно взять объектник и использовать... Нафига нужен этот враппер?? EP>> Допустим есть C++ библиотека — классы, методы, функции, специализации шаблонов. Пусть даже есть весь код и ты можешь её собрать любым образом. EP>> Дальше, твои действия — как ты будешь её использовать из Delphi? H>Очевидно, библиотека должна быть готова к использованию внешней средой (т.е. не C++) и иметь какой нибудь способ взаимодействия: C-style API, COM-style API (как это делает винда для, например, XmlLite)
Ну так SWIG как раз может прожевать C++ который далеко не C-style/COM-style, конечно не весь, иногда с подсказками. Но суть не в этом, а в том, что среди среди 20 target языков нет delphi.
Re[16]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP> H>Не в первый. А тебе ничего из этого не знакомо?
EP> Знакомо, но как-то не интересовался что там внутри. AFAIK Skype сейчас это вообще QT.
Qt для линукса, на виндах дельфя.
EP> H>Что ты называешь "обычным C++ API"?
EP> Классы, структуры, методы, функции, без специальных телодвижений в виде PIMPL, POD, wrapping to C, COM.
Связываться с библиотеками не предоставляющими публичного API смысла вообще нет
EP> H>Очевидно, библиотека должна быть готова к использованию внешней средой (т.е. не C++) и иметь какой нибудь способ взаимодействия: C-style API, COM-style API (как это делает винда для, например, XmlLite)
EP> Ну так SWIG как раз может прожевать C++ который далеко не C-style/COM-style, конечно не весь, иногда с подсказками. Но суть не в этом, а в том, что среди среди 20 target языков нет delphi.
Здравствуйте, Ops, Вы писали:
E>>А так, вообще-то, единственный надёжный способ рефакторинга такой колбасы -- покрасить и выбросить
Ops>А зачем красить?
Для педагогического эффекта
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: JetBrains объявили о будущей поддержке C++ в ReSharper
Здравствуйте, Erop, Вы писали:
K>>? А то сейчас все IDE для C++ делают что попало и ломают код на подобных примерах. E>А чё, в каком-то языке в IDE есть поддержка такой хрени
В Visual Assist есть переименование. Полезная вещь, и работает неплохо.