Вопрос по С++

zx

Member
C#. что вижу я.

здравствуйте товарищи.

перед тем как начать гадить в комментах, отрезумирую по сути.
C# - наверное флагманское средство разработки, сделанное Макроссофтом для платформы .Net.
Остальные (неццкий бейсик, J#, managed C++) - по сути делают то же самое, но являются подмножеством шарпа по возможностям. Кто в курсе - например, в Шарпе есть диектива Using для работы с классами, реализующими IDisposable. То, что она делает, в других языках можно собрать руками, а в шарпе она - уже есть..

Под .Net борланд выпускало несколько версий своих дельфей и билдеров но они убоги.. При всем моём обожании Дельфи.

Сама платформа .Нет - (ну это помоему. я всетаки не гейтс) - неизбежное будущее мира Майкрософт и Виндоуззз. И непоганое будущее.

.Нет дает уникальную возможность:
- лепить очень надежный код просто. он еще и кросс - платформенный получится.. такого же плана средством была ява но ни такой скорости, ни такой глубокой и удобной работы с железяками там не было. Плюс в Нете реализованы куча уникальных артефактов программирования (атрибуты например, также интерфейсы, ну интерфейсы не вполне уникальная вещщщьчь. в КОМе и в том же дельфи они уже были, а вот в ЯВЕ, насколько я знаю - нет).
- модульность получаемого кода очень удобна. ни в одном средстве не было возможности сделать ДЛЛку и при подключении ее к внешнему проекту видеть все ее классы методы и прочие потроха как в исходнике без всяких заголовков и библиотек импорта. Такой модульности не хватало всю жизнь, нихто даже не решался о ней мечтать - а теперь она просто есть.

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

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

А еще 1 момент по сути пока не началось копание в деталях и размазывание каши по столу.
Позиционируем себя и .Нет.
вопрос 1 - зачем он может пригодиться ?
варианты:

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

написание клиентских приложений для работы с базами данных.
- если проникнуться идеей и писать надо чтото монументальное - рекомендую.
очень мощная среда разработки. мощная модульность.
но если вам нада прога на 10-15 формочек с базой таблиц на 20.
и она вам нада через 3 дня. и вы знаете Дельфи. Я в таком случае не колебусь - запускаем винамп, нью прожект, секундомер, чай, буттерброд и вскорости - результат.
Для легких проектов (и примитивных) имхо дельфи юзать удобней.

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

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

взаимодействие с неуправляемым кодом и с кодом, использующим COM-технологии.
для работы сэтими вещами есть механизмы создания типа прозрачных оберток (transparent proxies) в обе стороны. типа dll в машинном коде можно обернуть классом в нете, на методы которого будут спроецированы точки входа этой длл. и наоборот, можно создать длл на .нете (такой код называется il или msil - Intermediate Language или Microsoft Intermediate Language; промежутоШный йазыГГГ) и сделать неуправляемую длл-заглушку, которая будет перенаправлять вызовы из машинного кода на методы классов .нет - дллки.
с комами та же песня - можно в обе стороны переопылять понятия .net-класса и COM-интерфейса.
но сразу говорю, что на этой зыбкой почве валяются неприятные грабли. а именно, для преобразования данных из типов .нет в типы COM используются т.н. МАРШАЛЛЕРЫ так вот в случае, когда при взаимодействии через COM ваши куски кода обмениваются данными сильно замороченной структуры (ну типа массивами записей самодельной структуры), то штатные маршаллеры этого не вытягивают а самодельные писать стрёмно.. короче если ВДРУГ будет у вас такая задача - перед тем как кинуться в нее всеми местами - повтыкайте более глубоко в почву, если что-то покажется вам мутным - берите простой C++ без всякого нета и не вы$#&вайтесь.

Графика.
прорисовка форм в нете на сегодня реализована средствами GDI+. Оно притормажЫвает.
Плюс производительность графической подсистемы упирается в возможности старого кода управления окнами, старого API windowHandler-ов и точек входа в процедуры.
Когда MS домучит свой обьектный движок для работы с окнами (он вроде в одном из проектов авалоном назывался, хотя в конце-концов под этим именем родилось хрензнаетшо) - думаю скорость отрисовки .нет - визуальщины радикально улуччицца.

Но я повторюсь, что не верю в Майкрософт.
Слоган - Microsoft - not to be trusted. Just to be.
Скажем так. Майкрософт не меняется от того, верю ли в него я или ты.

Единственный выбор который у тебя есть - работать или не работать с ним.
На сегодняшний день я альтернативы винде на рынке десктоп-платформ, позволяющих быстро разрабатывать клиентские приложения с богатым интерфейсом (пытаюсь указазть, что жто приложения, которые работают НЕ_В_БРАУЗЕРЕ) - не вижу. Видел бы - сам бы вприпрыжку туды сбежал. До нета. а после нета - теперь 3 раза подумаю. Бо удобно однако в нем программить.

Насколько мне известно, с .NET готовая программа получается что-то наподобие того же Visual Basic по скорости.
ГЫ. Смотря какой VB иметь в виду. Если VB.Net - то оно не только по скорости будет так же, там и сам код получится практически идентичным. Вся идеология средств .нет разработки от МЗ - что любым средством мы получим одинаковый код, и можем юзать его в любом сочетании.
Например у меня 2 бойца рисуют проект на VB.Net а третий им на шарпе нарисовал dll, они ее себе без вопросов вкручивают и едут как тут и было.

но если сравнить с не-.NET бэйсиком - звыняйте. Нет ЖЖОТТ.

Кому довелось поработать, особенно с графикой, тот наверняка поймёт о чем я.
Графика - отдельная песня. я говорил. А невизуальный код фигачит практически со скоростью обычного маш. кода. И вообще, принцип работы .НЕТ - т.н. JIT(just in time)-compiller.
Когда ты запускаешь .нет -экзешник -загрузчик фреймворка берет его промежуточный IL-код (ну и код библиотек, на к_рые твой эге опирается) и компилит его в машинный код твоего ЦПУ. Это занимает время и чуйствуется (хоть и не особо). Зато потом все шуршит как обычно.
Кроме того, при установке фреймворка в винде заводится целоя обвеска администрирования его политик и я подозреваю что там есть возможность указать, что я хочу такие-то сборки (эгешники и дллки) скомпилять в маш. код заранее. Тада при запуске все ваще буит шуршать. Не уверен на все 100 что такое есть, но чето мне помнится что оно есть.

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

Ну а лично для себя я буду тихонечко ночами мечтать, о хорошем и красивом коде, написанном на привычных мне Java, C/C++, Object Pascal (ой пардон, а можно ли Free Pascal так назвать? думаю пока-что да), и тешиться свободой выбора :)
синтаксис фри паскаля и обжэкта настоко похож шо называть его можно как хочеш - все равно то же самое. а ночами мечтать о коде.. я всю жизнь о бабах думаю. а про ночи ваще молчу.
А шоб про баб не токо думать - надо шевелиться. И код я люблю надежный, шустрый и такой, который можно быстро изваять и легко сопроводить. Я не особо люблю программить. Я люблю результат. И девок. С такой жизненной позиции - код на шарпе - моё почтение. Кроме того.
Попробуйте. и вы увидите, что он очень красив. я такого красивого ни на чем не видел, честно.

