Изучение .NET
От: Lonely Dog Россия  
Дата: 18.05.10 10:59
Оценка:
Привет!

Пару недель назад начал изучать .NET и C#. Прочитал Троелсена, придумал идею программы для осваивания языка и вперед.
Пока нравится. Удобно, быстро, легко.

Чувствую некоторую неловкость в обращении с новым языком. Не знаю, как объяснить нормальным языком. Нет той уверенности, которая у меня была при использовании C++. С одной стороны, это нормально. C++ использую 9 лет, а C# только пару недель. С другой стороны изучение Intel Assembler или Delphi Pascal не вызывало таких ощущений. Понятно, что сравнивать асм (простой язык) и C# нельзя.

Встречались ли вы с таким явлением? Как боретесь?
Re: Изучение .NET
От: Lonely Dog Россия  
Дата: 18.05.10 11:00
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

Прошу заметить, тема не о том, как изучать .NET, какие книги читать и пр.
Она скорее о том, как преодолеть неловскость при использовании новой технологии или нового языка программирования.
Re: Изучение .NET
От: FR  
Дата: 18.05.10 11:19
Оценка: 1 (1)
Здравствуйте, Lonely Dog, Вы писали:

LD>Встречались ли вы с таким явлением? Как боретесь?


Есть много волшебных таблеток Хаскель Лисп Смалтолк, попробуй их поизучать
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 18.05.10 11:31
Оценка:
Здравствуйте, FR, Вы писали:

FR>Есть много волшебных таблеток Хаскель Лисп Смалтолк, попробуй их поизучать

Т.е. здесь как с языками...
Первый язык дается тяжело, потом уже легче.
Re: Изучение .NET
От: MozgC США http://nightcoder.livejournal.com
Дата: 18.05.10 11:36
Оценка: +1
Здравствуйте, Lonely Dog, Вы писали:

LD>Встречались ли вы с таким явлением?

Да.

LD>Как боретесь?

Никак, это нормально и относительно быстро проходит Если у вас опыта 9 лет с С++, то через пару месяцев работы и с C#/.NET будете себя более-менее нормально чувствовать.
Re[3]: Изучение .NET
От: 24  
Дата: 18.05.10 11:40
Оценка: 1 (1) +6 :))) :)))
On 18.05.2010 14:31, Lonely Dog wrote:
> FR>Есть много волшебных таблеток Хаскель Лисп Смалтолк, попробуй их
> поизучать
Это чтоб по сравнению с выносом мозга при изучении хаскеля и лиспа,
изначальная неловкость с C# не казалась такой уж страшной?
Posted via RSDN NNTP Server 2.1 beta
Re: Изучение .NET
От: Wolverrum Ниоткуда  
Дата: 18.05.10 14:54
Оценка: +1 :)
LD>Встречались ли вы с таким явлением? Как боретесь?
Втречался. Когда с С# перелез обратно на C++, и испытал аналогичные ощущения.
Нет той уверенности, которая у меня была при использовании C#

Борьба — проще некуда: начать на инструменте денежку зарабатывать

ps сугубое имхо
Re: Изучение .NET
От: Воронков Василий Россия  
Дата: 18.05.10 14:56
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Пару недель назад начал изучать .NET и C#. Прочитал Троелсена, придумал идею программы для осваивания языка и вперед.

LD>Пока нравится. Удобно, быстро, легко.
LD>Чувствую некоторую неловкость в обращении с новым языком.

Define "неловкость".
Re: Изучение .NET
От: sto Украина http://overstore.codeplex.com
Дата: 18.05.10 18:37
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Привет!


LD>Пару недель назад начал изучать .NET и C#. Прочитал Троелсена, придумал идею программы для осваивания языка и вперед.

LD>Пока нравится. Удобно, быстро, легко.

LD>Чувствую некоторую неловкость в обращении с новым языком. Не знаю, как объяснить нормальным языком. Нет той уверенности, которая у меня была при использовании C++. С одной стороны, это нормально. C++ использую 9 лет, а C# только пару недель. С другой стороны изучение Intel Assembler или Delphi Pascal не вызывало таких ощущений. Понятно, что сравнивать асм (простой язык) и C# нельзя.


LD>Встречались ли вы с таким явлением? Как боретесь?


Возможно, вам просто кажется, что .НЕТ медленная и громоздкая по сравнению с С++ платформа, у самого такое было, пока не начал писать на .НЕТ под смартфон с 200мГц АРМ процессором. Не то что бы прямо взлетает, но шустренько бегает

Или просто непривычное ощущение расслабленности мозга от логичности и читаемости языка
There is no such thing as the perfect design.
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 18.05.10 19:38
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Define "неловкость".

Ну не знаю. С++ код пишется без проблем. C# заставляет задуматься: "здесь struct или class", "а какой там синтаксис определения интерфейса" и пр.
Плюс вроде среда разработки одна, а ощущения другие.
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 18.05.10 19:40
Оценка: 1 (1)
Здравствуйте, Wolverrum, Вы писали:

LD>>Встречались ли вы с таким явлением? Как боретесь?

W>Втречался. Когда с С# перелез обратно на C++, и испытал аналогичные ощущения.
W>Нет той уверенности, которая у меня была при использовании C#


W>Борьба — проще некуда: начать на инструменте денежку зарабатывать

Мне всегда казалось, что это не главное. Я в том смысле, что достаточно придумать не учебную задачу а реальную, и это лучше способ овладевания новым инструментом.
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 18.05.10 19:41
Оценка:
Здравствуйте, sto, Вы писали:


