Re: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Sni4ok  
Дата: 29.06.13 11:20
Оценка: -1
Здравствуйте, Cirrus, Вы писали:

C>Подробности: http://habrahabr.ru/company/JetBrains/blog/184830/


а зачем, если есть vim ?
Re[5]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Erop Россия  
Дата: 29.06.13 11:30
Оценка:
Здравствуйте, Muxa, Вы писали:

M>Допустим ты хочешь переименовать метод func() в f1unc()

M>Что ты ожидаешь от IDE в это случае?
M>Это
M>
M>  how_to_rename(a, f1, un, c);
M>  how_to_rename(b, f1, u, nc);
M>

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

M>?


Скорее всего в реале эти все un и c -- какие-то осмысленные префиксы и постфиксы реального имени. Н типа там ANSI\wchar_t версии WIN32.

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

К>В Visual Assist есть переименование. Полезная вещь, и работает неплохо.


Речь не про переименование, а про описанную макросню...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Ops Россия  
Дата: 29.06.13 12:01
Оценка: 1 (1) +1 -3
Здравствуйте, Sni4ok, Вы писали:

S>а зачем, если есть vim ?


vim не нужен.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[3]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Sni4ok  
Дата: 29.06.13 12:06
Оценка: :)
Здравствуйте, Ops, Вы писали:

Ops>vim не нужен.


конечно, нужно анальное рабство от апла, майкрософта и других проприетарных производителей.
Re[6]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: enji  
Дата: 29.06.13 12:44
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

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

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

RAII там есть — через интерфейсные ссылки или variant. А так да, странно, почему нет деструкторов для пользовательских типов, притом что для ряда встроенных типов они есть
Re[4]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: enji  
Дата: 29.06.13 12:52
Оценка:
Здравствуйте, Sni4ok, Вы писали:

S>Здравствуйте, Ops, Вы писали:


Ops>>vim не нужен.


S>конечно, нужно анальное рабство от апла, майкрософта и других проприетарных производителей.


еще эклипс есть Жрет правда под 600 метров, зато никакого рабства
Re[7]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 29.06.13 13:09
Оценка:
Здравствуйте, enji, Вы писали:

e> RAII там есть — через интерфейсные ссылки или variant. А так да, странно, почему нет деструкторов для пользовательских типов, притом что для ряда встроенных типов они есть


В вариант объект сохранить нельзя.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[8]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: enji  
Дата: 29.06.13 13:23
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, enji, Вы писали:


e>> RAII там есть — через интерфейсные ссылки или variant. А так да, странно, почему нет деструкторов для пользовательских типов, притом что для ряда встроенных типов они есть


H>В вариант объект сохранить нельзя.


Да почему, можно. Регистрируешь свой тип варианта и сохраняешь в него чего хочешь.
Re[9]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 29.06.13 14:19
Оценка:
Здравствуйте, enji, Вы писали:

e> H>Здравствуйте, enji, Вы писали:


e> e>> RAII там есть — через интерфейсные ссылки или variant. А так да, странно, почему нет деструкторов для пользовательских типов, притом что для ряда встроенных типов они есть


e> H>В вариант объект сохранить нельзя.


e> Да почему, можно. Регистрируешь свой тип варианта и сохраняешь в него чего хочешь.


Не, это фигня. У объекта, самого по себе, счетчика ссылок нет, поэтому управление его временем жизни будет очень условным. А так-то и без кастомного варианта можно ссылку на объект в вардату засунуть.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[10]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: enji  
Дата: 29.06.13 14:22
Оценка:
Здравствуйте, hattab, Вы писали:

e>> Да почему, можно. Регистрируешь свой тип варианта и сохраняешь в него чего хочешь.


H>Не, это фигня. У объекта, самого по себе, счетчика ссылок нет, поэтому управление его временем жизни будет очень условным. А так-то и без кастомного варианта можно ссылку на объект в вардату засунуть.


У объекта нет, а к варианту можно при желании прикрутить. Или копировать объект при копировании варианта к примеру. Деталей уже не помню, года два назад развлекался. Изврат, конечно
Re[11]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 29.06.13 14:38
Оценка:
Здравствуйте, enji, Вы писали:

e> H>Не, это фигня. У объекта, самого по себе, счетчика ссылок нет, поэтому управление его временем жизни будет очень условным. А так-то и без кастомного варианта можно ссылку на объект в вардату засунуть.


e> У объекта нет, а к варианту можно при желании прикрутить. Или копировать объект при копировании варианта к примеру. Деталей уже не помню, года два назад развлекался. Изврат, конечно


Не то чтобы изврат, но сильно ограниченное решение
avalon 1.0rc3 build 432, zlib 1.2.5
Re[5]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: vsb Казахстан  
Дата: 29.06.13 14:58
Оценка:
Здравствуйте, Muxa, Вы писали:

K>>Был корректный компилирующийся код с шаблонами и макросами. После переименования в IDE получается не компилируемый код или не сохраняется семантика кода. Ни одна IDE для плюсов сейчас не справляется даже с rename.

M>Допустим ты хочешь переименовать метод func() в f1unc()
M>Что ты ожидаешь от IDE в это случае?