Пользуясь случаем, передаю привет всем женщинам. Всем спасибо, я вас люблю. Код мне по ночам не снится.


dragonion, забудь Delphi и спокойно долби C#. У меня есть чем огорчить твоего препода - больше всего С# похож на Java (как идеология так и сам язык), но тооолько не на паскаль !! Если нет желания заниматься системным программазмом, С++ не актуален. "Зачем платить больше" (с)
дельфи и сишарп - очень разные среды. С очень разной архитектурой получаемого исполнимого модуля. Да, шарп - это очень взрослая ява. Ява, доросшая до того, чего от нее никто не ждал.
При моём _обожании_ дельфи - я всетаки тащусь от шарпа. Все двойные объявления дельфи (объявление-тело) и т.п. - сильно перегружено. в шарпе меньше объявлений. и в нем гораздо проще найти что нужно.

приведу 1 пример.

свойства в дельфи и шарпе.

пусть есть класс TzxClass. как ему сделать свойство в дельфи:

Код:
TzxClass = class 
begin
  FMyProp: Integer;
  function GetMyProp: Integer;
  procedure SetMyProp(AValue: Integer);
 published
  property MyProp: Integer read GetMyProp write SetMyProp;
end;

И ЭТО ЕЩЕ НЕКОНЕЦ :)
еще ж тела методов :)