sto>Возможно, вам просто кажется, что .НЕТ медленная и громоздкая по сравнению с С++ платформа, у самого такое было, пока не начал писать на .НЕТ под смартфон с 200мГц АРМ процессором. Не то что бы прямо взлетает, но шустренько бегает

Кстати, ничего подобного. Тормозов при выполнении не замечаю. А вот резкое ускорение скорости компиляции уже оценил.

sto>Или просто непривычное ощущение расслабленности мозга от логичности и читаемости языка

Пока большой разницы не вижу. Хотя согласен, некоторые возможности C# мне нравятся.
Re: Изучение .NET
От: _FRED_ Черногория
Дата: 18.05.10 19:44
Оценка: 14 (2)
Здравствуйте, Lonely Dog, Вы писали:

LD>Встречались ли вы с таким явлением? Как боретесь?


Help will always be given at Hogwarts to those who ask for it.
Re[3]: Изучение .NET
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 18.05.10 19:49
Оценка: 3 (2) +1
Здравствуйте, Lonely Dog, Вы писали:

LD>С++ код пишется без проблем.

А потом не читается

LD>C# заставляет задуматься: "здесь struct или class"

Не задумывайся, пиши class.

LD>"а какой там синтаксис определения интерфейса"

interface+<Tab>+<Tab>

Для сравнения
1)В C++ постоянно задумываешься писать new или размещать на стеке, а может auto_ptr или shared_ptr, причем это для каждого экземпляра. В .NET один раз определяешь для типа, причем в 99,999% случаев это будет class.
2)Какой const что обозначает в определении вида const char const * foo() const; ?

По факту ты к причудам синтаксиса и семантики С++ привык, а к C# еще нет.
Re[3]: Изучение .NET
От: Воронков Василий Россия  
Дата: 18.05.10 19:51
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

ВВ>>Define "неловкость".

LD>Ну не знаю. С++ код пишется без проблем. C# заставляет задуматься: "здесь struct или class", "а какой там синтаксис определения интерфейса" и пр.
LD>Плюс вроде среда разработки одна, а ощущения другие.

Ну struct или class — это такой вопрос, чем больше ты понимаешь в структурах и классах, тем чаще будешь им задаваться На начальных этапах struct можно вообще не использовать — живет же Джава без них, — ибо есть вероятность, что получится хуже, а не лучше.
А про отличия по синтаксису я не очень понимаю. Похоже ведь Неужто в Дельфи не было неловкости по этим вопросам, там-то ведь как раз все по-другому?
Re[3]: Изучение .NET
От: 24  
Дата: 18.05.10 19:53
Оценка: 2 (1)
On 18.05.2010 22:38, Lonely Dog wrote:
> C# заставляет задуматься: "здесь struct или class", "а какой там синтаксис определения интерфейса"
Как раз из-за этого и неловкость. Со временем, когда не надо будет
задумываться, как задачу переложить на языковые конструкции, а это будет
происходить на автоматизме, то всё будет как в С++. Так что немного
практики, и всё будет ок.
Posted via RSDN NNTP Server 2.1 beta
Re: Изучение .NET
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.05.10 20:00
Оценка: 2 (1) +1
Здравствуйте, Lonely Dog, Вы писали:

LD>Чувствую некоторую неловкость в обращении с новым языком. Не знаю, как объяснить нормальным языком. Нет той уверенности, которая у меня была при использовании C++. С одной стороны, это нормально. C++ использую 9 лет, а C# только пару недель.


8 лет не использую активно C++. Неловкость при его использовании зашкаливает.

LD>Встречались ли вы с таким явлением? Как боретесь?


Вообще если знать хорошо лишь один язык, то в нем все ловко. Если знать несколько, то в некоторых будет одно ловчее, в других — другое. Т.е. с опытом в C# в С++ уже не будет так ловко как было до C#.
Re[3]: Re: не учебную задачу а реальную
От: Wolverrum Ниоткуда  
Дата: 18.05.10 21:10
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

Любой клиент легко подкинет вам даже не одну нетривиальную задачку "из жизни"

LD>Мне всегда казалось, что это не главное.

...Но лучше совмещать приятное с полезным
Re: Изучение .NET
От: FDSC Россия consp11.github.io блог
Дата: 18.05.10 22:02
Оценка:
Здравствуйте, Lonely Dog, Вы писали:


LD>Встречались ли вы с таким явлением? Как боретесь?


1. Когда я изучал C# неловкость пропала только после того, как я месяц подряд читал спецификацию C# на английском и посматривал вопросы по C# здесь на форуме в разделе .NET, а затем ещё месяц провёл в программировании с результатом коту ректально (до этого полгода никак не мог научится нормально на нём работать, хотя книжку прочитал). Плюс, книжка тоже не помешает, конечно, но там много лишнего. Из всего языка большую часть особенностей можно просто забыть.
2. До сих пор берясь за задачи я вообще испытываю неловкость: мне всегда говорят, что я работаю медленно, а я сам считаю, что ещё и пишу дурацкий код. Так что здесь если только психолог поможет избавиться от комплекса неполноценности.
3. Испытываю неловкость, когда пишу на C++, потому что боюсь, что кто-то скажет, что я написал то, что есть в стандартных библиотеках или не использовал какой-то инструмент языка, типа шаблонов. Учить C++ не хочу, поэтому на нём никогда не программирую.
4. Delphi — очень хорошо структурированный язык с хорошими учебниками для школьников. Он очень ловкий, потому что там всё сразу понятно: и что есть в языке, и что надо использовать.
5. При программировании на C# необходимо использовать Visual Studio версии не ниже 2005, а лучше — 2008, так он становится в два раза ловчее, чисто по ощущениям (особенно лямбды помогают, там где фильтрация списков идёт — очень удобно).
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 19.05.10 12:41
Оценка: :)
Здравствуйте, _FRED_, Вы писали:

