Re[32]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.10 14:14
Оценка:
++равствуйте, CreatorCray, Вы писали:

I>>Не валяй дурака, нужен ли эти рефакторинги для с++ или нет, не зависят от того, умеет ли это решарпер и любому, знакомому с логикой это понятно.

CC>Зависят.

Перечитай выделеное чуть выше. Не понял идею, каким образом необходимость конкретного рефакторинга для С++ зависит от решарпера ? Начни так "в нативном с++ рефакторинг ... не нужен, потому что решарпер в .Net ..."

CC>На что тебе был приведён тул — ассист.


Наличие ассиста никакого отношения к решарперу не имеет, вроде и ежу понятно, однако ты видишь какую то зависимость.

CC>Ты начал ныть что мол, он слишком мало умеет.


мало, потому что задача, например, упрощения кода актуальна для любого языка, в т.ч. С++
более того, решается эта задача, если в терминах рефакторинга, примерно одинаково для всех языков одного семейства
ежу понятно, что рефакторинг множественного наследония для С# не нужен, за отсутствием оной фичи.
но вроде классы есть и там и там, а рефакторинг нужн тоьлко в Джаве-С#

CC>На что тебе было сказано что для рефакторинга в С++ он умеет достаточно.


Был даден список рефакторингов, ты так и не ответил на вопрос, почему эти рефакторинги нахрен не нужны в с++

Ты так и не не отвтил на этот вопрос, а начал валять дурака

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


— ответа, заметь, не было

I>>в готовом виде он конечно все это он не умеет

CC>Тогда какое отношение эта книга имеет к разговору о тулах для рефакторинга?

чуть ниже было пояснение или для тебя абзац текта слишком сложно осилить ?

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

CC>Простые рефакторинги для методик разработки, принятых и используемых в С++ в ассисте есть.

Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?

В чем особенность этого С++, что в нём не надо упрощать логику ? Что за мега-методики ?

Мнге сильно кажется что дело в шаблонах, макросах и синтаксисе с которыми справляется только компилер,а не в методиках.

I>>Соответсвенно, хочу услышать внятный вопрос — нужны ли рефакторинги _тобою_ перечисленные в С++.

CC>Это не мною перечисленные. Это "рфакторинги, перечисленые в книге в главах 6-9" из твоего поста.

Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?

I>>Т.е. да или нет, без виляний в твоем духе.

CC>Прекращай нести чушь.

Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?

Если так сложно ответить, то объясни, каким таким чудом, в С++ складывается идеальная иерархия классов, понятное взаимодейтсвие сущностей, грамотная декомпозиция функционала, обязанностей и тд.

допустим, если взять вместо С++ Эйфель, то худо-бедно можно cогласиться, что Эйфель вынуждает соблюдать принцип замещения Лисков.

Какие средсва в языке С++, что отменяют необходимость инструмента для воплощения этого и других принципов ?

P.S. слушай, тебе AV не помогает постить ? А то ощущение у вас одна и та же болезнь. Ты хоть пересядь куда.
Re[2]: С vs C++
От: Antikrot  
Дата: 05.02.10 14:42
Оценка:
Здравствуйте, shasa, Вы писали:

S>Да я бы не стал никогда писать на чистом си или сипипи. Если мне не надо конструктора в объекте я объявлю струтуру, нужен конструктор объявлю класс. Нет смысла все функции прятать в методы. Нет смысла обявлять все переменные в начале блока, как в си, а есть смысл объявлять по мере необходимости. В общем чистота программы в плане написания на си или на сипипи ненужна.

компилятор или coding guidelines вполне может иметь своё мнение по этому вопросу. позови посмотреть когда будешь доказывать им свою точку зрения.
Re[2]: С vs C++
От: Eugeny__ Украина  
Дата: 05.02.10 14:44
Оценка:
Здравствуйте, shasa, Вы писали:


S>Нет смысла обявлять все переменные в начале блока, как в си, а есть смысл объявлять по мере необходимости.