implementation

  function TzxClass.GetMyProp: Integer;
  begin
    // ну ясно, что тут логика посложней, ради этого нихто б метод не ваял, ну это так, для примеру..
    Result := FMyProp;
  end;
  
  procedure TzxClass.SetMyProp(AValue: Integer);
  begin
    ну типа..
	if AValue = FValue then
	  exit;
	FValue := AValue;
  end;
терь шарп..

Код:
  public class TzxClass
  {
  int FMyProp;
  public MyProp
  {
  get{return FMyProp;}
  set{if(Value!=FmyProp)FMyProp=Value;}
  }
  }
.. усё. если учесть, что мой профиль - библиотеки компонент.. нушо.. я за шарп..

А насчёт переносимости - наилучшая переносимость у Java.
ну по крайней мере лучче шарпа. это да.

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

Да только мое ИМХО - сомневаюсь что Mono достигнет 100% точной реализации фреймворка и тучи библиотек, хотя как знать...
причем тут имхо. во-первых - моно не может покрыть в принципе весь фреймворк. он реализует только его подмножество. во 2х - как может так и реализует т.е. не факт что все буит работать в моне также как в нете. А нюансов там тьма. Например, во 2м фреймворке срэды работают весьма не так, как в первом (например обработка исключит. ситуаций в срэдах). Т.е. в самом фреймворке куча нюансов, помоему стопудов чего-нибудь в моне да не так как в оригинале..
Кроме того, как моно могет в прынцыпе реализовать например все классы из system.win32 ?
(пишу по памяти, могу ошибиться, но такой или похожый неймспэйс есть :)
для этого в моно нада засунуть винду.. маленькую такую.. ембеддед :)


Кроме того, оказывается есть уже и поддержка платформы .Net Framework и для Linux, Solaris, Mac OS, FreeBSD, Unix. Проэкт называется Mono. Так что все не столь плохо как казалось :) . Также следует сказать, что скорость работы С# примерно в 2 раза выше скорости работы Java. Вот пока что все что я нашел и узнал. Буду дальше пополнять новость.
Пополняю. кроме моны - самодельной - есть еще Макрософтовский фреймворк с открытыми сырцами.
Rotor называется. Тоже подмножество полного фреймворка. Кому оно надо - фтыкайте :).

Ну да. Давай сорцы, тесты поганяем, сравним :)
а смысл ? перед тем как чегото гонять и тестить - поставь всою задачу. Поставь допуски - с какой мин. скоростью оно должно крутиться. потом лепи тесты.
а ТЕСТИТЬ ВООБЩЕ.. я не академик и не идиот. я выше сказал, люблю баб и бабки.

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

усё. желаю удачь. кому чего интересно - что могу отвечу detral@gmail.com

сорри за длинный высер ну так я ж не заставляю его читать. хотел сказать пару строк да увлекся...
 
Останнє редагування:

KOCTa

Dedywkо |Co100
Команда форуму
Супер Модератор
Re: C#

:) Респект.
Честно, прочёл до конца, много-го не знал, например про графику и возможность задействовать сторонние дллки, бо не надо було, но относительно красоты кода, удобства раздупления в чужих и написания своих - замечательное дело.
Ещё раз респект!
 

daoway

кот Шрёдингера
Re: C#. что вижу я.

На сегодняшний день я альтернативы винде на рынке десктоп-платформ, позволяющих быстро разрабатывать клиентские приложения с богатым интерфейсом (пытаюсь указазть, что жто приложения, которые работают НЕ_В_БРАУЗЕРЕ) - не вижу.
+1. Точно знаю что в одном оочень крупном забугорном банке на дектопах работает дот нет, а на server side - Java (IBM WebSphere).