_FR>

Не, я больше не пью.
Кстати, означает ли это, что .NET мне лучше не изучать?
Re[4]: Изучение .NET
От: Lonely Dog Россия  
Дата: 19.05.10 12:42
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>По факту ты к причудам синтаксиса и семантики С++ привык, а к C# еще нет.

Да вот скорее так и есть. Т.к., описанные тобой вопросы у меня не возникают в C++
Re[4]: Изучение .NET
От: Lonely Dog Россия  
Дата: 19.05.10 12:44
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ну struct или class — это такой вопрос, чем больше ты понимаешь в структурах и классах, тем чаще будешь им задаваться На начальных этапах struct можно вообще не использовать — живет же Джава без них, — ибо есть вероятность, что получится хуже, а не лучше.

ВВ>А про отличия по синтаксису я не очень понимаю. Похоже ведь Неужто в Дельфи не было неловкости по этим вопросам, там-то ведь как раз все по-другому?
Ну хрен знает. Когда изучал Delphi, слабо использовал шаблоны в c++. Счас я их использую активно.
Generic-и в C# чем-то на них похожи, но есть отличия, которые меня убивают.
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 19.05.10 12:48
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>1. Когда я изучал C# неловкость пропала только после того, как я месяц подряд читал спецификацию C# на английском и посматривал вопросы по C# здесь на форуме в разделе .NET, а затем ещё месяц провёл в программировании с результатом коту ректально (до этого полгода никак не мог научится нормально на нём работать, хотя книжку прочитал). Плюс, книжка тоже не помешает, конечно, но там много лишнего. Из всего языка большую часть особенностей можно просто

забыть.
Читать спеку языка для его понимания это ужас. IMHO.

FDS>2. До сих пор берясь за задачи я вообще испытываю неловкость: мне всегда говорят, что я работаю медленно, а я сам считаю, что ещё и пишу дурацкий код. Так что здесь если только психолог поможет избавиться от комплекса неполноценности.

FDS>3. Испытываю неловкость, когда пишу на C++, потому что боюсь, что кто-то скажет, что я написал то, что есть в стандартных библиотеках или не
использовал какой-то инструмент языка, типа шаблонов. Учить C++ не хочу, поэтому на нём никогда не программирую.
У меня таких проблем ПОКА нет.
FDS>4. Delphi — очень хорошо структурированный язык с хорошими учебниками для школьников. Он очень ловкий, потому что там всё сразу понятно: и что есть в языке, и что надо использовать.
Deplhi я мало использовал. И там была RAD-разработка. Т.е. я не писал ничего со сложной бизнес-логикой.
FDS>5. При программировании на C# необходимо использовать Visual Studio версии не ниже 2005, а лучше — 2008, так он становится в два раза ловчее, чисто по ощущениям (особенно лямбды помогают, там где фильтрация списков идёт — очень удобно).
Использую 2008 студию. Правда со 2-м .NET.
Re: Изучение .NET
От: Pavel Dvorkin Россия  
Дата: 19.05.10 12:55
Оценка: +1 :)
Здравствуйте, Lonely Dog, Вы писали:


LD>Встречались ли вы с таким явлением? Как боретесь?


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

А вот тем, кто попробует перейти с C#/Java на С++ — мои соболезнования.
With best regards
Pavel Dvorkin
Re[5]: Изучение .NET
От: Воронков Василий Россия  
Дата: 19.05.10 13:29
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

ВВ>>Ну struct или class — это такой вопрос, чем больше ты понимаешь в структурах и классах, тем чаще будешь им задаваться На начальных этапах struct можно вообще не использовать — живет же Джава без них, — ибо есть вероятность, что получится хуже, а не лучше.

ВВ>>А про отличия по синтаксису я не очень понимаю. Похоже ведь Неужто в Дельфи не было неловкости по этим вопросам, там-то ведь как раз все по-другому?
LD>Ну хрен знает. Когда изучал Delphi, слабо использовал шаблоны в c++. Счас я их использую активно.
LD>Generic-и в C# чем-то на них похожи, но есть отличия, которые меня убивают.

Ну тогда понятно, если привыкаешь к чему-то одному, то гибкость мышления снижается. Тут где-то советовали Хаскель поизучать Кстати, очень хорошая терапия. Гарантирую, что после этого чувство неловкости в C# исчезнет.
Re[3]: Изучение .NET
От: _FRED_ Черногория
Дата: 19.05.10 13:43
Оценка: +1
Здравствуйте, Lonely Dog, Вы писали:

_FR>>

LD>Не, я больше не пью.
LD>Кстати, означает ли это, что .NET мне лучше не изучать?

Нет, но нужны другие пути :о))

А с чего вообще "неловкость"? В чём "неуверенность"? Я могу представить себе только один вариант — какие-то базовые вещи не улеглись и их непонимание смущает при рассмотрении других вещей. Соответственно, выход такой: разобраться с базовыми вещами.

Например: понятно ли, что означает (и как работает/что делает) каждое ключевое или контекстно-ключевое слово (http://msdn.microsoft.com/en-us/library/x53a06bb.aspx)?

Или, может, трудности вызывает не сам язык, а именно библиотеки\фреймворк? Тут нужно с каждым разделом по-своему: писали их очень разные команды и принципи работы (и способы объяснения того, что это такое и как это понимать) могут быть весьма разными
Help will always be given at Hogwarts to those who ask for it.
Re: Изучение .NET
От: Roman Odaisky Украина  
Дата: 19.05.10 21:20
Оценка: 1 (1) +1
Здравствуйте, Lonely Dog, Вы писали:

LD>Прочитал Троелсена


Трёльсена не читал, но переводчиков осуждаю.
До последнего не верил в пирамиду Лебедева.
Re[3]: Изучение .NET
От: FDSC Россия consp11.github.io блог
Дата: 20.05.10 00:38
Оценка: 1 (1)
Здравствуйте, Lonely Dog, Вы писали:

LD>Deplhi я мало использовал. И там была RAD-разработка. Т.е. я не писал ничего со сложной бизнес-логикой.


Там и сложная логика легче даётся.

FDS>>5. При программировании на C# необходимо использовать Visual Studio версии не ниже 2005, а лучше — 2008, так он становится в два раза ловчее, чисто по ощущениям (особенно лямбды помогают, там где фильтрация списков идёт — очень удобно).

LD>Использую 2008 студию. Правда со 2-м .NET.

Зря. Лучше 3.5, в C# появились полезные фичи.
Re[6]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 06:13
Оценка:
Здравствуйте, Воронков Василий, Вы писали:


ВВ>Ну тогда понятно, если привыкаешь к чему-то одному, то гибкость мышления снижается. Тут где-то советовали Хаскель поизучать Кстати, очень хорошая терапия. Гарантирую, что после этого чувство неловкости в C# исчезнет.

Хаскель пытался изучать.
Не смог придумать себе задачку из моей предметной области. В итоге пока забил.
Re[4]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 06:14
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, Lonely Dog, Вы писали:


_FR>>>

LD>>Не, я больше не пью.
LD>>Кстати, означает ли это, что .NET мне лучше не изучать?

_FR>Нет, но нужны другие пути :о))


_FR>А с чего вообще "неловкость"? В чём "неуверенность"?

Слушай, да всего понемногу. И синтаксис немного не привычен. И фреймворк (счас WinForms активно использую).
Re[2]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 06:15
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Трёльсена не читал, но переводчиков осуждаю.

Да, опечаток там много. В одном месте вместо примера на C# вообще дается пример на VB.
Re[4]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 06:16
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Зря. Лучше 3.5, в C# появились полезные фичи.

ОК, посмотрю. Спасибо.
Re[4]: Изучение .NET
От: QrystaL Украина  
Дата: 20.05.10 07:33
Оценка:
Здравствуйте, FDSC, Вы писали:
FDS>Зря. Лучше 3.5, в C# появились полезные фичи.

Уже можно 4.0 изучать
Re[2]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 09:56
Оценка: 2 (1) +3
Здравствуйте, Lonely Dog, Вы писали:

LD>Она скорее о том, как преодолеть неловскость при использовании новой технологии или нового языка программирования.


Путь одни — использовать новую технологию для реализации реального проекта ощутимых размеров в течении хотя бы полугода. При этом стараться постоянно самосовершенствоваться. Пытаться улучшить кода, читать форумы, книги, статьи... Не гунушаться показать свой код более опытным товарищам и попросить их указать на возможные улучшения (или проблемы которые надо устранить).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 10:05
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

G>>По факту ты к причудам синтаксиса и семантики С++ привык, а к C# еще нет.

LD>Да вот скорее так и есть. Т.к., описанные тобой вопросы у меня не возникают в C++

Я писал на С и С++ где-то около 10 лет. Потом перешло на C#. Первое время тоже было недовольство некоторыми вещами. Потом привык... Когда снова стал писать на С++ испытал дичайший дискомфорт. Оказалось, что тот дискомфорт который я испытывал при переходе с С++ на C# был легким недомоганием по сравнению с тем колотуном который появился по прошествии 3 лет работы на шарпе.

Где-то в 2006 году я попробовал Nemerle. После года работы на нем программирование на C# вызывает резкую негативную реакцию (в плоть до тошноты).

Про роду занятий я постоянно вычитываю статьи в которых присутствует на разных языках. Так вот С++ в последнее время ничего кроме смеха не вызвает. Да и статьи посвященные ему тоже, так как они почти все посвящены одному вопросу — как сделать так чтобы С++ был хотя бы немного похож на современные языки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 10:13
Оценка: :))
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Тут где-то советовали Хаскель поизучать Кстати, очень хорошая терапия. Гарантирую, что после этого чувство неловкости в C# исчезнет.


Есть многочисленные свидетельства того, что после этого появляется неловкость во всех языках кроме Хаскеля.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 10:16
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Хаскель пытался изучать.

LD>Не смог придумать себе задачку из моей предметной области. В итоге пока забил.

Это простите — чушь. На хаскеле можно решать любую задачу.

Скажи уж честно — не осилил. Тут стыдиться не чего. Хаскель и правда в 90% случаев приводит к вывиху мозга классически обученного программиста.

