Как стать автором
Обновить

Комментарии 58

Я вот одно не понял. Почему после комментариев Спасибо и Продолжайте я начал делать вторую часть, а тут такой негатив? Мне показалось комментов ЗА было больше, чем ПРОТИВ. Я не прав?
совсем уж примитивные вещи пишите, да еще и несколько раз повторяя одно и то же.

я хоть c# и не люблю, использовать никогда не собираюсь, но тем не менее уметь на нем программировать считаю не лишним.
несколько языков я знаю, так что мне хотелось бы узнать об особенностях c#, а не о том как программировать вообще.
то, что вы написали больше похоже на псевдокод с программой «hello world», чем на пример c#.

а еще, разве в последнем.нете необходимо обьявлять тип переменной если он очевиден?
Не обязательно, var x = «string» вполне подойдёт, но нагляднее по-моему, писать string x = «string»;
Спасибо! Я учту.
Возможно это по причине того, что я привык разжёвывать всё студентам.
Для меня интереснее было бы узнать побольше о Win приложениях, с консолью вроде все понятно, а вот статейка о win-приложениях не помешала бы
Спасиб за старания, не всем и азы знакомы, буду следить за темой
Стоит наверное делать более узкие статьи, например отдельно про Mono и его особенности, или про IronPython, или написать про возможности LINQ, а может вообще рассказать про функциональный сахар в .Net3.5 на примере парсинга текста ;)
а еще, разве в последнем.нете необходимо обьявлять тип переменной если он очевиден?
ну Вы же для себя программу пишете. Чем плохо указать нормальный тип, а не var? var подойдет для Linq, Например, с помощью LINQ to SQL выгребли объекты, а потом в цикле foreach (var a in obj) {...}
Удобно, и не надо узнавать, что там у нас за тип.
А через Object нельзя? Или там приводить еще придется?
Вполне возможно, а может и невозможно :). Но с использованием var у нас переменные будут анонимного типа. В том же селекте для Linq2Sql при помощи ключевого слова new можно выгрести только те поля объекта, которые нам необходимы. msdn.microsoft.com/ru-ru/library/bb397696.aspx вот тут немного можно коснуться этого.
Вот за такой подход, нужно стрелять на месте. Представьте насколько сложен будет код если всё будет объявляться var.
Притом не стоит забывать: «Код нужно писать, так как будто его будет сопроваждать психически-неуравновешанный маньяк, который знает где вы живёте». :)
Идея написания таких статей — идея на «5 с плюсом».
Но, хотелось бы все-таки уточнить для кого эти статьи? и после этого держаться выверенного курса, что бы те кто «покруче», не возмущались тому, что слишком просто, а те кто только начал изучать «не испугались бы».
Но мне кажется что большинство ждало некоторых изюминок C#, таких, например, о которых писал Дж. Рихтер. ;)
Необращайте внимание. Иногда тут пробигает толпа троллей. Да и под горячую руку можно попасть :)

PS: А статьи пишите…
Кстати, из литературы еще мне нравится Трей Нэш. «C# 2008. Ускоренный курс». Книга именно о синтаксисе и фичах самого языка, очень мало воды на мой взгляд, хорошо читается.
Мне нравится=)

Сегодня не удержался и купил «C# для чайников» — у вас интереснее, имхо, но мне кажется, слишком много «воды» — элементарных основ. С другой стороны, читать будут и совсем новички, так что продолжайте, продолжайте и еще раз продолжайте)

Не забудьте упомянуть потом работы с БД (SQLite идеально подходит, ИМХО) и DataGrid — по этому не очень много дельных мануалов в гугле, AFAIK.)

В последний раз копал гугл ещё на тему эффективной работы с http — получение и разбор — тоже, на мой взгляд, будет интересно описать)

Ну и, когда до string разбора дойдете — регулярки, ага!!)
Опечатки кстати — не /n/t, а \n\t

коретки => каретки