Да, шарп - это очень взрослая ява. Ява, доросшая до того, чего от нее никто не ждал.
Я называю это немножко по-другому. Идею спи***ли + создали язык максимально похожий на Java. Очень популярные продукты в Java-мире -
Hibernate, JUnit, log4j, db4o уже имеют свои аналоги на C#. Осталось переписать Struts, WebWork, Spring... список можно продолжать. Я не говорю что это всё на 100% калька, но оно на то похоже.

Ну это ты с железом не работал небось. а то там всетаки появляется вроде нейтив код. но врать не буду с явой я токо начинаю сталкиваться и чураюсь ее пока..
Я - нет. Для взаимодействия с железом действительно надо юзать нейтив. Но, народ даже embedded и real-time (датчики всякие и т.п.) системы пишет на Java. Попробуем сравнить кол-во телефонов с поддержкой Java и .NET ? ;)

причем тут имхо. во-первых - моно не может покрыть в принципе весь фреймворк. он реализует только его подмножество. во 2х - как может так и реализует т.е. не факт что все буит работать в моне также как в нете. А нюансов там тьма.
В свете этих проблем, как вы оцениваете реальную переносимость кода (а ведь технология позиционируется именно как кросс-платформенная) ?

а смысл ? перед тем как чегото гонять и тестить - поставь всою задачу. Поставь допуски - с какой мин. скоростью оно должно крутиться. потом лепи тесты.
а ТЕСТИТЬ ВООБЩЕ.. я не академик и не идиот. я выше сказал, люблю баб и бабки.
Обычно когда говорят о тестах, выкладывают исходники и описывают условия - как и что тестилось. Как минимум интересны критерии для сравнения. Ничего мудрого - если по нормальному - пару раз запустить батник :) Вероятно, это не помешает продолжать любить баб, бабки и не быть идиотом.

P.S.
Я всё-таки не противник .NET - для программазма под винду очень славный инструмент.
P.S.S.
К стати, а ASP.NET юзал кто-нибудь по-взрослому ? Какие там вкусности есть ?
 

GrAndSE

Тёмный
Модератор
Re: C#. что вижу я.