Еще сильная трава Лисп. Но после этого боюсь, что ты станешь сильным врагом С++, потому как единственное достоинство которое ты будешь видеть в С++ — это будет компиляторы порождающие быстрый код.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Изучение .NET
От: FR  
Дата: 20.05.10 10:17
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Где-то в 2006 году я попробовал Nemerle. После года работы на нем программирование на C# вызывает резкую негативную реакцию (в плоть до тошноты).


Это просто особенности твоего организма
Я вот писал почти только на питоне, обратный переход на C++ никакой тошноты не вызвал.
Сейчас пишу параллельно на OCaml и C++ (притом в одном приложении смесь C++ и OCaml) полет нормальный

Единственное что на OCaml и сейчас непривычно это повышенная концентрация мыслительных усилий на строку кода,
но это вознаграждается более высокой скоростью разработки.
Re[7]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 10:36
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Это просто особенности твоего организма

FR>Я вот писал почти только на питоне, обратный переход на C++ никакой тошноты не вызвал.
FR>Сейчас пишу параллельно на OCaml и C++ (притом в одном приложении смесь C++ и OCaml) полет нормальный

Это скорее особенности твоего организма. Он у тебя вообще особенный.

FR>Единственное что на OCaml и сейчас непривычно это повышенная концентрация мыслительных усилий на строку кода,

FR>но это вознаграждается более высокой скоростью разработки.

Та же фигня при применении ФП на немерле. Но со временм это проходит. Это от недостаточного опыта применения ФП.

ФП-код действительно зачастую получается более компактыныи, но мыслительные усилия на его написания остаются близкими (если не большими) чем к написанию того же кода на ИЯ. Со временем паттерны функционального программирования внедряются в подкорку и ты начинаешь оперировать ими не задумываясь.

Проблема же перехода на никоуровневые маломощные языки вроде С++ заключаетя в том, что постоянно нужно помнить о их низкоуровневости и не пытаться эмулировать паттерны из высокоуровневых языков на С++. А это сложно, так как мышление на столь низком уровне просто начинает раздражать. Ведь постоянно понимаешь, что тратишь 90% времени в пустую (на борьбу с языком, а не изложение алгоритмов).

Такое же ощущение возникает при переходе с добротной иномарки с мощным двигателем и автоматом на Жигули. Вроде бы тоже машина. Вроде бы тоже едет. Но постоянно присутствует ощущение неудовлетворенности.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 10:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это простите — чушь. На хаскеле можно решать любую задачу.

Ага, можно. Рассмотрим такую задачу: написать программму восстановления удаленных учетных записей из AD. Ничего сложного нет, несколько LDAP-запросов и все. Алгоритмов особых нет. Зачем тут нужен хаскель? Тут хватит C++ или C# (на C# видимо будет попроще).

VD>Скажи уж честно — не осилил. Тут стыдиться не чего. Хаскель и правда в 90% случаев приводит к вывиху мозга классически обученного программиста.