что бросается в глаза)
Спасибо понравилось!!!
Посмотрите на книгу «Delphi в примерах и задачах» от тогоже автора
www.chtivo.ru/chtivo=3&bkid=487382.htm

И вам сразу все станет ясно (Подсказка: у этих книг даже кол-во страниц приблизительно одинаково:)
Эээ… а как же уже практически классическая книга Рихтера?
CLR via C#?
В данном контексте наверное именно она.
угу
Единственная стоящая книга.
Всё остальное можно узнать в msdn.
НЛО прилетело и опубликовало эту надпись здесь
Вот все мне говорят что книга тяжелая.

На самом деле с неё почерпнул очень много информации по проблемам которые могут встретиться. Да и текст читается легко. Все таки дядька знает о чем пишет… а то бывают такие книжки, что хоть стой, хоть падай, особено с русским переводом…
На 18 строке мы добавили Console.ReadLine() — это сделано для того, чтобы после запуска программы консоль не закрывалась.

Такие маленькие программки, чтоб не писать лишнюю строчку кода (да, я ленивый студент :), можно компилировать и вызывать по <Ctrl+F5> вместо <F6>. Тогда после выполнения программы консоль тоже не закроется, а будет ожидать действия пользователя.
* вместо <F5>, разумеется.

Сказанное справедливо для MS VS 2005 и 2008.
В свое время этого «долго» не знал. И теперь мне легче набрать «Console.ReadLine()»…

PS: Не люблю клавишу Ctrl :)
Ваша правда, у неё такое название страшное… :-)
в списке книг я бы еще упомянул книгу Троелсена «C# и платформа .NET. Библиотека программиста » www.piter.com/book.phtml?978531800750 и Рихтера CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. Последняя полезна для общего развития.

И как пожелание, расскажите еще про NUnit и NAnt, первый это фреймворк для тестов, а второй — система сборки проектов.

Троелсен очень хорош, я с него шарп изучать начинал — написано доступно, емко и качественно.
Проблема в том, как правильно здесь заметили, надо бы выбрать точную аудиторию. Я думал, что после первой статьи это станет ясно, но так и не знаю…
Думаю, что все-таки бОльшая часть аудитории хабра не нуждается особо в пояснениях что такое переменная или ее тип, в общем базовых для многих языков понятиях, тут можно оперировать фразами «статическая типизация», «обязательно объявление и иницализация переменных», «ветвление реализуется так-то, а наследование так-то»,. Но в тоже время мне кажется, что не стоит рассчитывать на то, что человек хоть что-то знает о C# и .Net.

Может стоит ориентироваться на c/perl/php веб-программиста, которому или понадобилось сменить платформу своих серверных приложения с *nix (если планируется рассказ об asp.net), или написать сначала консольное, а потом гуишное приложение под Windows (с ремарками про моно)? Ну или хотя бы студента уже сдавшего курсовик на Паскале :)
Ага, но чтобы код работал и работал одинаково под всеми платформами и реализациями .net, нужно чтобы он соответствовал CLI
)))) Как раз только что закончил делать лабораторки по C# в универ и решил перед сном хабр почитать. А делал я их как раз в mono под Убунтой
а как у Mono с быстродействием? часто наталкиваюсь на сообщения о его тормознутости… дескать и оперативный компилятор плохой и сборщик мусора тормоз…
Попытаюсь ответить на первый вопрос. Мне просто кажется что C#, .NET и майкрософт не совместимы с термином *nix. Коммерческие продукты они и есть коммерческие продукты, и платформу .NET никогда не портировать в *nix так, чтобы оно того стоило. А C# да, хороший язык, но примитивные вещи написанные на C# в 8 раз медленнее чем то же самое написанное на Си, так что нот гуд. Корпоративные системы будут продолжаться писаться в Си и С++. :) За статью спасибо. Ставлю плюс.
Ну так С# (читай весь .NET) не для примитивных вещей заточен. А скорее наоборот — помогает разработчику не задумываться над реализацией этих примитивных вещей и воспользоваться готовой, универсальной, оттестированной и безопасной, ну и медленной, как следствие. Здесь уже кому что важнее — быстрота разработки или же скорость работы. Хотя это можно и комбинировать — писать особо критичные к ресурсам модули по-старинке, на С++, а остальное на .NET языке. Также замечу, что в последней 2008-й студии можно создавать только .NET проекты. Этим создатели недвусмысленно намекают, что пора уже переходить на новую платформу.
Ну да, вы меня правильно поняли :) А по поводу последней 2008-й студии (VS9 насколько мне известно) ничего не понял, в каком смысле только .NET проекты? Не знаю последняя ли у меня, пару месяцев назад ставил, ну писать Си и С++ я всё ещё могу…
>что в последней 2008-й студии можно создавать только .NET проекты