здравствуйте товарищи.
И Вам день добрый. Попробую ответить на ваше сообщение по мере исл и возможностей. Если что-то упущу, то прошу не серчать на меня сильно.
он еще и кросс - платформенный получится.. такого же плана средством была ява но ни такой скорости, ни такой глубокой и удобной работы с железяками там не было. Плюс в Нете реализованы куча уникальных артефактов программирования (атрибуты например, также интерфейсы, ну интерфейсы не вполне уникальная вещщщьчь. в КОМе и в том же дельфи они уже были, а вот в ЯВЕ, насколько я знаю - нет).
Во-первых, пока я своими глазами не увижу работающее приложение под Linux/FreeBSD (это то что я пробовал своими руками), или не услышу слова человека, мнению которого я могу безоговорочно доверять, то в кроссплатформенность не поверю на грамм. К сожалению я чуток неправильно запомнил ссылку (monoproject, вместо mono-project) и не смог скачать сие чудо. Но постараюсь исправить свою ошибку в ближайшем будущем. Так что с этим всё ещё впереди.
Во-вторых, я не знаю насколько быстро бегает .нет, но и Ява чем дальше, тем быстрее бегать начинает. Не знаю как там себя ведёт 1.6 (руки до всего не доходят), но 1.5 довольно заметно ускорилась по сравнению с 1.4.2. И это без JIT компиляции. А с ней, скорость обгоняет машинный код, вышедший из под хорошего компилятора С/С++. Не везде кончено, но на некоторых задачах так вообще заметно невооруженным глазом. Так что скорость - тоже вопрос спорный.
Касательно интерфейсов в Яве.. Наверное, Вы е достаточно знакомы с ней. Я не знаю всех тонкостей работы с ними в С#, но я Яве они есть. И в ней тоже есть масса вкусностей и "приятностей" для ООП.
Чего-конечно у Java нет, так это работы с железяками. Но тут уже сама идеология запрещает. Ява никогда не позиционировалась, как средство для системного программирования. И зачем? Для такого есть С/С++, ну а для исповедующих правило "оптимизация и полный контроль - выше всего" никто не отменял assembler. Кстати, все выше перечисленные средства, в большей или меньшей мере присутствуют на любой аппаратной и програмной платформе - будь-то х86, будь то какой-нить ядрёный Motorola, а порой даже мобильный телефон и кассовый апарат. (С ОС всё не так лазурно, поскольку написанную на asm под Линукс программу можно и не запустить на другой машине, но факт присутствия такого элемента в системе есть).
- модульность получаемого кода очень удобна. ни в одном средстве не было возможности сделать ДЛЛку и при подключении ее к внешнему проекту видеть все ее классы методы и прочие потроха как в исходнике без всяких заголовков и библиотек импорта.
Ну опять же скажу, что может и не так приятно, нежно и аккуратно, можно пользоваться некоторыми средствами разработки под java, которые при подключении какого-либо *.jar могут точно так же развернуть "заголовочки" классов, методов и пр., а если нужно то и до внутренностей добраться можно (wine jad *.class, хе-хе-хе).
без визуальщины не тормозит вообще, разрабатывать -кайф, средства для тестирования - улет, библиотеки штатные - могучие. к тому же это единственная надежная платформа для разработки надежного кода под винду.
Прошу конечно простить, но скажу о том, что ключевая фраза здесь "под винду". Но я не думаю, что обычный С++ намного уступит в выше перечисленных параметрах. О Делфи я разговора не завожу, я думаю по понятным причинам.
оконная графика - сильно нагруженная - нуего.
Графика - отдельная песня. я говорил. А невизуальный код фигачит практически со скоростью обычного маш. кода.
Я как раз в этой плоскости говорил о Визуальном Васике. Это его, наверное, самое слабое место. Хотя он и овобще не поворотлив. А касательно этого, С++ хорошо с графикой бегал, да и Java в своих окошках мило рисует, при это побыстрее Васюка :)
Плюс производительность графической подсистемы упирается в возможности старого кода управления окнами, старого API windowHandler-ов и точек входа в процедуры.
Когда MS домучит свой обьектный движок для работы с окнами (он вроде в одном из проектов авалоном назывался, хотя в конце-концов под этим именем родилось хрензнаетшо) - думаю скорость отрисовки .нет - визуальщины радикально улуччицца.
Домучивать они его будут на таких машинах, что моя по сравнению с ними будет казаться чем-то таким старым, что умереть можно. У них там сейчас машин меньше чем с 2 ГГб ОЗУ не осталось, процессоры давно зашли за 3 ГГц, видеокарты с 256 МГб на борту. И вы ещё надеетесь, что кто-то займётся оптимизацией кода, и оттачиванием быстродействия системы?
... - надо шевелиться. И код я люблю надежный, шустрый и такой, который можно быстро изваять и легко сопроводить. Я не особо люблю программить. Я люблю результат.
А я и шевелюсь, только моё шевеление и мои предпочтения не касательно программирования останутся вне пределов этой темы. А любя результат, красивый код не напишешь. Можно много разглагольствовать по поводу красивого кода, но игры в визуальные компоненты, заглажывание своих ошибок путём оптимизирующих компиляторов и визуальных сред, когда порой даже лень в книгу заглянуть, например Кнута, и потратить пол часа на анализ алгоритма... - точно не красивое программирование. Это хорошее зарабатывание денег, но не программирование.
Ну а если любить баб, то тем более красивого кода не получится. Потому-что, девушки умеют напрочь вымести из головы всё, кроме себя.
Прошу простить меня за такой, довольно жесткий, ответ.
Попробуйте. и вы увидите, что он очень красив. я такого красивого ни на чем не видел, честно.
Не красивее чем в С или Java. Серьёзно. По крайней мере глаз мой ничего такого не заметил, тчобы прямо восхитится и умереть от зависти.
Ява, доросшая до того, чего от нее никто не ждал.
... но врать не буду с явой я токо начинаю сталкиваться и чураюсь ее пока..
Так откуда же такие возрения на то, что такое java, а что С#, а тем более, что от Java ожидали, а чего нет. я же сказал, что у Sun своё видения того для чего нужна Java. Если почитать описание Sun OS, то Возникает масса предположений какие там планы на Java. И ещё подозрения, что .NET - краденая идея по своей сути.
Ну это ты с железом не работал небось. а то там всетаки появляется вроде нейтив код.
Ну так работа с железом на разных платформах разная. Как я уже написал выше, Java не предлагалась как "кроссплатформенная система для написания низкоуровневого кода". Ну а Мелкомягкие тешат нас такой сказочкой о С#. Но нейтив код, нейтив кодом, а свзку C++ с asm никто не отменял ещё пока, хотя и хотели. Может на Windows это и выйдет, но останется совсем иной мир.
как моно могет в прынцыпе реализовать например все классы из system.win32 ?
Как показывает практика, некоторые приложения выполняемые в эмуляторах Windows показывают не меньшее быстродействие чем на родной платформе. Если сейчас имеется воможност ьвыполнять довльно большой список программ в эмуляторах, то при использовании кода, используемого в них, моно мог бы (особенно в свете соглашений подпиасных между Novell и Microsoft) теоретически воссоздать все winapi32 по крайней мере на уровне ХР. Ну это теоретическая вскидка, но всё же.
для этого в моно нада засунуть винду.. маленькую такую.. ембеддед :)
Размеры это не приемущество, а скорее недостаток. Порой, можно сэкономить сотни и тысячи строк кода, как результат десятки мегабайт "откомпилированного результата". Также следует учесть "избыточность" Окон - драйвера, "програмульки" и т.д. А о возможности это все переписать я уже писал выше.
а смысл ? перед тем как чегото гонять и тестить - поставь всою задачу. Поставь допуски - с какой мин. скоростью оно должно крутиться. потом лепи тесты.
Ну так как же сказать, что лучше? Если не будет возможности сравнить? Вот слов тут сказано и с моей и с Вашей стороны много, а пока не будет цифр: сравнения производительности, количество программистов под конкретными системами, степень кроссплатформенности и многое другое... - не могу быть я абсолютно прав, а Вы уже тем более. Почему? Потому-что, я уже сказал, что у Java полная переносимость, да к тому же и полная совместимость старого кода с новыми версиями jre. Потому-что, статистика использования говорит не в пользу C# - количество программистов, пишущих на С, С++ (не вместе, а по отдельности), на Java всё же больше чем на C#.
Скажем так. Майкрософт не меняется от того, верю ли в него я или ты.

