Пару недель назад начал изучать .NET и C#. Прочитал Троелсена, придумал идею программы для осваивания языка и вперед.
Пока нравится. Удобно, быстро, легко.
Чувствую некоторую неловкость в обращении с новым языком. Не знаю, как объяснить нормальным языком. Нет той уверенности, которая у меня была при использовании C++. С одной стороны, это нормально. C++ использую 9 лет, а C# только пару недель. С другой стороны изучение Intel Assembler или Delphi Pascal не вызывало таких ощущений. Понятно, что сравнивать асм (простой язык) и C# нельзя.
Прошу заметить, тема не о том, как изучать .NET, какие книги читать и пр.
Она скорее о том, как преодолеть неловскость при использовании новой технологии или нового языка программирования.
Здравствуйте, FR, Вы писали:
FR>Есть много волшебных таблеток Хаскель Лисп Смалтолк, попробуй их поизучать
Т.е. здесь как с языками...
Первый язык дается тяжело, потом уже легче.
Здравствуйте, Lonely Dog, Вы писали:
LD>Встречались ли вы с таким явлением?
Да.
LD>Как боретесь?
Никак, это нормально и относительно быстро проходит Если у вас опыта 9 лет с С++, то через пару месяцев работы и с C#/.NET будете себя более-менее нормально чувствовать.
On 18.05.2010 14:31, Lonely Dog wrote: > FR>Есть много волшебных таблеток Хаскель Лисп Смалтолк, попробуй их > поизучать
Это чтоб по сравнению с выносом мозга при изучении хаскеля и лиспа,
изначальная неловкость с C# не казалась такой уж страшной?
LD>Встречались ли вы с таким явлением? Как боретесь?
Втречался. Когда с С# перелез обратно на C++, и испытал аналогичные ощущения.
Нет той уверенности, которая у меня была при использовании C#
Борьба — проще некуда: начать на инструменте денежку зарабатывать
Здравствуйте, Lonely Dog, Вы писали:
LD>Пару недель назад начал изучать .NET и C#. Прочитал Троелсена, придумал идею программы для осваивания языка и вперед. LD>Пока нравится. Удобно, быстро, легко. LD>Чувствую некоторую неловкость в обращении с новым языком.
Здравствуйте, Lonely Dog, Вы писали:
LD>Привет!
LD>Пару недель назад начал изучать .NET и C#. Прочитал Троелсена, придумал идею программы для осваивания языка и вперед. LD>Пока нравится. Удобно, быстро, легко.
LD>Чувствую некоторую неловкость в обращении с новым языком. Не знаю, как объяснить нормальным языком. Нет той уверенности, которая у меня была при использовании C++. С одной стороны, это нормально. C++ использую 9 лет, а C# только пару недель. С другой стороны изучение Intel Assembler или Delphi Pascal не вызывало таких ощущений. Понятно, что сравнивать асм (простой язык) и C# нельзя.
LD>Встречались ли вы с таким явлением? Как боретесь?
Возможно, вам просто кажется, что .НЕТ медленная и громоздкая по сравнению с С++ платформа, у самого такое было, пока не начал писать на .НЕТ под смартфон с 200мГц АРМ процессором. Не то что бы прямо взлетает, но шустренько бегает
Или просто непривычное ощущение расслабленности мозга от логичности и читаемости языка
ВВ>Define "неловкость".
Ну не знаю. С++ код пишется без проблем. C# заставляет задуматься: "здесь struct или class", "а какой там синтаксис определения интерфейса" и пр.
Плюс вроде среда разработки одна, а ощущения другие.
Здравствуйте, Wolverrum, Вы писали:
LD>>Встречались ли вы с таким явлением? Как боретесь? W>Втречался. Когда с С# перелез обратно на C++, и испытал аналогичные ощущения. W>Нет той уверенности, которая у меня была при использовании C#
W>Борьба — проще некуда: начать на инструменте денежку зарабатывать
Мне всегда казалось, что это не главное. Я в том смысле, что достаточно придумать не учебную задачу а реальную, и это лучше способ овладевания новым инструментом.
sto>Возможно, вам просто кажется, что .НЕТ медленная и громоздкая по сравнению с С++ платформа, у самого такое было, пока не начал писать на .НЕТ под смартфон с 200мГц АРМ процессором. Не то что бы прямо взлетает, но шустренько бегает
Кстати, ничего подобного. Тормозов при выполнении не замечаю. А вот резкое ускорение скорости компиляции уже оценил.
sto>Или просто непривычное ощущение расслабленности мозга от логичности и читаемости языка
Пока большой разницы не вижу. Хотя согласен, некоторые возможности C# мне нравятся.
Здравствуйте, 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# еще нет.
Здравствуйте, Lonely Dog, Вы писали:
ВВ>>Define "неловкость". LD>Ну не знаю. С++ код пишется без проблем. C# заставляет задуматься: "здесь struct или class", "а какой там синтаксис определения интерфейса" и пр. LD>Плюс вроде среда разработки одна, а ощущения другие.
Ну struct или class — это такой вопрос, чем больше ты понимаешь в структурах и классах, тем чаще будешь им задаваться На начальных этапах struct можно вообще не использовать — живет же Джава без них, — ибо есть вероятность, что получится хуже, а не лучше.
А про отличия по синтаксису я не очень понимаю. Похоже ведь Неужто в Дельфи не было неловкости по этим вопросам, там-то ведь как раз все по-другому?
On 18.05.2010 22:38, Lonely Dog wrote: > C# заставляет задуматься: "здесь struct или class", "а какой там синтаксис определения интерфейса"
Как раз из-за этого и неловкость. Со временем, когда не надо будет
задумываться, как задачу переложить на языковые конструкции, а это будет
происходить на автоматизме, то всё будет как в С++. Так что немного
практики, и всё будет ок.
Здравствуйте, Lonely Dog, Вы писали:
LD>Чувствую некоторую неловкость в обращении с новым языком. Не знаю, как объяснить нормальным языком. Нет той уверенности, которая у меня была при использовании C++. С одной стороны, это нормально. C++ использую 9 лет, а C# только пару недель.
8 лет не использую активно C++. Неловкость при его использовании зашкаливает.
LD>Встречались ли вы с таким явлением? Как боретесь?
Вообще если знать хорошо лишь один язык, то в нем все ловко. Если знать несколько, то в некоторых будет одно ловчее, в других — другое. Т.е. с опытом в C# в С++ уже не будет так ловко как было до C#.
Любой клиент легко подкинет вам даже не одну нетривиальную задачку "из жизни"
LD>Мне всегда казалось, что это не главное.
...Но лучше совмещать приятное с полезным
LD>Встречались ли вы с таким явлением? Как боретесь?
1. Когда я изучал C# неловкость пропала только после того, как я месяц подряд читал спецификацию C# на английском и посматривал вопросы по C# здесь на форуме в разделе .NET, а затем ещё месяц провёл в программировании с результатом коту ректально (до этого полгода никак не мог научится нормально на нём работать, хотя книжку прочитал). Плюс, книжка тоже не помешает, конечно, но там много лишнего. Из всего языка большую часть особенностей можно просто забыть.
2. До сих пор берясь за задачи я вообще испытываю неловкость: мне всегда говорят, что я работаю медленно, а я сам считаю, что ещё и пишу дурацкий код. Так что здесь если только психолог поможет избавиться от комплекса неполноценности.
3. Испытываю неловкость, когда пишу на C++, потому что боюсь, что кто-то скажет, что я написал то, что есть в стандартных библиотеках или не использовал какой-то инструмент языка, типа шаблонов. Учить C++ не хочу, поэтому на нём никогда не программирую.
4. Delphi — очень хорошо структурированный язык с хорошими учебниками для школьников. Он очень ловкий, потому что там всё сразу понятно: и что есть в языке, и что надо использовать.
5. При программировании на C# необходимо использовать Visual Studio версии не ниже 2005, а лучше — 2008, так он становится в два раза ловчее, чисто по ощущениям (особенно лямбды помогают, там где фильтрация списков идёт — очень удобно).