Да, не осилил Т.к. пока не очень понял, что он мне даст при решении моих задач (не будешь же ты на нем писать расширение MMC
Re[9]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 10:43
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Ага, можно. Рассмотрим такую задачу: написать программму восстановления удаленных учетных записей из AD. Ничего сложного нет, несколько LDAP-запросов и все. Алгоритмов особых нет. Зачем тут нужен хаскель? Тут хватит C++ или C# (на C# видимо будет попроще).


Если задачи нет, то конечно хаскель не нужен. Как в прочем не нужен ни один не знакомый тебе язык. Тебе нужен язык который ты знаешь и который имеет АПИ работы с АД.

Но это не та задача. Тебе нужна задача по сложнее и не упирающаяся в АПИ.

Кстати, именно эта задача лучше всего решается на VBScript.

LD>Да, не осилил Т.к. пока не очень понял, что он мне даст при решении моих задач (не будешь же ты на нем писать расширение MMC


Это нельзя понять. Это можно только ощутить. Скажу честно, что конерктно Хаскель мало что дате по сравнению с любмы языком полноценно поддерживающим ФП. В нем есть только две особенности которые специфичны для Хаскеля — ленивость (исполнения и структур данных) и классы типов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [оффтопик]
От: FDSC Россия consp11.github.io блог
Дата: 20.05.10 10:45
Оценка:
Здравствуйте, QrystaL, Вы писали:

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

FDS>>Зря. Лучше 3.5, в C# появились полезные фичи.

QL>Уже можно 4.0 изучать


Мне пока нельзя. У нас только VS 2008. А изучать заранее просто так — смысла особого нет.
Re[8]: Изучение .NET
От: FR  
Дата: 20.05.10 10:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это скорее особенности твоего организма. Он у тебя вообще особенный.


Конечно мы такие

FR>>Единственное что на OCaml и сейчас непривычно это повышенная концентрация мыслительных усилий на строку кода,

FR>>но это вознаграждается более высокой скоростью разработки.

VD>Та же фигня при применении ФП на немерле. Но со временм это проходит. Это от недостаточного опыта применения ФП.


Может и так, хотя я уже скорее ближе к достаточному.

VD>ФП-код действительно зачастую получается более компактыныи, но мыслительные усилия на его написания остаются близкими (если не большими) чем к написанию того же кода на ИЯ. Со временем паттерны функционального программирования внедряются в подкорку и ты начинаешь оперировать ими не задумываясь.


Угу так и есть.
Но пока не так часто у меня бывает так, что попадаешь в функциональный поток и сложная задача сама без усилий разрешается. В общем да надо вырабатывать навык, без этого никак.

VD>Проблема же перехода на никоуровневые маломощные языки вроде С++ заключаетя в том, что постоянно нужно помнить о их низкоуровневости и не пытаться эмулировать паттерны из высокоуровневых языков на С++. А это сложно, так как мышление на столь низком уровне просто начинает раздражать. Ведь постоянно понимаешь, что тратишь 90% времени в пустую (на борьбу с языком, а не изложение алгоритмов).


У меня наоборот, лучше стал понимать ограниченность C++ и это позволяет проще и быстрее на нем писать.
Re[10]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 10:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Если задачи нет, то конечно хаскель не нужен. Как в прочем не нужен ни один не знакомый тебе язык. Тебе нужен язык который ты знаешь и который имеет АПИ работы с АД.

Не совсем согласен. C# я не знаю, но понимаю, что он позволит мне решить эту задачу быстрее чем C++. И не потому, что там есть поддержка AD. В конце-концов, к LDAP можно и через winldap.dll обращаться с помощь PInvoke.

VD>Кстати, именно эта задача лучше всего решается на VBScript.

[offtop]
на VBScript ее в принципе не решить.
[/offtop]

VD>Это нельзя понять. Это можно только ощутить. Скажу честно, что конерктно Хаскель мало что дате по сравнению с любмы языком полноценно поддерживающим ФП. В нем есть только две особенности которые специфичны для Хаскеля — ленивость (исполнения и структур данных) и классы типов.

Ты счас начнешь плеваться , но вот в С++ STL вроде есть немножко ФП. Активно люблю и использую.
Re[11]: Изучение .NET
От: FR  
Дата: 20.05.10 11:13
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Ты счас начнешь плеваться , но вот в С++ STL вроде есть немножко ФП. Активно люблю и использую.


В STL только идея практически, вот в бусте да местами ФП немало.
Re[11]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.05.10 11:33
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Не совсем согласен. C# я не знаю, но понимаю, что он позволит мне решить эту задачу быстрее чем C++.


С чего бы это?

LD> И не потому, что там есть поддержка AD.


А почему же?

LD>В конце-концов, к LDAP можно и через winldap.dll обращаться с помощь PInvoke.


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

VD>>Кстати, именно эта задача лучше всего решается на VBScript.

LD>[offtop]
LD>на VBScript ее в принципе не решить.
LD>[/offtop]

Да ну? А вот мне тут подсказывают, что ты не прав.

VD>>Это нельзя понять. Это можно только ощутить. Скажу честно, что конерктно Хаскель мало что дате по сравнению с любмы языком полноценно поддерживающим ФП. В нем есть только две особенности которые специфичны для Хаскеля — ленивость (исполнения и структур данных) и классы типов.

LD>Ты счас начнешь плеваться , но вот в С++ STL вроде есть немножко ФП. Активно люблю и использую.

В STL действительно есть немногожко ФП. Чуть больше чем в плинтусе, но сильно меньше чем в C# 3.0. Причем настолько сильно, что я начинаю смеяться, а не плеваться.

Кстати, после изучения какого-нить ФЯ сразу начинашь лучше понимать STL и то откуда у него растут ноги. Как в прочем и то насколько кривым он получился.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Изучение .NET
От: Воронков Василий Россия  
Дата: 20.05.10 11:56
Оценка: :)))
Здравствуйте, VladD2, Вы писали:

ВВ>>Тут где-то советовали Хаскель поизучать Кстати, очень хорошая терапия. Гарантирую, что после этого чувство неловкости в C# исчезнет.

VD>Есть многочисленные свидетельства того, что после этого появляется неловкость во всех языках кроме Хаскеля.

Не, ну товарищи просто не соблюдали нужную дозировку. Хаскель как змеиный яд, в малых дозах — лекарство, в больших — смертелен Его нужно принимать в строго ограниченных количествах, не больше двух капель в день. Предписание — чувство неловкости при изучении каких-либо языков, отличных от Хаскеля.
Re[8]: Изучение .NET
От: nikov США http://www.linkedin.com/in/nikov
Дата: 20.05.10 12:03
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Не, ну товарищи просто не соблюдали нужную дозировку. Хаскель как змеиный яд, в малых дозах — лекарство, в больших — смертелен Его нужно принимать в строго ограниченных количествах, не больше двух капель в день. Предписание — чувство неловкости при изучении каких-либо языков, отличных от Хаскеля.


Да ладно тебе, Haskell — нормальный язык, вполне пригодный для написания реальных программ. Один из многих хороших языков. Гибридный функционально-императивный, причем императивность изящно инкапуслирована в монады.
Re[12]: Изучение .NET
От: Lonely Dog Россия  
Дата: 20.05.10 12:06
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Да ну? А вот мне тут подсказывают, что ты не прав.

Ага. ADSI поддерживает LDAP. Проблема в том, что восстановление пользователя требует атомарного изменения нескольких атрибутов. А вот этого ADSI не умееет. Это можно сделать только через LDAP API.

LD>>Ты счас начнешь плеваться , но вот в С++ STL вроде есть немножко ФП. Активно люблю и использую.


VD>В STL действительно есть немногожко ФП. Чуть больше чем в плинтусе, но сильно меньше чем в C# 3.0. Причем настолько сильно, что я начинаю смеяться, а не плеваться.