Лично я бы ожидал сообщение о том, что код слишком сложен для автоматического переименования. А молча ломать код или, что ещё хуже, менять его семантику — это просто забирает самое главное у рефакторинга — возможность полагаться на него без юнит-тестов. Если я в жаве делаю рефакторинг, он проект никогда не поломает. Я могу его делать и быть уверенным в том, что всё будет нормально или мне сообщат о проблемах. А если в таком специфическом языке, как С++ (с кучей унаследованного кода, в котором макрос на макросе макросом погоняет) рефакторинг не будет работать надежно, я бы его не стал использовать вообще. И, соответственно, при оценке IDE вычеркивал бы эту фичу из списка сравнения. Переименовать и руками можно.
Re[17]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 29.06.13 15:16
Оценка:
Здравствуйте, hattab, Вы писали:

EP>> H>Что ты называешь "обычным C++ API"?

EP>> Классы, структуры, методы, функции, без специальных телодвижений в виде PIMPL, POD, wrapping to C, COM.
H>Связываться с библиотеками не предоставляющими публичного API смысла вообще нет

А где я сказал что нет API? Есть API на C++, с помощью SWIG генерируются врапперы на другие языки.

EP>> H>Очевидно, библиотека должна быть готова к использованию внешней средой (т.е. не C++) и иметь какой нибудь способ взаимодействия: C-style API, COM-style API (как это делает винда для, например, XmlLite)

EP>> Ну так SWIG как раз может прожевать C++ который далеко не C-style/COM-style, конечно не весь, иногда с подсказками. Но суть не в этом, а в том, что среди среди 20 target языков нет delphi.
H>С 2008 года есть патч.

О том и речь — там только два файла, один 2008, второй 2009. Была бы среда популярной, хотя бы на десятую долю от C#/Java — давно была бы нормальная поддержка.
Re[18]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 29.06.13 15:39
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP> H>Связываться с библиотеками не предоставляющими публичного API смысла вообще нет


EP> А где я сказал что нет API? Есть API на C++, с помощью SWIG генерируются врапперы на другие языки.


Публичное API, а не набор классов для внутриязыкового использования.

EP> EP>> Ну так SWIG как раз может прожевать C++ который далеко не C-style/COM-style, конечно не весь, иногда с подсказками. Но суть не в этом, а в том, что среди среди 20 target языков нет delphi.


EP> H>С 2008 года есть патч.


EP> О том и речь — там только два файла, один 2008, второй 2009. Была бы среда популярной, хотя бы на десятую долю от C#/Java — давно была бы нормальная поддержка.


Я чего-то не пойму, язык что-ли виноват, что патчи не приняты? Или может модула-3, окамл и прочая экзотика популярнее дельфей?
avalon 1.0rc3 build 432, zlib 1.2.5
Re[6]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Muxa  
Дата: 29.06.13 16:21
Оценка:
vsb>Лично я бы ожидал сообщение о том, что код слишком сложен для автоматического переименования. А молча ломать код или...
Что собственно сейчас и происходит — код ломается. Но ты ведь не только пишешь код, но и компилируешь его?
Re[19]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: Evgeny.Panasyuk Россия  
Дата: 29.06.13 16:44
Оценка:
Здравствуйте, hattab, Вы писали:

EP>> H>Связываться с библиотеками не предоставляющими публичного API смысла вообще нет

EP>> А где я сказал что нет API? Есть API на C++, с помощью SWIG генерируются врапперы на другие языки.
H>Публичное API, а не набор классов для внутриязыкового использования.

Публичное API для разных языков с помощью SWIG, без сильных телодвижений в виде POD'ов, C-API, etc.
Re[20]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: hattab  
Дата: 29.06.13 17:20
Оценка: -2
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP> EP>> H>Связываться с библиотеками не предоставляющими публичного API смысла вообще нет


EP> EP>> А где я сказал что нет API? Есть API на C++, с помощью SWIG генерируются врапперы на другие языки.


EP> H>Публичное API, а не набор классов для внутриязыкового использования.


EP> Публичное API для разных языков с помощью SWIG, без сильных телодвижений в виде POD'ов, C-API, etc.


Казуистика.
avalon 1.0rc3 build 432, zlib 1.2.5
Re[4]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: noone  
Дата: 29.06.13 17:52
Оценка: +1
Здравствуйте, Sni4ok, Вы писали:

S>Здравствуйте, Ops, Вы писали:

S>конечно, нужно анальное рабство от апла, майкрософта и других проприетарных производителей.

Re[6]: JetBrains объявили о будущей поддержке C++ в ReSharper
От: enji  
Дата: 30.06.13 18:35
Оценка:
Здравствуйте, vsb, Вы писали:


vsb>Лично я бы ожидал сообщение о том, что код слишком сложен для автоматического переименования. А молча ломать код или, что ещё хуже, менять его семантику — это просто забирает самое главное у рефакторинга — возможность полагаться на него без юнит-тестов. Если я в жаве делаю рефакторинг, он проект никогда не поломает. Я могу его делать и быть уверенным в том, что всё будет нормально или мне сообщат о проблемах. А если в таком специфическом языке, как С++ (с кучей унаследованного кода, в котором макрос на макросе макросом погоняет) рефакторинг не будет работать надежно, я бы его не стал использовать вообще. И, соответственно, при оценке IDE вычеркивал бы эту фичу из списка сравнения. Переименовать и руками можно.


Это крайний случай, на самом то деле, такого кода обычно немного. А большая част кода — вполне себе классическая. В том же cdt для эклипса переименование есть, работает более-менее нормально.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.