Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как быстро можно научиться программировать на C#


Автор: EsAlexey 18.9.2006, 08:13
В данный момент идет выбор среды разработки для АСУП (клиент-сервер). Основным критерием является возможность найма программистов способных к работе в выбранной среде. С точки зрения удобства разработки я рассмотрел несколько сред: Delphi 7, Java+Eclipse, C++, Delphi.NET и C#.NET.

На простом Delphi оказалось очень неудобно писать из-за кривости и неполности системных библиотек. На Java сложно создавать графические приложения. Язык C++ слишком сложный (слишком большой объем спецификации). Delphi.NET (Turbo Delphi for .NET) при написании программ у меня вылетала с ошибками и нет чистой поддержки .NET: модуль не должен быть классом и не должен сам по себе содержать процедур (теряется стандартность .NET). На C#.NET я писал диплом, и вышло неплохо - свои задачи программа решала. Самым лучшим вариантом для меня оказался C#.NET.

У работодателя возникает вопрос - "Если клиентская часть АСУП будет разрабатываться на C#.NET, то сможем ли мы найти программистов для последующего развития системы?". Я хочу предложить брать на работу любых программистов (даже студентов) и учить их разработке в этой среде. Но у меня возникает вопрос: за какое время можно научиться разрабатывать прикладные графические  программы на C#.NET? Я в свое время научился писать графическое ПО на C# где-то за пару недель.

Автор: Exception 18.9.2006, 14:27
Лично я потратил на изучение С# больше 2 месяцев. Сказать честно, я и сейчас ему учусь и узнаю что-то новое. Под словом "учиться" я имею в виду "узнавать что-то новое", а не просто выучить синтаксис.
Я думаю, вам дешевле будет нанять проф. программистов, чем потом мэйнтэйнить код, написанный плохо обученными студентами без опыта.

Автор: $tatic 18.9.2006, 14:57
Это получается надо будет и WinForms, и сетевую часть (и базы данных наверное). Довольно много времени надо затратить, чтобы приемлимо использовать возможности .NET. Отсюда действительно код получится довольно корявый. Не столько из-за неумения программировать, сколько из-за неумения использовать уже сделанное.
Пишите программу в том, что больше знаете.

Автор: NikotiN 18.9.2006, 18:10
для меня это был не первый язык, хотя до этого писал на pascal/delphi, php, asm, т.е. принципы знал, не знал синтаксиса. до приемлимого уровня выучил через 2-3 недели, язык очень лёгкий, очень понятный, и первый пару месяцев я просто был в эйфории, т.к. сбились все мои мечты, появилось всё то, чего не хватало в остальных языках!!!

Автор: EsAlexey 18.9.2006, 21:29
До того, как начать изучение C# я имел солидных багаж знаний Delphi+VCL и немного знаний C++Builder. По принципам разработки VCL очень похож на Windows.Forms, поэтому мне удалось так быстро начать писать программы на C#.

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

Спасибо всем за ответы. Теперь есть над чем подумать. Но, всеравно, мне кажется, что .NET окажется более удобен для разработки клиента.

NikotiN, я также полюбил этот язык за простоту и удобство. И .NET оказался идеалом после Delphi.

Автор: Exception 19.9.2006, 21:15
Цитата(EsAlexey @  18.9.2006,  22:29 Найти цитируемый пост)

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


Я не понял, кто занимается проектированием проекта -- студенты или разработчики smile ?

Автор: Ch0bits 19.9.2006, 23:33
Более-менее разобрался с платформой за пол года. 

Автор: ivashkanet 20.9.2006, 08:03
Начать прогить под .Net можно через... полчаса  smile 
А вот на то чтобы изучить фрэймворк... Тут не мненьше пары месяцев  smile 
 

Автор: EsAlexey 20.9.2006, 18:42
Exception, проектированием АСУП занимаются разработчики, один из которых еще полгода будет студентом.

ivashkanet, для изученя фреймворка очень хорошо помог бы его исходный код. В Borland Delphi дают исходный код VCL, в Sun Java SDK его тоже дают, а вот в .NET он закрыт, поэтому приходится дизассемблировать библиотеки для изучения принципов работы Windows.Forms.

Автор: ivashkanet 20.9.2006, 19:18
Цитата(EsAlexey @  20.9.2006,  18:42 Найти цитируемый пост)
для изученя фреймворка очень хорошо помог бы его исходный код

Ничем особенным он не поможет, ИМХО. Чтобы научиться ездить на велосипеде/машине необязательно знать их внутреннее устройтсво  smile 
P.S. В .Net прекрасный дезассемблер, даже больше --- декомпилятор. Его тебе и в руки  smile

Добавлено @ 19:22 
Цитата(ivashkanet @  20.9.2006,  08:03 Найти цитируемый пост)
чтобы изучить фрэймворк

Даже не так smile 
Не изучить, а научиться рационально им пользоваться, вот.