Единственный выбор который у тебя есть - работать или не работать с ним.
Я свой выбор то уже сделал и причём давно. ;) И по-моему, я его доходчиво изложил. И излагаю каждый день, когда пишу код в vim и компилирую gcc/g++ и javac. ;)
 

GrAndSE

Тёмный
Модератор
Re: C#

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

zx

Member
Re: C#. что вижу я.

В свете этих проблем, как вы оцениваете реальную переносимость кода (а ведь технология позиционируется именно как кросс-платформенная) ?
Да вообщето я по ходу и пытался натолкнуть на мысль о том, что не хрен надеяться слепить малой кровью код кросовый в смысле смены операционной системы. Если задачи таковы - вам в Си и в яву и нечего и думать.

А платформа позиционируется как кросовая - и совершенно справедливо - но имеется в виду кросовость по железу, на котором реализован .net фреймворк. В первую очередь загнуты пальцы насчет Compact Framework-а который на разношорстной массе виндовских смартфонов крутится.

Теперь по форме..

Я несколько удивлен подходом. Исходный вопрос звучал вообще типа как А ВОТ ЕСТЬ ДЕЛЬФИ А ГОВОРЯТ ШО ШАРП ЭТ МОДНО.

Потом насыпано какихто анонсов и постов типа АГА МОЖЕТ И МОДНО ИНТЕРЕСНО ВАЩЕ...

Я написал просто свое видение того, какую нишу в разработке занимает студия шарп и нет. Попытался сориентировать интересовавшихся в плане - чего можно от платформы ожидать и чего нет. Попытался привести к мысли что .нет - это шняга ОТ ВИНДЫ И ДЛЯ ВИНДЫ. И если и играть с монами, то если есть открытый проект на нете и его надо портировать в никсы. Если сразу ясно, что продукту место в никсах и вы разрабатываете с нуля.. Шо тут тестить ???? не катит вам фреймворк. И вся любов.

Ну а дальнейшая полемика вообще смешит.. Зачем убеждать меня в проблемности использования нета на не-виндовских осях ?? я отлично верю со входа.. и т.п.

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

токо зараз заметил

Я свой выбор то уже сделал и причём давно. И по-моему, я его доходчиво изложил. И излагаю каждый день, когда пишу код в vim и компилирую gcc/g++ и javac.
капец. был у меня период работы с вимом, и меня жахались бо кроме меня его даже никсоиды моей среды не юзали..
Потом отпустило и с униксами и с вимом..
Сейчас я себе программирование руками и без визуальщины и среды просто не представляю.
Я не поругаться, просто ошеломлен тем что комуто может это нравиться при наличии нормальных средств с навигацией по коду и т.п.
 

daoway

кот Шрёдингера
Re: C#. что вижу я.

Вобщем я не пытался кому-то чего-то доказать, а сложить впечатление о продукте. Сопоставить его с дельфи, в частности чтоб не было иллюзии что это одного поля ягода. Хотя у кого было такое мнение врядли шото поменялось в представлениях... Мдя. Вобщем зря я это все..
Ну чё, не зря. Пост большой и очень полезный, было интересно почитать. Поделиться опытом, высказать мнение... а на кой тогда форум нужен :)

Единственный отрицательный момент - это "религиозные войны" :) Хотя тоже как сказать... всё познаётся в сравнении.

P.S.
пишу код в vim и компилирую gcc/g++ и javac.
javac ? Ммм... а Ant юзать не пробовал ? Удобно. Есть ещё и Maven 2, но там как-то дуже хитро всё...
Было время... баловался с vim... Вот например... есть 10 класов, по 10 полей, в каждом. Для каждого поля необходимо написать setXXX() и getXXX() - очень жизненная ситуация. Юзая вим намечается много лишней писанины :) Хотя я не екшперт (может у Pigeon-а спросим ?) и увернуться наверно как-то можно. А в IDE можно мышей клацнуть
 

GrAndSE

Тёмный
Модератор
Re: C#. что вижу я.

Значит мы не так поняли. Если чт оне так, то приношу свои извинения, за то чт овоспринял всё эт остоль близко к сердцу, но я кардинально не согласен с некоторыми словами. Особенно о том, что Java - недоделанный C#.
Кстати, кросплатформенность по железу тоже не катит - я не даром назвал процессоры Motorola. ;) Хотя всё может быть.
И чуть-чуть не по теме C#.
капец. был у меня период работы с вимом, и меня жахались бо кроме меня его даже никсоиды моей среды не юзали..
Потом отпустило и с униксами и с вимом..
Сейчас я себе программирование руками и без визуальщины и среды просто не представляю.
Я не поругаться, просто ошеломлен тем что комуто может это нравиться при наличии нормальных средств с навигацией по коду и т.п.
А чего плохого в этом? Вообще-то у vim возможностей, как у редактора гораздо больше чем у многих хвалёных сред :). Хотя бы работа с файловой системой Сколько всего не пробовал... уважение осталось только к Ecplipse.. Правда и тот открывал пол года назад. Касательно полезной функциональности - уделывает очень многие проприетарные рабочие среды, при этом довольно легковесен, обладает множеством функций, которые могут быть полезны для ленивых и новичков и т.д. (ну например, приведение класса к JavaBeans - часто много писать приходится; или приятные мелочи для работы с *.properties.. . писать можно многое, но это уже не по теме, поскольку C# не входит в список поддерживаемых языков).
P.S.: А чего так боятся вима? Я от него правда сам бегал и шарахался одно время. Потом заставил себя поиспользовать с месяцок только его, дабы вникнуть и привыкнуть. И всё. С тех пор - фактически единственный используемый мною дома текстовый редактор.
P.P.S:И что тогда "юниксоиды юзали"?

ещё раз прошу извенить за фактически откровенный флуд.
 

MeaN

Підлабузник
Вопросик по "C"

Огромная прозьба помочь реаилзовать вот такую програмку :"Написать программу ,которая для заданого каталога файловой системы вычисляет общий размер этого каталога учитывая размер всех файлов и подкаталогов этого каталога."
Прога вроди и не сложная но мозгов не хватает:)
Зарание спасибо!!!
 

Volo

New Member
Re: Вопросик по "C"

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