Comments 58
Я вот одно не понял. Почему после комментариев Спасибо и Продолжайте я начал делать вторую часть, а тут такой негатив? Мне показалось комментов ЗА было больше, чем ПРОТИВ. Я не прав?
совсем уж примитивные вещи пишите, да еще и несколько раз повторяя одно и то же.
я хоть c# и не люблю, использовать никогда не собираюсь, но тем не менее уметь на нем программировать считаю не лишним.
несколько языков я знаю, так что мне хотелось бы узнать об особенностях c#, а не о том как программировать вообще.
то, что вы написали больше похоже на псевдокод с программой «hello world», чем на пример c#.
а еще, разве в последнем.нете необходимо обьявлять тип переменной если он очевиден?
я хоть c# и не люблю, использовать никогда не собираюсь, но тем не менее уметь на нем программировать считаю не лишним.
несколько языков я знаю, так что мне хотелось бы узнать об особенностях c#, а не о том как программировать вообще.
то, что вы написали больше похоже на псевдокод с программой «hello world», чем на пример c#.
а еще, разве в последнем.нете необходимо обьявлять тип переменной если он очевиден?
Не обязательно, var x = «string» вполне подойдёт, но нагляднее по-моему, писать string x = «string»;
Спасибо! Я учту.
Возможно это по причине того, что я привык разжёвывать всё студентам.
Возможно это по причине того, что я привык разжёвывать всё студентам.
Стоит наверное делать более узкие статьи, например отдельно про Mono и его особенности, или про IronPython, или написать про возможности LINQ, а может вообще рассказать про функциональный сахар в .Net3.5 на примере парсинга текста ;)
а еще, разве в последнем.нете необходимо обьявлять тип переменной если он очевиден?
ну Вы же для себя программу пишете. Чем плохо указать нормальный тип, а не var? var подойдет для Linq, Например, с помощью LINQ to SQL выгребли объекты, а потом в цикле foreach (var a in obj) {...}
Удобно, и не надо узнавать, что там у нас за тип.
ну Вы же для себя программу пишете. Чем плохо указать нормальный тип, а не 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#, таких, например, о которых писал Дж. Рихтер. ;)
Но, хотелось бы все-таки уточнить для кого эти статьи? и после этого держаться выверенного курса, что бы те кто «покруче», не возмущались тому, что слишком просто, а те кто только начал изучать «не испугались бы».
Но мне кажется что большинство ждало некоторых изюминок C#, таких, например, о которых писал Дж. Рихтер. ;)
Необращайте внимание. Иногда тут пробигает толпа троллей. Да и под горячую руку можно попасть :)
PS: А статьи пишите…
PS: А статьи пишите…
Кстати, из литературы еще мне нравится Трей Нэш. «C# 2008. Ускоренный курс». Книга именно о синтаксисе и фичах самого языка, очень мало воды на мой взгляд, хорошо читается.
Мне нравится=)
Сегодня не удержался и купил «C# для чайников» — у вас интереснее, имхо, но мне кажется, слишком много «воды» — элементарных основ. С другой стороны, читать будут и совсем новички, так что продолжайте, продолжайте и еще раз продолжайте)
Не забудьте упомянуть потом работы с БД (SQLite идеально подходит, ИМХО) и DataGrid — по этому не очень много дельных мануалов в гугле, AFAIK.)
В последний раз копал гугл ещё на тему эффективной работы с http — получение и разбор — тоже, на мой взгляд, будет интересно описать)
Ну и, когда до string разбора дойдете — регулярки, ага!!)
Сегодня не удержался и купил «C# для чайников» — у вас интереснее, имхо, но мне кажется, слишком много «воды» — элементарных основ. С другой стороны, читать будут и совсем новички, так что продолжайте, продолжайте и еще раз продолжайте)
Не забудьте упомянуть потом работы с БД (SQLite идеально подходит, ИМХО) и DataGrid — по этому не очень много дельных мануалов в гугле, AFAIK.)
В последний раз копал гугл ещё на тему эффективной работы с http — получение и разбор — тоже, на мой взгляд, будет интересно описать)
Ну и, когда до string разбора дойдете — регулярки, ага!!)
Опечатки кстати — не /n/t, а \n\t
коретки => каретки
что бросается в глаза)
коретки => каретки
что бросается в глаза)
Спасибо понравилось!!!
А что вы скажете о книге C# в примерах и задачах?
Посмотрите на книгу «Delphi в примерах и задачах» от тогоже автора
www.chtivo.ru/chtivo=3&bkid=487382.htm
И вам сразу все станет ясно (Подсказка: у этих книг даже кол-во страниц приблизительно одинаково:)
www.chtivo.ru/chtivo=3&bkid=487382.htm
И вам сразу все станет ясно (Подсказка: у этих книг даже кол-во страниц приблизительно одинаково:)
Эээ… а как же уже практически классическая книга Рихтера?
CLR via C#?
Единственная стоящая книга.
Всё остальное можно узнать в msdn.
Всё остальное можно узнать в msdn.
UFO just landed and posted this here
На 18 строке мы добавили Console.ReadLine() — это сделано для того, чтобы после запуска программы консоль не закрывалась.
Такие маленькие программки, чтоб не писать лишнюю строчку кода (да, я ленивый студент :), можно компилировать и вызывать по <Ctrl+F5> вместо <F6>. Тогда после выполнения программы консоль тоже не закроется, а будет ожидать действия пользователя.
в списке книг я бы еще упомянул книгу Троелсена «C# и платформа .NET. Библиотека программиста » www.piter.com/book.phtml?978531800750 и Рихтера CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. Последняя полезна для общего развития.
И как пожелание, расскажите еще про NUnit и NAnt, первый это фреймворк для тестов, а второй — система сборки проектов.
И как пожелание, расскажите еще про NUnit и NAnt, первый это фреймворк для тестов, а второй — система сборки проектов.
Проблема в том, как правильно здесь заметили, надо бы выбрать точную аудиторию. Я думал, что после первой статьи это станет ясно, но так и не знаю…
Думаю, что все-таки бОльшая часть аудитории хабра не нуждается особо в пояснениях что такое переменная или ее тип, в общем базовых для многих языков понятиях, тут можно оперировать фразами «статическая типизация», «обязательно объявление и иницализация переменных», «ветвление реализуется так-то, а наследование так-то»,. Но в тоже время мне кажется, что не стоит рассчитывать на то, что человек хоть что-то знает о C# и .Net.
Может стоит ориентироваться на c/perl/php веб-программиста, которому или понадобилось сменить платформу своих серверных приложения с *nix (если планируется рассказ об asp.net), или написать сначала консольное, а потом гуишное приложение под Windows (с ремарками про моно)? Ну или хотя бы студента уже сдавшего курсовик на Паскале :)
Может стоит ориентироваться на c/perl/php веб-программиста, которому или понадобилось сменить платформу своих серверных приложения с *nix (если планируется рассказ об asp.net), или написать сначала консольное, а потом гуишное приложение под Windows (с ремарками про моно)? Ну или хотя бы студента уже сдавшего курсовик на Паскале :)
)))) Как раз только что закончил делать лабораторки по C# в универ и решил перед сном хабр почитать. А делал я их как раз в mono под Убунтой
а как у Mono с быстродействием? часто наталкиваюсь на сообщения о его тормознутости… дескать и оперативный компилятор плохой и сборщик мусора тормоз…
Попытаюсь ответить на первый вопрос. Мне просто кажется что C#, .NET и майкрософт не совместимы с термином *nix. Коммерческие продукты они и есть коммерческие продукты, и платформу .NET никогда не портировать в *nix так, чтобы оно того стоило. А C# да, хороший язык, но примитивные вещи написанные на C# в 8 раз медленнее чем то же самое написанное на Си, так что нот гуд. Корпоративные системы будут продолжаться писаться в Си и С++. :) За статью спасибо. Ставлю плюс.
Ну так С# (читай весь .NET) не для примитивных вещей заточен. А скорее наоборот — помогает разработчику не задумываться над реализацией этих примитивных вещей и воспользоваться готовой, универсальной, оттестированной и безопасной, ну и медленной, как следствие. Здесь уже кому что важнее — быстрота разработки или же скорость работы. Хотя это можно и комбинировать — писать особо критичные к ресурсам модули по-старинке, на С++, а остальное на .NET языке. Также замечу, что в последней 2008-й студии можно создавать только .NET проекты. Этим создатели недвусмысленно намекают, что пора уже переходить на новую платформу.
Ну да, вы меня правильно поняли :) А по поводу последней 2008-й студии (VS9 насколько мне известно) ничего не понял, в каком смысле только .NET проекты? Не знаю последняя ли у меня, пару месяцев назад ставил, ну писать Си и С++ я всё ещё могу…
>что в последней 2008-й студии можно создавать только .NET проекты
Вы вообще 2008ю студию открывали? Там наоборот улучшили поддержку плюсов. Ну и кроме того можно создавать проекты инсталляции и проекты, относящиеся к БД.
>Этим создатели недвусмысленно намекают, что пора уже переходить на новую платформу.
По-моему они уже давно на это не намекают, а практически в открытую говорят об этом.
Вы вообще 2008ю студию открывали? Там наоборот улучшили поддержку плюсов. Ну и кроме того можно создавать проекты инсталляции и проекты, относящиеся к БД.
>Этим создатели недвусмысленно намекают, что пора уже переходить на новую платформу.
По-моему они уже давно на это не намекают, а практически в открытую говорят об этом.
Вполне может быть. Так как я ее нашел в феврале прошлого года, а когда там был релиз в России? И я еще удивлялся — а где MVC проекты… Но с тех пор я перешел на C# Express Edition. Плагинов не хватает, а так всем доволен.
Всё это есть и в 2005, если ставить полную установку, а не урезанную.
> ну и медленной, как следствие. Здесь уже кому что важнее — быстрота разработки или же скорость работы.
Я бы сказал ЧУТЬ ЧУТЬ медленнее :) ну а плюсы того, что код получается в разы безопаснее, за более короткое время(относительно разработки на плюсах) очень сложно окупить… особенно когда в команде много людей и все эти люди дорогие специалисты… А в вэб приложениях, если нехватает скорости, то всегда можно за небольшую сумму денег(относительно стоимости разработки)купить железо быстрее.
> Хотя это можно и комбинировать — писать особо критичные к ресурсам модули по-старинке, на С++, а остальное на .NET языке.
.Net можно очень красиво и эффективно оборачивать библы написанные не на .Net(есть сторонние кодогенераторы которые могут сделать это автоматически), а в 4й версии с появлением dynamic будет ещё проще :)
Я бы сказал ЧУТЬ ЧУТЬ медленнее :) ну а плюсы того, что код получается в разы безопаснее, за более короткое время(относительно разработки на плюсах) очень сложно окупить… особенно когда в команде много людей и все эти люди дорогие специалисты… А в вэб приложениях, если нехватает скорости, то всегда можно за небольшую сумму денег(относительно стоимости разработки)купить железо быстрее.
> Хотя это можно и комбинировать — писать особо критичные к ресурсам модули по-старинке, на С++, а остальное на .NET языке.
.Net можно очень красиво и эффективно оборачивать библы написанные не на .Net(есть сторонние кодогенераторы которые могут сделать это автоматически), а в 4й версии с появлением dynamic будет ещё проще :)
«размерные и ссылочные.» — может правильным будет «значимые и ссылочные»?
На счет воды.
А давайте люди прошаренные будут очень быстро прочитывать эту «воду» и заострять внимание на интересном им материале, и больше не предлагать нерациональных вещей? Зачем исключать часть аудитории, ради удобства остальной ?(в нашем случае, я думаю, это не оправданно)
А давайте люди прошаренные будут очень быстро прочитывать эту «воду» и заострять внимание на интересном им материале, и больше не предлагать нерациональных вещей? Зачем исключать часть аудитории, ради удобства остальной ?(в нашем случае, я думаю, это не оправданно)
На начальном этапе для меня настоящим откровением стало то, что вместо "\n" пришлось использовать Environment.NewLine :)
а я С# изучаю по Герберту Шилдту. Все доходчиво, подробно и понятно написано)
C# 2.0. Полное руководство
C# 2.0. Полное руководство
У вас ошибка в коде:
short х;
int у — 5; // здесь вместо - должно быть =
х = у; //не скомпилируете
short х;
int у — 5; // здесь вместо - должно быть =
х = у; //не скомпилируете
IronRuby там в глубокой ж… aльфе находитцо, IronPython в бетте — нах такой друзей.
Единственно что может предствлять интерес как наиболее завершенная — это Nemerele, JavaScript.
для Object Pascal я чота вот не увидел бесплатных компиляторов. А так есть zonnon, который почемуто не упоминается на странице поддерживаемых езыков.
Единственно что может предствлять интерес как наиболее завершенная — это Nemerele, JavaScript.
для Object Pascal я чота вот не увидел бесплатных компиляторов. А так есть zonnon, который почемуто не упоминается на странице поддерживаемых езыков.
Было бы интересно почитать про ограничения Mono по сравнению с родным .NET Framework'ом.
Если будете писать про методы, боксинг помяните?
Большое спасибо автору, так как в програмировании нуб, а елементарные основы как раз кстати:)
Sign up to leave a comment.
Учимся C#. Ведро второе.