Re[9]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 28.06.13 17:46
Оценка:
Здравствуйте, Ops, Вы писали:

EP>>Ну да, мы тут как-то пытались выяснить
Автор: Evgeny.Panasyuk
Дата: 22.04.13
что оно для C++ ABI использует

Ops>Ну там у них точно не последний, кажется 3.2.

Не, там вопрос не в версии — а в том, например, какую реализацию ABI для исключений они используют.
Re[7]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 28.06.13 18:00
Оценка:
Здравствуйте, 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
От: hattab  
Дата: 28.06.13 18:04
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP> Кстати, как там Delphi, в какую сторону развивается(язык/среда)?


Во все стороны развивается. Компилирует под Win/Mac/iOS, в ближайших (осень) планах Android потом WinRT и Linux. В мобильном компиляторе появилась поддержка ARC для объектов, сам компилятор основан на LLVM. Среда стабильна, что бы тут сказочники не рассказывали — сам сижу под виртуалками, никаких вылетов и падений.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[7]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 28.06.13 18:04
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

MD> EP>Кстати, как там Delphi, в какую сторону развивается(язык/среда)?

MD> EP>Помню странный был язык — ни туда ни сюда ни GC ни RAII

MD>Сейчас его купили бразильцы


Бразильцы, ага
avalon 1.0rc3 build 432, zlib 1.2.5
Re[2]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Muxa  
Дата: 28.06.13 18:11
Оценка:
K>Такой код не будет по тихому ломать при переименовывании? А то сейчас все IDE для C++ делают что попало и ломают код на подобных примерах.
Что значит ломать код?
Re[8]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 28.06.13 18:14
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP> Всё равно не понятно почему не сделали GC, так как, например, область применения пересекается с управляемыми языками, и он бы был к месту.


Так и у C++ область применения пересекается с управляемыми языками В классических дельфях, скорее всего, скоро будет ARC.

EP> Эти reference-counted интерфейсы вообще часто используют именно для управления ресурсами?


Не очень. В дельфях очень хорошие библиотеки т.ч. управлять ресурсами самостоятельно приходится очень редко.

EP> ИМХО — время ушло. У Java — обвесы покруче будут, у C# как минимум язык.


Ты знаешь хоть одно популярное среди юзеров приложение на жабе или шарпе (Paint.NET, ага — очень смешно)? На дельфях таких много.

EP> Мне трудно представить что им нужно сделать для привлечения новых клиентов.


И тем не менее они рапортуют об увеличении продаж после выхода XE3 на 54% и об увеличении продаж после выхода XE4 (правда без цифр).
avalon 1.0rc3 build 432, zlib 1.2.5
Re[3]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: kamre Россия  
Дата: 28.06.13 18:31
Оценка:
Здравствуйте, Muxa, Вы писали:

M>Что значит ломать код?


Был корректный компилирующийся код с шаблонами и макросами. После переименования в IDE получается не компилируемый код или не сохраняется семантика кода. Ни одна IDE для плюсов сейчас не справляется даже с rename.
Re[9]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 28.06.13 18:32
Оценка:
Здравствуйте, 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
От: hattab  
Дата: 28.06.13 19:00
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP> H>Так и у C++ область применения пересекается с управляемыми языками


EP> Так в C++ есть полноценный RAII, причём очень давно, на основе которого можно слепить что угодно.

EP> А что в Delphi? Если как ты говоришь интерфейсы как счётчики ссылок используются редко — тогда как пишется exception safe код? Неужели расставляют try по всем уровням? Или просто забивают?

Ну а в дельфях на интерфейсных объектах можно слепить что угодно
Автор: hattab
Дата: 29.06.12
В основном используются владеющие контейнеры, а если что-то локальное, то да 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 нет, хотя всё остальное есть.


Я не понял о чем это свидетельствует. Толи о том, что дельфийский код не требуется разгонять средствами С, толи о том, что дельфя сама умеет линковать объектные файлы.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[4]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Muxa  
Дата: 28.06.13 19:01
Оценка: +1
K>Был корректный компилирующийся код с шаблонами и макросами. После переименования в IDE получается не компилируемый код или не сохраняется семантика кода. Ни одна IDE для плюсов сейчас не справляется даже с rename.
Допустим ты хочешь переименовать метод func() в f1unc()
Что ты ожидаешь от IDE в это случае?
Это
  how_to_rename(a, f1, un, c);
  how_to_rename(b, f1, u, nc);

?
Или это
  how_to_rename(a, f, 1un, c);
  how_to_rename(b, f, 1u, nc);

?
Re[2]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Erop Россия  
Дата: 28.06.13 19:54
Оценка:
Здравствуйте, kamre, Вы писали:


K>? А то сейчас все IDE для C++ делают что попало и ломают код на подобных примерах.


А чё, в каком-то языке в IDE есть поддержка такой хрени

IMHO, единственный способ поддержать такие хаки -- предоставить программисту возможность писать какие-то правила для решарпера самому...

А так, вообще-то, единственный надёжный способ рефакторинга такой колбасы -- покрасить и выбросить
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 28.06.13 20:12
Оценка:
Здравствуйте, 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
От: hattab  
Дата: 28.06.13 20:36
Оценка:
Здравствуйте, 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> И уж тем более не в разгоне — библиотеки зачастую используют потому что это уже готовые решения, а не потому что "требуется разгонять".


У дельфей нет проблем с использованием библиотек.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[13]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 28.06.13 21:20
Оценка: +1
Здравствуйте, 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
От: Ops Россия  
Дата: 28.06.13 21:37
Оценка:
Здравствуйте, Erop, Вы писали:

E>А так, вообще-то, единственный надёжный способ рефакторинга такой колбасы -- покрасить и выбросить


А зачем красить?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[14]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 28.06.13 22:05
Оценка:
Здравствуйте, 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-генератор есть). Если ничего этого нет, то проще найти аналог.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[15]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 28.06.13 22:23
Оценка:
Здравствуйте, 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
От: hattab  
Дата: 28.06.13 22:37
Оценка:
Здравствуйте, 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.


С 2008 года есть патч.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[4]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Erop Россия  
Дата: 28.06.13 22:50
Оценка:
Здравствуйте, Ops, Вы писали:

E>>А так, вообще-то, единственный надёжный способ рефакторинга такой колбасы -- покрасить и выбросить


Ops>А зачем красить?


Для педагогического эффекта
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Константин Россия  
Дата: 29.06.13 11:18
Оценка:
Здравствуйте, Erop, Вы писали:

K>>? А то сейчас все IDE для C++ делают что попало и ломают код на подобных примерах.

E>А чё, в каком-то языке в IDE есть поддержка такой хрени

В Visual Assist есть переименование. Полезная вещь, и работает неплохо.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.