VD>Кстати, после изучения какого-нить ФЯ сразу начинашь лучше понимать STL и то откуда у него растут ноги. Как в прочем и то насколько кривым он получился.
Не спорю, уверен ты прав.
Re[9]: Изучение .NET
От: Воронков Василий Россия  
Дата: 20.05.10 12:15
Оценка: +1
Здравствуйте, nikov, Вы писали:

ВВ>>Не, ну товарищи просто не соблюдали нужную дозировку. Хаскель как змеиный яд, в малых дозах — лекарство, в больших — смертелен Его нужно принимать в строго ограниченных количествах, не больше двух капель в день. Предписание — чувство неловкости при изучении каких-либо языков, отличных от Хаскеля.

N>Да ладно тебе, Haskell — нормальный язык, вполне пригодный для написания реальных программ. Один из многих хороших языков. Гибридный функционально-императивный, причем императивность изящно инкапуслирована в монады.

То, что императивность изящно инкапсулирована в монады реальным программам не очень-то помогает. А монады сами по себе прекрасно себя чувствуют и в "грязном" F#.
В Хаскеле сносит мозг не функциональность и не монады, а вездесущая ленивость, особенно после длительного опыта общения с энергичными языками.
Re[8]: Изучение .NET
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.05.10 19:37
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Не, ну товарищи просто не соблюдали нужную дозировку. Хаскель как змеиный яд, в малых дозах — лекарство, в больших — смертелен Его нужно принимать в строго ограниченных количествах, не больше двух капель в день. Предписание — чувство неловкости при изучении каких-либо языков, отличных от Хаскеля.


ИМХО тут не от доз, а от человека зависит. Кто, наткнувшись на мозголомку, начинает ФП ненавидеть, кто то наоборот считает, что ФП это серебрянная пуля. Ну а тот, кто поумнее, просто мотает себе на ус и применяет ФП там, где от него есть практическая польза и минимум вреда.
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[10]: Изучение .NET
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.05.10 19:37
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>В Хаскеле сносит мозг не функциональность и не монады, а вездесущая ленивость, особенно после длительного опыта общения с энергичными языками.


В шарпе, когда пользуешь итераторы, даже без ФП получается тоже сплошная ленивость (не такая, конечно, как в Хаскеле, но тем не менее). Но как то народу особо моск не сносит.
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[11]: Изучение .NET
От: Воронков Василий Россия  
Дата: 20.05.10 19:47
Оценка: 2 (1)
Здравствуйте, AndrewVK, Вы писали:

ВВ>>В Хаскеле сносит мозг не функциональность и не монады, а вездесущая ленивость, особенно после длительного опыта общения с энергичными языками.

AVK>В шарпе, когда пользуешь итераторы, даже без ФП получается тоже сплошная ленивость (не такая, конечно, как в Хаскеле, но тем не менее). Но как то народу особо моск не сносит.

Ну ты сравнил, конечно. В хаскеле все вычисления ленивые и ленивость прозрачная. Последовательность выполнения, глядя на код, построить практически нереально. Выражение, переданное в функцию, может быть вообще никогда не вычислено и пр. И причем тут C#?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Re[9]: Изучение .NET
От: Воронков Василий Россия  
Дата: 20.05.10 19:47
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>ИМХО тут не от доз, а от человека зависит. Кто, наткнувшись на мозголомку, начинает ФП ненавидеть, кто то наоборот считает, что ФП это серебрянная пуля. Ну а тот, кто поумнее, просто мотает себе на ус и применяет ФП там, где от него есть практическая польза и минимум вреда.


Ты на Хаскеле писал?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Re[10]: Изучение .NET
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.05.10 19:50
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ты на Хаскеле писал?


Немножко. А что?
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[11]: Изучение .NET
От: Воронков Василий Россия  
Дата: 20.05.10 20:13
Оценка:
Здравствуйте, AndrewVK, Вы писали:

ВВ>>Ты на Хаскеле писал?

AVK>Немножко. А что?

Мне несколько непонятна твоя попытка обсуждение Хаскеля свести к ФП вообще.
Re[12]: Изучение .NET
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.05.10 20:51
Оценка: -1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>>>Ты на Хаскеле писал?

AVK>>Немножко. А что?

ВВ>Мне несколько непонятна твоя попытка обсуждение Хаскеля свести к ФП вообще.


Это скорее ты пытаешься обсуждение ФП свести к Хаскелю.
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[8]: Изучение .NET
От: Wolverrum Ниоткуда  
Дата: 20.05.10 21:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это простите — чушь. На хаскеле можно решать любую задачу.

VD>Скажи уж честно — не осилил. Тут стыдиться не чего. Хаскель и правда в 90% случаев приводит к вывиху мозга классически обученного программиста.
VD>Еще сильная трава Лисп. Но после этого боюсь, что ты станешь сильным врагом С++, потому как единственное достоинство которое ты будешь видеть в С++ — это будет компиляторы порождающие быстрый код.

Я бы так категорично не высказывался — как минимум нужен будет Си в нагрузку.

>Хаскель и правда в 90% случаев приводит к вывиху мозга классически обученного программиста.

>Еще сильная трава Лисп.
Нет
Re[3]: Изучение .NET
От: Воронков Василий Россия  
Дата: 20.05.10 21:39
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

RO>>Трёльсена не читал, но переводчиков осуждаю.

LD>Да, опечаток там много. В одном месте вместо примера на C# вообще дается пример на VB.

Ни хрена себе опечатка
Re[9]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.05.10 13:13
Оценка:
Здравствуйте, Wolverrum, Вы писали:

W>Я бы так категорично не высказывался — как минимум нужен будет Си в нагрузку.


А этого никто не запрещает. Но я почти уверен, что понадобится он не очень часто.

>>Хаскель и правда в 90% случаев приводит к вывиху мозга классически обученного программиста.

>>Еще сильная трава Лисп.
W>Нет

Ты ее уже курнул?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.05.10 15:24
Оценка:
Здравствуйте, nikov, Вы писали:

N>Да ладно тебе, Haskell — нормальный язык, вполне пригодный для написания реальных программ. Один из многих хороших языков. Гибридный функционально-императивный, причем императивность изящно инкапуслирована в монады.


Согласен со всем кроме "Гибридный". Все же назвать гибридным наличие императивности — это уже через чур. Она есть в любом языке на котором можно писать реальные программы.

Хаскель как раз самый моно-язык из всех существующих языков. Реально он поддерживает только ФП, но поддерживает хорошо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.05.10 15:27
Оценка: +2
Здравствуйте, AndrewVK, Вы писали:

ВВ>>В Хаскеле сносит мозг не функциональность и не монады, а вездесущая ленивость, особенно после длительного опыта общения с энергичными языками.


AVK>В шарпе, когда пользуешь итераторы, даже без ФП получается тоже сплошная ленивость (не такая, конечно, как в Хаскеле, но тем не менее). Но как то народу особо моск не сносит.


Это не совсем одно и тоже. К тому же итераторы не дают ленивости в полном понимании этого слова. Ленивость это отложенность вычислений. Даже 2 + 2 и те выполняются лениво. Объявления так же могут идти в любом порядке, так как ленивы. Ну, и ленивость подразумевает только однократное вычисление. А итераторы могут вычисляться многократно и потенциально давать разные результаты.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Изучение .NET
От: Silver_s Ниоткуда  
Дата: 21.05.10 19:59
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Колотун при писании на C++ после шарпа, даже не столько из-за того что больше текста писать, и не в том что сложно реализовать логику(с этим проблем конечно нет). А колотун из-за того что нет никакой уверенности что вся эта писанина не станет падать. Причем если будет падать то обязательно не при первом запуске, а подлым образом непонятно когда и непонятно почему.
Re[3]: Изучение .NET
От: Silver_s Ниоткуда  
Дата: 21.05.10 20:40
Оценка: +1
Здравствуйте, Lonely Dog, Вы писали:

RO>>Трёльсена не читал, но переводчиков осуждаю.

LD>Да, опечаток там много. В одном месте вместо примера на C# вообще дается пример на VB.

Про C# можно и в переводе читать. Но сложную литературу,документацию в переводе читать хочется но невозможно. Там не просто опечатки а скорее чушь, скорее всего из-за того что для переводчика это просто набор слов был. Короче говоря, поймешь в переводной литературе ровно столько, сколоко сам переводчик смог понять
Re: синдром ассемблера
От: gear nuke  
Дата: 22.05.10 10:35
Оценка: 5 (2) +1 :)
Здравствуйте, Lonely Dog, Вы писали:

LD>Встречались ли вы с таким явлением?


Проходил сам и наблюдал не раз. Наиболее выражено это при переходе с ассемблера на любой другой язык и выражается словами "боюсь, что компилятор что-нибудь напутает" При переходе C++ -- Delphi такого разумеется не будет, поскольку принципиальной разницы между языками нет. А вот по сравнению с C#, C++ мало отличается от ассемблера, поэтому синдром проявляется.

LD> Как боретесь?


Бороться с этим бесмысленно и бесполезно — мозг будет защищаться и находить аргументы, что бы доказать что он умнее компилятора Нужно осознать что да, мозг то умнее, но делать нудную и рутинную работу ему — лень. Ну и если мозг такой умный, то выучить язык который используют "индусы" для него сущий пустяк должен быть Последнее потребуется для контратаки на агрумены "прошла неделя, и мне это стало не интересно"

Читать книги — бесполезно, надо писать и читать. И поддерживаю идею FR насчёт волшебных таблеток, по крайней мере мне помогло осознание факта, что Lisp — это такие мега-макросы для ассемблера, а ML — шаблоны C++, откуда за не надобностью выкинули блекджек и тп К тому же, эти языки на самом деле проще. Да, для понимания надо вывихнуть мозг, но больно не будет — там же нет костей
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[7]: Изучение .NET
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.05.10 13:21
Оценка:
Здравствуйте, Silver_s, Вы писали:

S_> А колотун из-за того что нет никакой уверенности что вся эта писанина не станет падать. Причем если будет падать то обязательно не при первом запуске, а подлым образом непонятно когда и непонятно почему.


Я писал на С/С++ где-то десять лет и научился весьма неплохо обходить все грабли. Использования рантайм проверок, техник, различных баундчекеров и множества тестов позволяет получить приличное качество, но писать на таком языке сильно ломает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Изучение .NET
От: andy1618 Россия  
Дата: 01.06.10 01:04
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Встречались ли вы с таким явлением? Как боретесь?


Переходил на C# по книжке:
Trey Nash, Accelerated C# 2008
http://book.pdfchm.com/accelerated-c-2008-9499/
(после регистрации доступно скачивание "ознакомительной" версии )
Автор фокусируется именно на особенностях C# по отношению к C++ (и, иногда, к Java).
Есть главы по новым фичам C# 3.0 (lambda expressions, extension methods, LINQ).

Никаких "недомоганий" не возникло
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.