singlepost

Перспективен ли C# и .NET ? << На главную или назад  

Ребята, подскажите перспективен ли язык C# и вообще платформа .NET ?
Стоит ли его учить, стоит ли на нём писать проги?

…просто замечаю, что С++ уже как-то отмирает…

133 ответов в теме “Перспективен ли C# и .NET ?”

  1. 119
    Сергей Медведев ответил:

    Нет никакого кода. Есть программа, о которой известно, что она написана на QT. А со скинами, возможно, Вы не пробовали

  2. 118
    Андрей Горбоконь ответил:

    Э.. а можно код?
    Я писал несколько MDI приложений на Qt, никогда не видел таких "приколов"

  3. 117
    Сергей Медведев ответил:

    От дочерних MDI-окон остается только тонкая полоска. Лечится отключением визуального оформления Мастером совместимости программ.

  4. 116
    Андрей Горбоконь ответил:

    Сергей,
    И в чем это проявляется?

  5. 115
    Сергей Медведев ответил:

    Кстати, QT, как оказалось, не дружит с WinXP'шными скинами

  6. 114
    Crypto Antropos ответил:

    Как любитель С++ и Java начал учить C#.NET для веб кодинга. C# Мне понравился, честно говоря, больше чем php )

    "Я с тобой не соглашусь что MFC – шлак!!!"
    Можт и не шлак, но точно не для тех у кого мало свободного времени и нервов. Лично мне на API проще писать. Однажды попробовал на MFC программу разобрать… Ага, это мне мозг разрушило…

  7. 113
    Дмитрий Кальянов ответил:

    Людмила Уланова == true

  8. 112
    Людмила Уланова ответил:

    Я считаю, что .NET вполне зарекомендовавшая себя технология. На данный момент технологии .NET и Java – основные для разработки корпоративных приложений. Какая из них перспективнее и лучше – обсуждать бесполезно (ИМХО), это холиВар. Уровень зарплат что у .NET разработчиков, что у Java разработчиков примерно одинаков и зависит, в первую очередь, от уровня самого программиста.

  9. 111
    Сергей Медведев ответил:

    >>я пишу для окон только на чистом апи

    Зачем? Для того чтобы так понтиться тут? Понты – признак скрываемых комплексов. С философской точки зрения, существуют темы, которые продуцируют у людей с фантазмами массу плохого бесполезного текста. Преимущества низкоуровнего программирования – одна из них. И так понятно, что низкоуровневые программы дольше пишутся, но быстрее работают. Вопрос лишь в том, что важнее для конкретной задачи.

  10. 110
    Николай Митропольский ответил:

    Кстати, насколько я знаю, для фанатов существуетвозможность использовать Qt в дотнет приложениях )))

  11. 109
    Николай Митропольский ответил:

    > >>В Линуксах активно используется например bash, будем спорить о том что производителней bash или C# ? ))
    =))) давно так не смеялся, bash – не язык программирования

    Почему bash не язык программирования?

    > mono НЕ .нет, а частично реализованное ее воплощение, это все знают так же как и то что wine – не эмулятор windows

    Ну частично, ну и что?

    > к тому же много ли вы встречали программ для линукс написанных с использованием mono?

    Не много, но были //en.wikipedia.org/wiki/Mono_(software)#Software_developed_with_Mono

    >по функциональности и возможностям реализации gui тот же qt намного превосходит .нет

    эм… обоснуйте. Ну кроме переносимости, разумеется.

  12. 108
    Cyber Max ответил:

    Я на qt не писал.. сравнивать не будет.. я только лишь говорю что кто умеет писать, тот и на MFC без каких либо затруднений напишет.. а что касается чистого API – то я также его использую…

  13. 107
    Андрей Набока ответил:

    Вы писали на qt? если да, то вряд ли может быть другое мнения об мфц, после qt, я пишу для окон только на чистом апи

  14. 106
    Cyber Max ответил:

    Я с тобой не соглашусь что MFC – шлак!!!
    Обычно знаешь что про танцоров говорят?

    "брэндмауэр" может и написан на Framework – то только отображаловка… логика всеравно в kernel-mode реализована…

  15. 105
    Андрей Набока ответил:

    >>Так же в линуксах используются разные питоны и тот же mono, которые отнюдь не быстрее дотнета)

    где они используются? не надо путать с предоставляемыми ос возможностями и использованием технологий, линукс написана не на питоне и не на моно, почти все, за редким исключением, ПО, поставляемое во всех дистрибутивах линукса написано на c/с++ & GTK+/qt, зато то что у мелкомягких гордо называется "брэндмауэр" написано на .нет, может кто то считает что писать защитное ПО, с которым по умолчанию будут работать большинство пользователей windows это верное технологическое решение?

    Главная проблема мс в том, что создав мфц они не сразу поняли что написали шлак а не нормальную библиотеку для визуализации с++, оставшись позади того же qt и gtk+, и поняв что догнать их уже не получиться, они отказались от развития мфц и создания в приницпе средств визуализации для с++, решили создать .нет, только на данный момент оказывается что и по функциональности и возможностям реализации gui тот же qt намного превосходит .нет

  16. 104
    Андрей Набока ответил:

    >>.. то что виста прожорливая и кушает много ресурсов – это другая беда…
    какая же интересно

    >>В Линуксах активно используется например bash, будем спорить о том что производителней bash или C# ? ))
    =))) давно так не смеялся, bash – не язык программирования

    >>Mono (software)
    mono НЕ .нет, а частично реализованное ее воплощение, это все знают так же как и то что wine – не эмулятор windows
    к тому же много ли вы встречали программ для линукс написанных с использованием mono?

  17. 103
    Сергей Медведев ответил:

    ok

  18. 102
    Николай Митропольский ответил:

    На самом деле, как показывает практика, обеспечить переносимость C++, с использолванием, например, Qt, гораздо проще чем переносимость .NET на тот-же mono.

  19. 101
    Сергей Медведев ответил:

    Ну ладно, не работал я с Mono, и повторяю официальную инфу без личного опыта.

  20. 100
    Николай Митропольский ответил:

    Андрей Набока.
    В Линуксах активно используется например bash, будем спорить о том что производителней bash или C# ? ))

    Так же в линуксах используются разные питоны и тот же mono, которые отнюдь не быстрее дотнета)

    > Никто не утверждает, что на C# хорошо писать драйвера и операционные системы.

    Singularity ))

  21. 99
    Николай Митропольский ответил:

    > Более того, технология .NET как раз обеспечивает кросс-платформенность. А на C++ под каждую ос программу надо переписывать.

    Ой, вот это вы зря сказали)

  22. 98
    Cyber Max ответил:

    > интересно знать чего же такого я не понимаю что понимаете Вы?
    > Вы хотите сказать что виста эталон производительности, и линукс в
    > сравнении с ней просто тормоз?

    Вы списываете тормаза Windows системы на то, что она якобы использует Framework? Ну тогда от себя скажу.. ядро в Windows написано очень грамотно и на чистом "С" – только кое где асм (о основном в HAL) и все.. то что виста прожорливая и кушает много ресурсов – это другая беда…
    Например в Линукс-е много других косяков, которые ни как не делают его лучше Windows. Если инетерсно могу аргументировать с точки зрения программиста!!!

  23. 97
    Сергей Медведев ответил:

    Более того, технология .NET как раз обеспечивает кросс-платформенность. А на C++ под каждую ос программу надо переписывать.

  24. 96
    Евгений Гаврин ответил:

    > .нет кроме как в мс больше нигде ?
    Mono (software)

  25. 95
    Андрей Набока ответил:

    интересно знать чего же такого я не понимаю что понимаете Вы?
    Вы хотите сказать что виста эталон производительности, и линукс в сравнении с ней просто тормоз? Или может быть что при написании висты не использовалась технология .нет? Или возможно Вы желаете оспорить то что с/с++ используется в любой ос, а .нет кроме как в мс больше нигде ?

  26. 94
    Сергей Медведев ответил:

    Андрей Набока, ну уже сказали же. Хватит разводить тут рессентименты. Все эти эмоциональные выпады против технологий Microsoft – это дилетантские разговоры. Собака лает, ветер носит. Если вы в состоянии быстро написать на C++ сложный сервис без memory leak'ов, то я только рад за вас.

    Никто не утверждает, что на C# хорошо писать драйвера и операционные системы. Этот язык, прежде всего, предназначен для разработки бизнес-приложений. От этого и надо плясать, оценивая его перспективность и эффективность.

  27. 93
    Евгений Гаврин ответил:

    К сожалению, господин Набока, склонен к той же хуйне, что и многие программисты – ругать майкрософт и все, что с ним связано, совершенно непонимая, что происходит

  28. 92
    Андрей Набока ответил:

    вот бля смотришь на висту – сразу понятно – программисты привыкли "облегчать" себе задачи пишут на недоязыке с#, другое дело линукс – с,с++,асм и какой выигрышь в производительности, у меня на ноуте стоит виста и линух, 2гб оперативной памяти, виста жрет ~1гб (только сама ось!), линукс, как бы я его не грузил (ось, иде, музыка, браузер, различныепараллельные вычисления моих программ) больше 500мб не разу не занимала, и это со всеми графическими наворотами, вот самый яркий пример "гениального" творения "крупного проекта" мелгкомягких, это к вопросу о том что шарп предназначен для больших проектов. Не бывает больших проектов без больших вычислений, и если даже такое случиться что майкрософт разорится, и не будет больше этой "технологии" .нет, то с/с++ попрежнему будет востребованым языком, т.к. это тот язык на котором пишутся программы практически для любой платформы, любой ос

  29. 91
    Иван Горбачев ответил:

    2 Андрей Набока
    +1

  30. 90
    Леонид Максимов ответил:

    ну вот, как всегда. придет поручик и все опошлит.

  31. 89
    Dmitriy Azarov ответил:

    –ммм…. не подскажите какое лу4чше ониме посмотреть сёня?)
    хентай..

  32. 88
    Леонид Максимов ответил:

    мммм… planetes?

  33. 87
    In Darkness ответил:

    ммм…. не подскажите какое лу4чше ониме посмотреть сёня?)

  34. 86
    Dmitriy Azarov ответил:

    мм.. пахнет жаренным))

  35. 85
    Сергей Медведев ответил:

    >>Я считаю, что каким востребованным языком C# не был бы – переходить на него после С++/Qt – это шаг назад в своем развитии.
    >>Вообще лучше углублять свои знания в понимании работы операционной системы.. а не в изучении новых средств дерганья за ниточки этой же системы…

    Вот откуда все пошло. Раз наезд, два наезд, и дошло до драки.

  36. 84
    Alexey Suvorov ответил:

    Вроде взрослые люди, а глупое мерянье письками уже на 4 страницы. И никто кроме #13 #6 #2 и 2-х последних господ даже не удосужился вникнуть в проблему.
    Александр, я предполагаю, что такого родавопросы стали возникать после того, как вы обожглись с Borland c++ builder, теперь хотите выбрать технологию, в которую не рискованно вкладывать время. Перво наперво нужно решить где вы хотите работать. Остаться фрилансером, или пойти работать на дядю. Если первое (фриланс), то не поленитесь сделать обзор рынков фриланса и сделать вывод не на основе воинствующих драйверописателей и говонооптимизаторов использвания памяти. Скорее всего это будет PHP, потому что заказов не мало, но и конкуренция большая. К сожалению рассказать про него не могу, сам всегда работал на дядю. Второй вариант – для него нужно оперделиться что вы хотите писать, а главное где, есть ли возможность устроиться в вашем городе или надо ехать в столицу, с работой прямо сейчас не так просто как пол года назад, особенно если вы были только фрилансером. Проанализировав предложение вы сами поймёте куда двигаться, но почему то мне кажется, что вас не заинтересует работа в офисе.
    Учите программирование как науку. По моему сугубо личному мнению ни одна технология не так важна, как технология разработки программного обеспечения.
    Удачи.

  37. 83
    Влад Лисовский ответил:

    Дмитрий MRALD Кальянов, #86, истину говоришь.

  38. 82
    Дмитрий Кальянов ответил:

    Если бы не .Net, пришлось бы писать биллинг на Java и JSP. Вот и всё. Перспективно? А хрен его знает. Главное, чтобы деньги за работу платили

  39. 81
    Леонид Максимов ответил:

    в какой? о_О

  40. 80
    Dmitriy Azarov ответил:

    возьмите меня в кружок программирования пожалуйста… :)

  41. 79
    Сергей Медведев ответил:

    2Cyber Max
    .NET сделан так, чтобы обеспечить максимальную совместимость. Если программа написана под .NET 2.0, ее можно запустить под .NET 1, и она будет работать до тех пор, пока она не использует специфических возможностей .NET 2.0. Обратная совместимость – вообще не вопрос, но на этот случай Сюзанна Кук рекомендует все-таки программы тестировать под разные платформы.
    Что касается потребления памяти, то CLR при запуске сразу запрашивает непрерывную часть адресного пространства, которой потом управляет. В рамках этого адресного пространства выделение памяти уже не производится через вызов системной функции, поэтому создание новых объектов происходит намного быстрее, чем при классическом программировании. А сборщик мусора позволяет гарантировать, что вся запрошенная память будет освобождена.
    Так что .NET, с одной стороны, требовательна к ресурсам, но с другой стороны, позволяет использовать их более эффективно.

  42. 78
    Женя Глебов ответил:

    >на XP кажись изначально вообще нет .NET Framework
    Смотря на каком сервис паке)

  43. 77
    Иван Горбачев ответил:

    на XP кажись изначально вообще нет .NET Framework

  44. 76
    Иван Горбачев ответил:

    >>ну и вопрос на засыпку: как у джавы с памятью (с >>потреблением)?

    К сожалению шарп не меньше потребляет.

  45. 75
    Cyber Max ответил:

    и более всего раздражает то что один нужен .NET Framework 1.0 другим .NET Framework 2.0, третьим .NET Framework 3.0

    Может .NET Framework и упращает жизнь "ЛЕНИВЫМ" программистам – но страдают от этого обычные ПОЛЬЗОВАТЕЛИ!

  46. 74
    Женя Глебов ответил:

    ща уже почти на каждой винде .NET Framework есть, на ХР кажись 2.0,
    на висте 3, на семерке 4 будет скорее всего)

  47. 73
    Сергей Медведев ответил:

    C# поддерживает указатели, если это так необходимо. Есть две вещи, которые действительно есть в C++ и нет в C#.
    1. Ассемблерные вставки
    2. Множественное наследование для классов.

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

    Кроме того, любая программа на C# для своей работы требует .NET Framework. Тут уж ничего не сделаешь, если не хочешь ставить, не ставь.

  48. 72
    Сергей Медведев ответил:

    Да запросто. При передаче аргументов по ссылке с использованием ref или out можно использовать не только ValueType, но и ReferenceType – в этом случае изменяются значения ссылок переданных переменных.

  49. 71
    Николай Митропольский ответил:

    Блин, это уже будет "ссылка на ссылку" по сути в случае с ReferenceType )
    А в случае с ValueType – да.

    Это кстати один из жосских психоделизмов C# )

  50. 70
    Сергей Медведев ответил:

    Упс… Леонид меня опередил

  51. 69
    Николай Митропольский ответил:

    > кто мешает менять значение переменной, переданной по ссылке?
    В C++ никто не мешает.

    > "в то место, куда указывает указатель p, переданный в качестве параметра, записать 5"

    Да, я про это и говорю, а на C# вы это так не сделате.

  52. 68
    Леонид Максимов ответил:

    кто мешает менять значение переменной, переданной по ссылке?

    сравните (давно не трогал С++, так что не пинайте, если амперсанд не туда поставил):

    int foo(const int & a);
    int bar(int & a);

  53. 67
    Сергей Медведев ответил:

    >>
    int MyFunc(int * p)
    {
    *p = 5;
    }<<

    Хотите – режьте, но этот код делает следующее: "в то место, куда указывает указатель p, переданный в качестве параметра, записать 5". Для того чтобы изменить значение указателя, переданного как параметр функции, нужно сделать так:
    int MyFunc(int &* p)
    {
    *p = 5;
    }

    Точно не помню, что должно идти раньше, звездочка или амперсанд.

  54. 66
    Николай Митропольский ответил:

    Например?

  55. 65
    Леонид Максимов ответил:

    никто ничего не напутал?

  56. 64
    Николай Митропольский ответил:

    Ну и это тоже, но в си вам не обязательно создавать указатель на указатель, на самом деле, ибо:

    int MyFunc(int * p)
    {
    *p = 5;
    }

    тож будет работать. А в шарпе вам дейсвительно придется создавать "ссылку на ссылку".

  57. 63
    Сергей Медведев ответил:

    >>Я не это имею ввиду, я имею ввиду что в C# вы, например, не можете присовоть переданной ссылке новый объект, то есть присвоить можете, но исходный объект при этом не изменится.

    С++
    int MyFunc(int * p)
    {
    p = newpointer;
    }

    После выхода из функции значение указателя, переданного в функцию, не изменится. Так что все так же. Если надо изменить, пишем так:
    int MyFunc(int ** p)
    {
    p *= newpointer;
    }

    На C# такой фокус без unsafe делается через ref

    >>В С# для этого есть value-types )))
    Которые нормальные программисты не делают большими.

  58. 62
    Николай Митропольский ответил:

    > Не спорю, CLR по-другому работает с памятью.

    Я не это имею ввиду, я имею ввиду что в C# вы, например, не можете присовоть переданной ссылке новый объект, то есть присвоить можете, но исходный объект при этом не изменится.

    > Но с копированием огромного класса при передаче параметра функции оратор отжег.

    Ему уже 2 раза об этом написали)

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

    В С# для этого есть value-types )))

  59. 61
    Dmitriy Azarov ответил:

    ух, горячо тут))
    WPF, LINQ, WCF, .NET 3.5 C# все мое)))

  60. 60
    Сергей Медведев ответил:

    >>Кстати, это не правда. Поведение шарповских референс-тайп отличаается от указателей и ссылок C++ не только этим.
    Не спорю, CLR по-другому работает с памятью. Но с копированием огромного класса при передаче параметра функции оратор отжег. Это как раз в C++ можно сделать так, если хочется повесить систему.

  61. 59
    Cyber Max ответил:

    драйвера – не бяка :) и пушутся они в основном на "С" :)

  62. 58
    Влад Лисовский ответил:

    о да, обожаю читать, как люди спорят о моих любимых языках/технологиях.

    У меня мысль такая, что C# и C++ – языки для разных задач, то есть для шарпа больше подходит виндавс программирование (типа WinForm), так как он заточен под него, т.е высокоуровневое программирование.

    А С++ это для более низких вещей (драйверы, компиляторы и всякая такая бяка).

  63. 57
    Николай Митропольский ответил:

    > Ссылка – это тот же указатель, только к нему нельзя применить арифметическую операцию.

    Кстати, это не правда. Поведение шарповских референс-тайп отличаается от указателей и ссылок C++ не только этим.

    > Никита, джава-код понятен далеко не любому джава-программеру (есть свои мфц и т.п., только меньшего масштаба).

    Да можно на чем угодно написать непонятный код, но жава предоставляет для этого гораздо меньше средств чем тот же C++ )

    > ну и вопрос на засыпку: как у джавы с памятью (с потреблением)?

    Хорошо с потреблением – потребляет)

  64. 56
    Леонид Максимов ответил:

    >>И еще – чем больше за вас делает сама система программирования, тем больше вы будете платить…
    >.NET Framework – бесплатная. Visual C# Express – бесплатная. Еще вопросы?

    жесть… оплата производится не валютой, а ресурсами.

  65. 55
    Леонид Максимов ответил:

    Никита, джава-код понятен далеко не любому джава-программеру (есть свои мфц и т.п., только меньшего масштаба).

    ну и вопрос на засыпку: как у джавы с памятью (с потреблением)?

  66. 54
    Никита Сараев ответил:

    я начинал с Си.
    во-первых что пишут про Джаву, да, с памятью там не поработаешь, зато это существенно повышает безопасность выполняемых программ, что для заказчика большой плюс. Для сбора мусора естьGC. Программы на Джаве – функциональность можно ограничить при помощи политик, что тоже позитивно сказывается для имидже.
    Рекурсия на Джаве реализуеться легко, в свое время писал Аплетт "Дракошку".
    Джава – гильотина для программиста?
    У Джавы _один_ стандарт, Sun (мелкософт – дань моде и шанс хапнуть бабла), Джава код понятен лубому Джава программеру.
    Это не Си, где кто под АПи, кто МФЦ, кто ВЦЛ, кто КТ3.
    Наконец парктически полная кроссплатформенность (за очень малым исключением).

  67. 53
    Сергей Медведев ответил:

    Алексей [°] Alex_Hell [°] Поляков, какой-то странный C# ты знаешь.

    >>указатель – СИЛА, с его помощью можно не растрачивать попусту память для копирования огромных экземпляров классов при передачи из функции в функцию

    Про ReferenceType слыхал? Никакого копирования экземпляров классов не происходит, все передается по ссылке. Ссылка – это тот же указатель, только к нему нельзя применить арифметическую операцию.

    >>И еще – чем больше за вас делает сама система программирования, тем больше вы будете платить…

    .NET Framework – бесплатная. Visual C# Express – бесплатная. Еще вопросы?

    >>например функция возвращает float, а я хочу запихать в double, или int -> long…

    Эти преобразования происходят автоматически. Обратно – явно, но тоже можно.

    Когда я пишу на C#, я представляю, во что это скомпилируется, и понимаю, где это можно оптимизировать. Использование языка высокого уровня не отменяет знания матчасти.

    Что касается статьи про Java… Ну не знаю, мы начинали с C++.

  68. 52
    Леонид Максимов ответил:

    что поделаешь. не все осваивают.

  69. 51
    Сергей Старовой ответил:

    вот вам к вопросу о указателях
    //local.joelonsoftware.com/wiki/%D0%9E%D0%BF%D0...

    грустно.

  70. 50
    Борис Глебов ответил:

    Николай Митропольский

    "Так что вопрос о том, какая платформа актуальнее, удобнее и перспективнее – достаточно важен."

    Так что, Вы гослосуете за продолжение холивара ^__^

  71. 49
    Николай Митропольский ответил:

    Конечно) Сегоняж пятниццо))

  72. 48
    Николай Митропольский ответил:

    > ета тема стара и уже высасана из пальца)))
    ФактЪ! ))

    Но вообще…

    > всё что вы здесь обсуждали выбирается изходя из задач проекта
    Язык и платформаиз задач проекта? Но, простите, проект же будет кто-то реализовывать, значит кто-то должен знать язык и платформу.

    Хотелось бы именно тем, кто знает этот язык и платформу, чтоб быть востребованным на рынке)

    Так что вопрос о том, какая платформа актуальнее, удобнее и перспективнее – достаточно важен.

  73. 47
    In Darkness ответил:

    Вы бля рябата посматрюваще пиздец)))хД
    Имеет принципиальное значение целевая платформа? технология?
    по своему опыту скажу нет)))
    Разберайте алгоритмы хоть на бейсике их хуячте)
    учите математику и дискретную тоже)
    а то что перспективные или нет))) всегда есть алтернатива) всё что вы здесь обсуждали выбирается изходя из задач проекта, и в ретких случаях проект подбирается по технологии)))
    Так что не обсудьте, ета тема стара и уже высасана из пальца)))

  74. 46
    Максим Барабанов ответил:

    а от строгой типизации по моему больше плюсов чем минусов…
    хотя мне конечно заманчивы конструкции php, когда имя класса создаваемого объекта формируется прямо в ходе выполнения кода ))

  75. 45
    Женя Глебов ответил:

    В C# тоже есть передача по ссылке:ref

  76. 44
    Сергей Фирсов ответил:

    Панеслась

  77. 43
    Женя Глебов ответил:

    "чем больше за вас делает сама система программирования, тем больше вы будете платить…" – хм, люди намного умнее нас писали код в .NET, так что не стоит изобретать колесо)

  78. 42
    Николай Митропольский ответил:

    Алексей [°] Alex_Hell [°] Поляков, насчет простеньких задач я с вами не соглашусь. С# как раз в большей степени предназначен для создания больших систем чем си++, по причине большей скорости разработки, простоты отладки и рефакторинга. Хотя, конечно, за производительность программиста приходится платить производтительностью работы программы – но, очень часто, оно того стоит.

    > Про указатель говорили… указатель – СИЛА
    Мы это шутили) В C# а еще в большей степени в Java параметры передаются по ссылке и, конечно, никто ничего без надобности не копирует)

    > Лично не нравится C# из-за его навязчивых проверок точного совпадения типов

    Мне много что не нравится в C#, но тут вынужден с вами не согласиться, в строгом контроле типов данных – вся соль: это обеспечивает надежность работы системы и опять же простоту рефакторинга. Впрочем в последних версиях C# можно объявлять нетипизированные переменные, что может облегчить вам жизнь)

    А вообще, если вы лучше знаете что откуда берется, и не хотите чтоб кто-то вас проверял то это уже в сторону динамических языков)

  79. 41
    Тимур Багаутдинов ответил:

    как поговаривали великие люди: быстрота нужна при ловле блох…
    Мне нужна была быстрота, делал как-то трассировку лучей на ГПУ… иии, C# с OpenGL хватило еще как…

    Да, указатель – СИЛА.. но ведь есть и третий закон Ньютона… кто не верит, может башкой в стену стукнуцо

  80. 40
    Максим Барабанов ответил:

    1)C# код оптимизируется средой выполнения
    2)в c# есть волшебная очистка мусора
    3) чем больше делает среда тем больше платишь?.. мм… NetBeans видел?

  81. 39
    Алексей Поляков ответил:

    как говорилось раньше C# можно использовать для разных простеньких задач, когда ни скорости ни места на посторонние либы и framework не жалко, многим хватит и его, но не всем. То, для чего действительно нужно быстродействие, нужно писать на C++

    Про указатель говорили… указатель – СИЛА, с его помощью можно не растрачивать попусту память для копирования огромных экземпляров классов при передачи из функции в функцию, а просто указать где находится то,что нужно.

    И еще – чем больше за вас делает сама система программирования, тем больше вы будете платить…

    Лично не нравится C# из-за его навязчивых проверок точного совпадения типов, например функция возвращает float, а я хочу запихать в double, или int -> long… короче бред, если я сам знаю, что туда уберется, я хочу чтобы никто меня не проверял

  82. 38
    Женя Глебов ответил:

    …тем самым не загромождая код)

  83. 37
    Максим Барабанов ответил:

    в C# они спрятаны и завёрнуты в красивую обёртку

  84. 36
    Женя Глебов ответил:

    Но они так обильно не используются

  85. 35
    Николай Митропольский ответил:

    в С# тожеесть указатели )))

  86. 34
    Антон Голубев ответил:

    В указателях вся сила друзья:)

  87. 33
    Николай Митропольский ответил:

    Digital Mars D, во!

  88. 32
    Никита Сараев ответил:

    Sun Java -.'

  89. 31
    Артур Терменжи ответил:

    подписка на коменты

  90. 30
    Женя Глебов ответил:

    Нет, ну на самом деле, я раньше тоже думал:"А нахер он нужен этот дотнет и сишарп?" А сейчас сравнивая исходники С++ и C# ужасаюсь, какой С++ некрасивый, запутаться можно…
    А чего стоят указатели))))

  91. 29
    Николай Митропольский ответил:

    > Я принципиально не хочу ставить на машину .Net
    Ну у каждого свои заморочки)
    Кто-то, наверное, принципиально не покупает программ в зеленой упаковке)
    Но разработчкики-то в этом не виноваты)

  92. 28
    Николай Митропольский ответил:

    Антон 2PIZZA Голубев,
    Нет ну понятное дело, что кто-то должен знать асм чтоб писать драйверы к устройствам)
    Я не очень силен в геймдеве, но как я понимаю ничто не мешает мне написать графический движок на С++, а логику игры на C#)
    Хотя вроде как написать граф движок на C# тож можно, всеж DirectX и OpenGL берут на себя много высокопроизводительной работы.

    "пользовательское" программированиие – наше фсе)

    "а без установки .Net инсталятор драйвера говорит извините… очень впечатляющая зависимость!!!"
    Ну да, это дейсвительно косяк всех виртуальных машин. Но в линуксах Java и Mono уже часто поставлячются в комплекте. В Висте .NET уже вроде бы влючен в дистрибутив. В Windows 7 ходят слухи что дотнет будет частью оси (может даже большей), так что это решаемая проблема, к томуж вроде не особо критичная.

  93. 27
    Cyber Max ответил:

    А причем тут косяк машин? Я принципиально не хочу ставить на машину .Net!!! и что должен без драйвера сидеть? Нафига такая видео карточка мне тогда?
    Я вообще взаимосвязи не вижу между работой драйвера и необходимостью .Net кроме как той, что не возможно будет запускать конфигурационную утилиту.. Ну и фиг с ней… главное чтобы карточка и драйвер взаимодействовали… так нет же насильно заставляют устанавливать…

  94. 26
    Антон Голубев ответил:

    Просто если ты программируешь высокотребовательные программы (например игры) то скорость тут решает всеи в некоторых случаях вынуждает тебя опускаться до самых низов(ассемблер) а чем больше ты абстрагируешься от низов тем больше универсальность(одна команда и все работает) тем больше всякого мусора у тебя в итоговом бинарнике получается:))) С Sharp это еще несколько шагов в сторону "пользовательского" программирования.

  95. 25
    Cyber Max ответил:

    to
    #25
    Николай Митропольский:

    Да ты прав… очень приятно наблюдать как все движется к лучшему!
    Когда при установке драйверов к видеокарте требуется установить .Net – потому что конфигурационную утилиту писал программер на .Net который понятия не имеет как созадать окно с помощью CreateWindow…
    а без установки .Net инсталятор драйвера говорит извините… очень впечатляющая зависимость!!!

  96. 24
    Николай Митропольский ответил:

    Я "не знаю как правильно создать обычное окно с помощью функции CreateWindow, а что такое GetMessage/TranslateMessage…" и нисколько об этом не жалею) Ну представляю глубоко теоретически, но в жизни ни разу не приходилось)

    Я также не считаю, что любой программист должен знать асм, устройство процессора, винчестера, распайку USB) Зачем мне все это, когда у меня есть удобные интерфейсы? Основной принцип ООП – инкапсуляция – юзай ниточки и не напрягай свой мозг тем что внутри) И за это ему большое спасибо)

    Нет, наверное хорошо знать что есть винапи, что у процесора есть регистры, когда был создан первый компьютер, но имхо для написания тех же энтерпрайс систем это вам мало поможет)

  97. 23
    Cyber Max ответил:

    > Весьма спорно. Мне например не хочется идти вниз, мне хочется иметь
    > удобный интерфейс работы с ОС и идти вверх к универсальным
    > решениям, к высокоуровневому программированию итд, зачем мне
    > разбираться в ОС?

    Разбираться в понимании работы ОС не то чтобы нужно, а жизненно необходимо для программиста! Иначе грош – цена…
    Переход к более высокоуровневому – и что это даст… новые обверточки над Win32API ?

    Уже дожились до такого что новоиспеченные программеры (выпушенные из ВУЗов) даже не знаю как правильно создать обычное окно с помощью функции CreateWindow, а что такое GetMessage/TranslateMessage цикл вообще не слышали, или бъют себя в грудь, что стартовой точкой входа в любую программу является WinMain.

    Вот Вам и обверточки! Я не говорю что этим нужно пользоваться – ну хотя бы знать как оно работает в первоисточнике!

  98. 22
    Николай Митропольский ответил:

    > Это никому не известно. COM/DCOM/COM+ тоже вроде никуда исчезать не собирались.

    Ну вобщемто согласен, на 100% никто гарантировать не может, дотнет не набрал на данный момент такой большой кодовой базы и готовых решений чтоб можно было не беспокоиться за его судьбу. Но тот же COM никуда не исчез в принципе) просто появилось множество удобных надстроек)

    >Я не понимаю логики человека, который освоил С++ и не хочет двигаться вперед, ведь есть и другие языки, которые менее востребованные, но более высокооплачиваемые…

    Ну чем тот же сишарп не вперед?)

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

    Весьма спорно. Мне например не хочется идти вниз, мне хочется иметь удобный интерфейс работы с ОС и идти вверх к универсальным решениям, к высокоуровневому программированию итд, зачем мне разбираться в ОС? это все зависит от задач.

    >С# проще чем С++
    в нем есть свои сложности, это субъективно, тут можно спорить)

  99. 21
    Сергей Фирсов ответил:

    Может кто-нибудь объяснит. В чем отличие С++, С++ native, C++ manedge и С#. В нете читал инфу, но хотелось бы поподробней и попроще.

  100. 20
    Антон Голубев ответил:

    С# проще чем С++ за счет лучшего контроля(проще со стороны программиста чтоб не допускать логических ошибок)но само собой и медленней

  101. 19
    Cyber Max ответил:

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

  102. 18
    Андрей Горбоконь ответил:

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

  103. 17
    Александр Васюченко ответил:

    > Фигасе у вас опыт, вас с руками оторвут, если вы освоите C#

    т.е. стоит учить C# ?
    Он так востребован?

  104. 16
    Андрей Петров ответил:

    Фигасе у вас опыт, вас с руками оторвут, если вы освоите C#

  105. 15
    Андрей Горбоконь ответил:

    Только синтаксис и похож. C# и Java в корне отличаются от С++

  106. 14
    Александр Васюченко ответил:

    Радует, что С# похож на С++ и Java (синтаксис похож). Так что, думаю, мне будет не трудно перейти на C#.

  107. 13
    Артём Шалхаков ответил:

    > дотНет существует уже восемь лет и никуда исчезать не собирается.

    Это никому не известно. COM/DCOM/COM+ тоже вроде никуда исчезать не собирались.

  108. 12
    Николай Митропольский ответил:

    Для прикладного программирования под винду вполне перспективен. Ибо майкрософт серьезно вложилась в эту платформу и активно ее продвигает. дотНет существует уже восемь лет и никуда исчезать не собирается.
    Но вообще все зависит от того чем собираетесь заниматься.

    Олег taroff Тарасов, а можете привести пример игры (с 3Д графикой) написанной под дотнет? просто реально интересно.

  109. 11
    Евгений Гаврин ответил:

    Александр, посмотрел проги которые вы написали. Круто.

    Шарп не так сложен в освоении. Так что для расширения кругозора можно и поглядеть)

    Присмотритесь к Mono – свободная реализация дот нета.

  110. 10
    Иван Горбачев ответил:

    Джава не менее востребована ;)

  111. 9
    Иван Горбачев ответил:

    >>Учи шарп… по крайней мере у нас втюмени самый >>требовательный язык…

    А что он у Вас в Тюмени требует? o_O

  112. 8
    Андрей Щипцов ответил:

    >>Учи шарп… по крайней мере у нас втюмени самый >>требовательный язык…

    >>А что он у Вас в Тюмени требует? o_O

    Прошу прощения, востребованный)))

  113. 7
    Андрей Щипцов ответил:

    Учи шарп… по крайней мере у насвтюмени самый требовательный язык…

  114. 6
    Иван Горбачев ответил:

    Говоря об С# нельзя не вспомнить про Java. :)

  115. 5
    Пользователь Удален ответил:

    Посмотрите предложения о работе в вашем регионе, в стране, в мире. Обратите внимание на уровень зарплат. И сами ответите на свой вопрос, перспективен ли язык X

  116. 4
    Андрей Горбоконь ответил:

    C# жестко ориентирован на enterprise,
    лучше всего показывает себя как удобный инструмент для облегчения работы рядовому программисту, в основном используется для разработки прикладных и веб трехуровневых решений..
    Существует также библиотека XNA (обертка DirectX), которая была заявлена как простой и мощный инструмент для разработки игр под Windows и Xbox
    Тема уже миллион раз обсуждалась в интернетах, зачем еще раз?

  117. 3
    Олег Тарасов ответил:

    Да на нем пишут программы) например ati ccc на нем написан , игры на нем пишут

  118. 2
    Олег Тарасов ответил:

    Считаю , что если собираешься на нем что-то писать/работать то стоит учить.. а так зачем ?
    Вообще наверно перспективен так как это Microsoft = )

  119. 1
    Александр Васюченко ответил:

    Чтобы на неём писать, хочу выяснить для начала – перспективен, популярен ли этот язык и платформа?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.