Ты точно ничего не путаешь? Кто сказал, что в си нужно объявлять переменные только в начале блока?
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[33]: С vs C++
От: CreatorCray  
Дата: 05.02.10 15:00
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>Не валяй дурака, нужен ли эти рефакторинги для с++ или нет, не зависят от того, умеет ли это решарпер и любому, знакомому с логикой это понятно.

CC>>Зависят.
I>Перечитай выделеное чуть выше. Не понял идею, каким образом необходимость конкретного рефакторинга для С++ зависит от решарпера ? Начни так "в нативном с++ рефакторинг ... не нужен, потому что решарпер в .Net ..."
Не дури голову. Прочитай ветку с начала обсуждения ассиста как средства рефакторинга для С++.

CC>>На что тебе было сказано что для рефакторинга в С++ он умеет достаточно.

I>Был даден список рефакторингов, ты так и не ответил на вопрос, почему эти рефакторинги нахрен не нужны в с++
Потому что вопрос тролльский и к теме отношения не имеет.

I>- ответа, заметь, не было

Твоего в общем то тоже. Или ответом было "ничего не умеет"?

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

CC>>Простые рефакторинги для методик разработки, принятых и используемых в С++ в ассисте есть.

I>Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?

Так. Ясно. Чукча у нас даже не читатель.
Пруфлинк на мои слова где я утверждаю что "рефакторинги, приведеные в книге, не нужны в С++".
Озаботься напоминанием себе о чём все таки идёт речь в этой ветке.

I>>>Соответсвенно, хочу услышать внятный вопрос — нужны ли рефакторинги _тобою_ перечисленные в С++.

CC>>Это не мною перечисленные. Это "рфакторинги, перечисленые в книге в главах 6-9" из твоего поста.
I>Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?
А с чего ты взял вдруг что они не нужны? Я ничего подобного не утверждал.
Не нужно свои фантазии приписывать другим.
Или это такой новый метод троллинга?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[33]: С vs C++
От: dr.Chaos Россия Украшения HandMade
Дата: 05.02.10 15:21
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>мало, потому что задача, например, упрощения кода актуальна для любого языка, в т.ч. С++

I>более того, решается эта задача, если в терминах рефакторинга, примерно одинаково для всех языков одного семейства
I>ежу понятно, что рефакторинг множественного наследония для С# не нужен, за отсутствием оной фичи.
I>но вроде классы есть и там и там, а рефакторинг нужн тоьлко в Джаве-С#

В С# и Java кроме классов ничего долгое время и не было
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[34]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.10 15:29
Оценка:
Здравствуйте, CreatorCray, Вы писали:

I>>Перечитай выделеное чуть выше. Не понял идею, каким образом необходимость конкретного рефакторинга для С++ зависит от решарпера ? Начни так "в нативном с++ рефакторинг ... не нужен, потому что решарпер в .Net ..."

CC>Не дури голову. Прочитай ветку с начала обсуждения ассиста как средства рефакторинга для С++.

I>Не валяй дурака, нужен ли эти рефакторинги для с++ или нет, не зависят от того, умеет ли это решарпер и любому, знакомому с логикой это понятно.
Зависят.


Твоей ответ чисто в КУ

I>>Был даден список рефакторингов, ты так и не ответил на вопрос, почему эти рефакторинги нахрен не нужны в с++

CC>Потому что вопрос тролльский и к теме отношения не имеет.

Я его всего то задал его в максимально неудобной для тебя форме, потому что ты внятно не можешь ответить, только юлишь.

I>Нужны высокоуровневые средтва, рефакторинг тот же.
Зачем?
Объясни?
Какие средства надо? Что у тя входит в рефакторинг?
Ты не меряй то, что надо для шарпа на плюсы.


Это не троллинг — это принуждение к ответу.

Или вот

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


И снова ответа нет

I>>- ответа, заметь, не было

CC>Твоего в общем то тоже. Или ответом было "ничего не умеет"?

Еще раз — в готовом виде он конечно все это он не умеет
но все до единого эти рефакторнги делаются из более простых, например выделение подкласса, интерфейса, движение метода, преобразование конструктора в фабричный метод и тд.

и вот эти рефакторинги решарпер уже умеет, а ассист — нет.

выделеное и три строчки понятны или нет ?

Стало быть вопрос — нужны ли рефакторинги из книги при разработке на С++ или нет.

В который раз задаю вопрос !

I>>Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?

CC>Так. Ясно. Чукча у нас даже не читатель.
CC>Пруфлинк на мои слова где я утверждаю что "рефакторинги, приведеные в книге, не нужны в С++".

I>Нужны высокоуровневые средтва, рефакторинг тот же.
Зачем?
Объясни?
Какие средства надо? Что у тя входит в рефакторинг?
Ты не меряй то, что надо для шарпа на плюсы.


как трактовать твой недо-ответ я и не знаю.

I>>Еще раз — почему рефакторинги, приведеные в книге, не нужны в С++ ?

CC>А с чего ты взял вдруг что они не нужны? Я ничего подобного не утверждал.

ты вообще ничего не утверждал и утверждал одновременно Я у тебя спросил — какие средства нужны, ответа не было.
Только общая фраза "Простые рефакторинги для методик разработки, принятых и используемых в С++ в ассисте есть." и "Какие средства надо? Что у тя входит в рефакторинг?
Ты не меряй то, что надо для шарпа на плюсы.
"

Нужны или не нужны рефакторинги из книги ты не сказал.

Вот что было

I>Нужны высокоуровневые средтва, рефакторинг тот же.
Зачем?
Объясни?
Какие средства надо? Что у тя входит в рефакторинг?
Ты не меряй то, что надо для шарпа на плюсы.


Хочу услышать ответ примерно такой по форме:

средства рефакторинга указаные в книге Джошуа Кериевски нужны при разработке на С++, но из за слабого ассиста почти все приходится делать вручную, тк. нет поддержки например выделения базового класса, движения методов, преобразования конструктора в фабричный метод .

или

средства рефакторинга указаные в книге Джошуа Кериевски не нужны при разработке на С++, потому что в С++ есть встроеные средтва которые вынуждают разработчика соблюдать принципы проектирования, как например принцип замещения Лисков и тд и тд.
Re[34]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.10 15:32
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

I>>мало, потому что задача, например, упрощения кода актуальна для любого языка, в т.ч. С++

I>>более того, решается эта задача, если в терминах рефакторинга, примерно одинаково для всех языков одного семейства
I>>ежу понятно, что рефакторинг множественного наследония для С# не нужен, за отсутствием оной фичи.
I>>но вроде классы есть и там и там, а рефакторинг нужн тоьлко в Джаве-С#

DC>В С# и Java кроме классов ничего долгое время и не было


Это значит, что для них и инструментов надо меньше. Например для С# и Джавы не нужны инструменты рефакторинга множественного наследования или рефакторнга макросов.

А получается наоборот — классы есть и в С++ а инструмента для их рефакторинга нет, даже самого простого.
Re[35]: С vs C++
От: dr.Chaos Россия Украшения HandMade
Дата: 05.02.10 15:53
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Это значит, что для них и инструментов надо меньше. Например для С# и Джавы не нужны инструменты рефакторинга множественного наследования или рефакторнга макросов.


I>А получается наоборот — классы есть и в С++ а инструмента для их рефакторинга нет, даже самого простого.


В lisp-е тоже есть классы, а средств для рефакторинга нету . Просто вселенский заговор какой-то.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[36]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.10 15:56
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

I>>Это значит, что для них и инструментов надо меньше. Например для С# и Джавы не нужны инструменты рефакторинга множественного наследования или рефакторнга макросов.


I>>А получается наоборот — классы есть и в С++ а инструмента для их рефакторинга нет, даже самого простого.


DC>В lisp-е тоже есть классы, а средств для рефакторинга нету . Просто вселенский заговор какой-то.


И насколько сильно Лисп распространен ? Вышел уже за пределы стат погрешности или 50 лет надо ждать ?

Ты в курсе, что сделали в Яхе, когда оттуда ушел Грехем со своей бандой лисперов ?
Re[37]: С vs C++
От: dr.Chaos Россия Украшения HandMade
Дата: 05.02.10 16:02
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>И насколько сильно Лисп распространен ? Вышел уже за пределы стат погрешности или 50 лет надо ждать ?


I>Ты в курсе, что сделали в Яхе, когда оттуда ушел Грехем со своей бандой лисперов ?


А какое это имеет отношение к рефакторингам Кириевски? Кириевски написал — все должны делать. ёпт!
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[2]: С vs C++
От: Sheridan Россия  
Дата: 05.02.10 16:12
Оценка: 1 (1) +1
Вот и выросло поколение...
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re[38]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.10 16:13
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

I>>И насколько сильно Лисп распространен ? Вышел уже за пределы стат погрешности или 50 лет надо ждать ?


I>>Ты в курсе, что сделали в Яхе, когда оттуда ушел Грехем со своей бандой лисперов ?


DC>А какое это имеет отношение к рефакторингам Кириевски? Кириевски написал — все должны делать. ёпт!


На вопросы для начала ответь.

Есть задача упрощения кода — она на любом языке решается быстрее с инструментом, нежели без оного.

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

В лиспе тоже есть классы, представь себе.
Re[37]: С vs C++
От: Mr.Cat  
Дата: 05.02.10 16:24
Оценка:
Здравствуйте, Ikemefula, Вы писали:
I>И насколько сильно Лисп распространен ? Вышел уже за пределы стат погрешности или 50 лет надо ждать ?
Лисп прекрасно живет и развивается в своем комьюнити. И будет так же жить и развиваться в ближайшие 50 лет. А вот судьба нынешнего мейнстрима предрешена: c#,java ждет судьба кобола, питон — в самом лучшем случае судьба tcl.

I>Ты в курсе, что сделали в Яхе, когда оттуда ушел Грехем со своей бандой лисперов ?

Набрали команду инди-кодеров, продолбали все полиме^W акции и превратились в моральных пигмеев?
Re[38]: С vs C++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 05.02.10 16:29
Оценка: :)
Здравствуйте, Mr.Cat, Вы писали:

I>>И насколько сильно Лисп распространен ? Вышел уже за пределы стат погрешности или 50 лет надо ждать ?

MC>Лисп прекрасно живет и развивается в своем комьюнити. И будет так же жить и развиваться в ближайшие 50 лет. А вот судьба нынешнего мейнстрима предрешена: c#,java ждет судьба кобола, питон — в самом лучшем случае судьба tcl.

Пусть развивается. Он за пределами стат-погршности, всего то.

Нужен интрумент для решения текущих задач бизнеса, а Лисп — нет, не нужен.

I>>Ты в курсе, что сделали в Яхе, когда оттуда ушел Грехем со своей бандой лисперов ?

MC>Набрали команду инди-кодеров, продолбали все полиме^W акции и превратились в моральных пигмеев?

Нет, они нашли инструмент, который решил их задачи.
Re[18]: Слава COM!!!
От: EreTIk EreTIk's Box
Дата: 05.02.10 18:23
Оценка: 2 (1)
V>>Вызов по COM — это реальный вызов метода, in-proc или out-proc. В результате имеет счетчик ссылок и прочее.
C>А каким образом происходит вызов out-of-proc методов?
C>Hint: там ещё посылается оконное сообщение.

Вызов out-proc это вызов RPC. C 96-го года (Windows NT), в качестве транспорта, оконные сообщения не используются. В Windows 2k, XP и 2k3 передача основной массы данных осуществляется взаимодействием через LPC-порты. К сожалению, они синхронные, поэтому, что бы поддержать общий интерфейс асинхронных вызовов используются отсылка сообщений. Т.е. сообщения используются в качестве уведомлений.

Теперь посмотрим на Windows Vista и старше. Тут дела еще лучше — ALPC порты. В нашем контексте их основное новшество — возможность привязки IOCP (I/O Completion Ports), полностью асинхронный интерфейс и передача контекстов, в рамках одного transceiv'а. Это позволило полностью отказаться от оконных сообщений (я их там не видел, поправьте, если кто-то раскопал).
Re[8]: С vs C++
От: Aleх  
Дата: 05.02.10 19:40
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

DC>Здравствуйте, Aleх, Вы писали:


A>>Например преобразование типа строки с буфером 20 символов к строке с буфером 50 символов.

A>>Естественно данный подход не будет давать оптимальных оптимизаций, но всё же это лучше чем вообще ничего. К тому же С++ не дает ничего лучше.
A>>>>Тогда причем здесь это, я же описал совершенно другой случай.
DC>Ничем он особо не лучше: от параметров шаблонов пухнет страшно код, да и засунуть 2 такие строки в один массив целая проблема. Т.е. Здесть возможно даже аллокатор стоит делать не параметром шаблона, а параметром конструктора.
Можно и так, только если без параметра шаблона, в теории будет медленнее.

A>>>>>>Во вторых, контейнер map тоже должен быть настраиваемым. Например, в качестве дополнительного параметра шаблона должно быть возможно выбирать способ внутреннего представления отображения (double_hashing, chain_hashing, red_black_tree, avl_tree, ordered_vector), которое никак не влияет на интерфейс map.


A>>Ну и что здесь плохого? Александреску, например, пропагандирует такой подход.


DC>Скажем по другому: чем это лучше 5ти классов map, map_double_hashing и т.д. с одним интерфейсом? Допустим параметразовать можно было бы хеш функцией, но все эти 5 реализаций карты очень различаются и найти что-то общее в рамках одной реализации тут ИМХО будет сложнее, да и смысл?

Различаться будут только реализацией. Ну а смысл в том, чтобы сократить объем кода библиотеки: предполагается, что эти же внутренние представления можно задействовать для других контейнеров — например, set.
Re[3]: С vs C++
От: shasa  
Дата: 05.02.10 20:11
Оценка:
Здравствуйте, Eugeny__, Вы писали:
E__>Ты точно ничего не путаешь? Кто сказал, что в си нужно объявлять переменные только в начале блока?
Эээ... как бы да, если быть точнее после того как хотя бы одна переменная была использована, объявлять переменные нельзя (это касается Си).
Re[3]: С vs C++
От: shasa  
Дата: 05.02.10 20:13
Оценка:
Здравствуйте, Antikrot, Вы писали:

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


S>>Да я бы не стал никогда писать на чистом си ...

A>компилятор или coding guidelines вполне может иметь своё мнение по этому вопросу. позови посмотреть когда будешь доказывать им свою точку зрения.

Компилятор со мной уже согласен, coding guidelines — это не ко мне
Re[4]: С vs C++
От: Antikrot  
Дата: 05.02.10 20:55
Оценка:
Здравствуйте, shasa, Вы писали:

S>>>Да я бы не стал никогда писать на чистом си ...

A>>компилятор или coding guidelines вполне может иметь своё мнение по этому вопросу. позови посмотреть когда будешь доказывать им свою точку зрения.
S>Компилятор со мной уже согласен,
компилятор С++. компилятор С не согласится с, хотя бы, class. По крайней мере, я таких не знаю (#define class struct не считается). то есть пишешь ты на С++, и упоминать С всуе совсем незачем было. просто бы сказал, что в споре C vs С++ ты за C++.

S>coding guidelines — это не ко мне

вот и индусы так говорят, и, что хуже, делают
Re[2]: С vs C++
От: Antikrot  
Дата: 05.02.10 20:57
Оценка:
Здравствуйте, shasa, Вы писали:

S>Нет смысла обявлять все переменные в начале блока, как в си, а есть смысл объявлять по мере необходимости.


#pragma flame on
переменные вообще не нужны
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.