Автор: EsAlexey 20.9.2006, 21:22
ivashkanet
Одно дело ездить на машине, другое дело производить тюнинг. Также и в программировании. Сейчас мне нужно написать 3 графических компонента в NET, и для того, чтобы правильно реагировать на нажатия клавиш, мне потребовалось посмотреть как работает обработка сообщений об их нажатии в NET. Пришлось дизассемблировать. А на Delphi 7 я мог спокойно посмотреть код.

В NET нет декомпилятора, а "ildasm.exe" - это дизассемблер, т.к. он показывает инструкции IL, а не код на C#.

А для изучения рационального использования библиотек NET действительно нужно много времени.

Автор: mr.DUDA 20.9.2006, 21:32
Цитата(EsAlexey @  20.9.2006,  21:22 Найти цитируемый пост)
В NET нет декомпилятора, а "ildasm.exe" - это дизассемблер, т.к. он показывает инструкции IL, а не код на C#.А для изучения рационального использования библиотек NET действительно нужно много времени.

Есть тулзы типа Reflector, дающие код на C#.
А перед VCL и Java основное преимущество - хорошая документация в виде MSDN и куча онлайн ресурсов, дополняющих мсдн (codeproject, rsdn, винград в конце концов smile).

Автор: arilou 24.9.2006, 19:01
Цитата(EsAlexey @  18.9.2006,  08:13 Найти цитируемый пост)
 хочу предложить брать на работу любых программистов (даже студентов) и учить их разработке в этой среде

Настоятельно не рекомендовал бы такой подход. Если интересно - можно обсудить в PM.

ЗЫ. Сам пишу на дотнете около 3 лет. Даже сейчас что-то новое узнаю  smile ИМХО, вопрос в культуре программирования.

Автор: Wanderer2019 25.9.2006, 12:17
самый хороший вариант это давать выполнить какое нить тестовое задание... а там уж решать удовлетворяет человек требованиям или нет... т.к. зачастую записи в трудовой книжке не являются показателем профессиональности

Автор: Aannttoonn 28.9.2006, 21:15
Как студент скажу, что переход с процедурного С smile   на С# прошёл не очень. Схожесть синтаксиса сыграла для меня плохую службу в начале, когда пытался писать тоже самое на новом. Вот ща, заканчивая свой первый маненький проектик, взглянув на свой страшный и запутанный код, понимаю, что мне не хватало доброго бородатого программера, который давал бы мне время от времени хороший пинок под зад.

Учите нас, мы хорошие.

Ну, а код… главное ведь чтоб работало! 

Автор: KAFLAN 28.9.2006, 22:59
Aannttoonn wrote:
"Как студент скажу, что переход с процедурного С++ на С# прошёл не очень."

жжешь, ну честное слово жжешь ;)
 smile 


А если по сущетсву говорить о приеме на работу студентов - нельзя обобщать. Всё зависит от конкретного индивидума.
У нас в комании работало два студента, которые поступили очень не хорошо: долго коряво писали проект потом слиняли, пришлось писать с нуля. После этого доверие в компании к такого рода сотрудникам упало их несколько лет в компанию не брали, пока не появился один старшекурсник который показал что всё зависит от конкретного человека, улучщил постановку процесса девелопмента в компании помог привести в компанию достаточно много студентов с младших курсов устроил их обучения и доказал что студенты в условиях кадрового голодания очень выгодное вложение...
Если в те времена полноценный сотрудник получал 1200$ то студенту в первый месяц он платил 250$ и потом каждый месяц увеличивал зарплату на 50$, в итоге через полтора года из студента получался полноценный сотрудник преданный компании, за то что в него поверила и вкладывала силы и деньги. А приличным сотрудником он станет уже через 3 - 6 месяцев (зависит от человека) ес-но при ПОСТОЯННОМ контроле, чем он сам постоянно и занимался. Благодаря ему и людям которых он обучал был разработан извсестный продукт Password Commander (http://www.pascom.ru/). При этом оглядываясь на то сколько он съэкономил компании денег понимаешь что студенты это не всегда зло...

Автор: arilou 29.9.2006, 09:42
Цитата(Aannttoonn @  28.9.2006,  21:15 Найти цитируемый пост)
Ну, а код… главное ведь чтоб работало! 

В тебе говорит будущий project manager  smile 

Автор: Exception 29.9.2006, 15:16
Работает - не трогай smile ? Не будь этого принципа, thedailywtf.com было бы нечем пополнять smile .

Автор: Goganchic 2.10.2006, 22:03
Я считаю, что без профессионалов в проекте обойтись нелязя, а самый выгодный вариан,  чтобы Team Leader был профессионалом, так сказать отцом, который можешь подойти и помочь, а также отругать и в угол поставить  smile В общем, если структуру проекта будут созадвать студенты... в общем, я не хотел бы видеть такой проект (это мое личное мнение). По мне, так лучше пусть профессионал напишет общую структуру, а студенты под его (профессионала) тчательным контролем напишут реализацию и тогда всем будет хорошо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)