Вопрос по С++

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 для нахождения всей ветки подкаталогов и файлов заданого каталога через рекурсивный вызов функции, впихнуть туда сумирование размеров всех файлов не составит труда.
Если нуна еще то могу выложить...
 

sniper

New Member
Re: C#

C# и новый движок идея канешна хорошая, но только долго микрософтовцы телятся с реализацией.. Боюсь, что захватив власть на рынке они спокойно могут ещё лет надцать лепить чёрти что.
Хачю быстрого API !!!
 

sniper

New Member
Re: C#

если хочешь чтобы тебя поняли обьясни что ты имел в виду.
особенно интересно какие посылки подвигли на такие выводы..
Так это я проникся вашими постами про висту и про авалон, а ещё недавно делал прожку типа radmina и был удручён скоростью работы BitBlt из gdi32, вот и всё. :)
 
Зверху