Вы вообще 2008ю студию открывали? Там наоборот улучшили поддержку плюсов. Ну и кроме того можно создавать проекты инсталляции и проекты, относящиеся к БД.

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

По-моему они уже давно на это не намекают, а практически в открытую говорят об этом.
Вполне может быть. Так как я ее нашел в феврале прошлого года, а когда там был релиз в России? И я еще удивлялся — а где MVC проекты… Но с тех пор я перешел на C# Express Edition. Плагинов не хватает, а так всем доволен.
А MVC отдельно доставлять нужно ;), они в стандартную установку пока что не входят. Вроде в 2010 студии уже будет по принципу AS IS.
Всё это есть и в 2005, если ставить полную установку, а не урезанную.
Знаю, но я ничего не говорил про 2005ю.
> ну и медленной, как следствие. Здесь уже кому что важнее — быстрота разработки или же скорость работы.

Я бы сказал ЧУТЬ ЧУТЬ медленнее :) ну а плюсы того, что код получается в разы безопаснее, за более короткое время(относительно разработки на плюсах) очень сложно окупить… особенно когда в команде много людей и все эти люди дорогие специалисты… А в вэб приложениях, если нехватает скорости, то всегда можно за небольшую сумму денег(относительно стоимости разработки)купить железо быстрее.

> Хотя это можно и комбинировать — писать особо критичные к ресурсам модули по-старинке, на С++, а остальное на .NET языке.

.Net можно очень красиво и эффективно оборачивать библы написанные не на .Net(есть сторонние кодогенераторы которые могут сделать это автоматически), а в 4й версии с появлением dynamic будет ещё проще :)
«размерные и ссылочные.» — может правильным будет «значимые и ссылочные»?
На счет воды.
А давайте люди прошаренные будут очень быстро прочитывать эту «воду» и заострять внимание на интересном им материале, и больше не предлагать нерациональных вещей? Зачем исключать часть аудитории, ради удобства остальной ?(в нашем случае, я думаю, это не оправданно)
На начальном этапе для меня настоящим откровением стало то, что вместо "\n" пришлось использовать Environment.NewLine :)
вроде можно и так "\r\n"
Не переносимо :) Как минимум три варианта кодирования новой строки есть — Windows, *nix и MacOS
А NewLine получаетс вроде как платформонезависимо. Мелочь, а приятно :)
Отличная книга, далее советую тебе Pro C-Sharp 2008 and the NET 3.5 Platform (английский).
У вас ошибка в коде:
short х;
int у — 5; // здесь вместо - должно быть =
х = у; //не скомпилируете
IronRuby там в глубокой ж… aльфе находитцо, IronPython в бетте — нах такой друзей.
Единственно что может предствлять интерес как наиболее завершенная — это Nemerele, JavaScript.

для Object Pascal я чота вот не увидел бесплатных компиляторов. А так есть zonnon, который почемуто не упоминается на странице поддерживаемых езыков.
Было бы интересно почитать про ограничения Mono по сравнению с родным .NET Framework'ом.
Если будете писать про методы, боксинг помяните?
Большое спасибо автору, так как в програмировании нуб, а елементарные основы как раз кстати:)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории