Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Самый перспективный язык программирования

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Открыть новую тему     Написать ответ в эту тему

Самый перспективный язык программирования
 ОтветГолосаПроценты
Java60
10.56%
C#108
19.01%
Asp.net2
0.35%
C++212
37.32%
Visual Basic.net19
3.35%
Delphi96
16.90%
что то другое71
12.50%
Гости не могут голосовать, зарегистрируйтесть!Всего Голосов: 568
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TheChampion
 
Спорить не буду - в .NET Framework меньше, чем в STL классов, только это не значит, что если что-нибудь понадобится, то это надо будет писать с нуля - на основе того, что есть, можно дописать всё необходимое. А перекрытие - это кроме структур данных и их сортировки в Framework есть сеть, xml и вообще, чего только нет
 
Популярную программу, говоришь?.. Visual Studio 8 не работает без .NET Framework. Ну а популярных программ не найдёшь - уже было не раз сказано, что .NET для бизнес-приложений очень хорош.

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 10:54 24-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oSLikus

Цитата:
Visual Studio 8 не работает без .NET Framework

Это, пардон, кто? MSVS 2005? А если в процессе установки снять галочку с C#, тоже без .NET не пойдет?

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 15:30 24-08-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
.NET Framework 2.0 Beta является Prerequisite - обязательной для установки Visual Studio 2005 Beta 2. Не знаю, может и можно обойти, но как - не знаю (не заморачивался)

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 22:01 24-08-2005
segeich

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oSLikus

Цитата:
В каком месте .NET не подходит для WebService? А я-то всегда думал, что это конёк .NET'а.  

Читай внимательнее мой предыдущий пост, там в последнем абзаце дается объяснение.
 
Кстати, я вовсе не оспариваю, что это конёк. Только от этого пока что не холодно и не жарко. См. комментарий в конце.
 

Цитата:
Возможности C были _расширены_ C++, но уж никак не возможности C++ были унаследованы... Но если уж и по-вашему: в студию то, чего есть в C, но не должно быть в C++...  

Читай внимательнее мой предыдущий пост.
 
Что касается того, чего не должно быть - должно быть все, из соображений совместимости. Из этого, однако, не следует, что устаревшими возможностями нужно пользоваться, тем более, когда есть лучшая альтернатива.  
 
Напр., зачем использовать указатели в стиле С, если auto_ptr и ему подобные столь же эффективны, но при этом намного удобнее и безопаснее?
 
И еще, можно, конечно, создать файл с расширением .cpp, забить его кодом, мало чем отличающимся от С (вроде обычных указателей, массивов, printf'ов и т.п.) Можно даже объявить пару классов, добавив в обычные структуры несколько методов.
Формально такой код будет кодом С++, но вот по своему духу, по философии, если хотите, это будет все еще код на С.
 
DigiWhite

Цитата:
Вот уж не поудмал бы... Т.е. я так понимаю, взяли мы язык, забили на всю технологию разработки ПО.

Речь шла не о тебе и не о ком-либо другом из здесь присутствующих. То были мысли вслух, о наболевшем.  
Просто в последние годы такая тенденция явно просматривается. Наблюдаю её, в том числе, и по тем людям, что периодически к нам приходят на работу устраиваться. Вроде бы и образование соответствующее есть, но элементарных вещей вроде тех же указателей или хэш-таблиц - не знают!? Зато обещают по быстрому программы клепать (типичная фраза: ща мы вам все сделаем! только дайте нам Visual C, Delphi, C#, ... название конкретной среды не важно)
Такое впечатление складывается, что нынче в вузах учат только тому, как контролы на формах расставлять, да кнопочку Пуск в среде нажимать.
 

Цитата:
Мдя, сужя по словам получается, что самые лучшие, это те кто пишет на С++.  

Не надо приписывать мне слов, которых я не говорил.
 

Цитата:
Ах, ну да, простите. Просто реализация интерфейсов в COM делается через функции и глобальные переменные. Все, все. Это С. И никак иначе.  

Прощаю Во-первых, реализация COM интерфейсов может быть сделана на С, и наверняка часть базовых COM интерфейсов в винде на С и написана. Во-вторых, речь ведь шла об использовании (ты же, кажется, и сетовал на мучения с AddRef и Release). И тебе было предложено воспользоваться решением в духе С++ -_com_ptr_t, которое снимает все проблемы AddRef и Release.  
 

Цитата:
И в правду, чем это .NET абсолютно не подходит?. И на счет серверов. Все 100% из *nix подобные системы? Ой как не верю.  

У тебя проблемы с глазами? Или с русским языком? А может с арифметикой?

Цитата:
и терять половину потенциальных покупателей (пользователей)

Где ты в процитированном тексте 100% увидел?
 


Обещанный комментарий в конце.
 
Лет 10 назад, когда наша команда только начинала свой путь, мы обсуждали вопрос, под какие платформы мы будем писать софт. После непродолжительных дискуссий было принято решение, казавшееся тогда достаточно очевидным, но оказавшееся потом ошибочным (об этом чуть ниже):
Равнение на Windows!
 
И все было замечательно, софт писался, продавался, улучшался, еще раз продавался ну и т.д. Все счастливы, и разработчики, и заказчики.
 
Но в один прекрасный момент (я, конечно, утрирую, это произошло не в одночасье, но началось где-то года 4 назад), то один клиент, то другой заказчик, стали так ненавязчиво интересоваться:
А ваш софт работает под Unix?
 
Причем речь шла не только о серверных компонентах, но и о клиентской части.
А в последнее время все заказчики просто требуют: либо ваш софт работает под Unix (а у нас их тут много разных), либо мы с вами дела иметь не будем.
 
Я уж не знаю причин таких перемен, я не аналитик рынка. И, кстати, я не большой любитель Unix'ов (Windows мне ближе). Но, как говориться, клиент всегда прав (или мёртв? )
 
В результате мы оказались в непростой ситуации. Есть софт, достаточно развитый и успешный, но... сильно заточенный под Windows.
И исправить эту ситуацию очень сложно:  
 - переписать заново? - требует колоссальных ресурсов,  
 - воспользоваться сторонними решениями для портирования существующего кода в Unix? - такие решения стоят бешенных денег,  
 - оставить как есть? - теряем клиентов.
 
Мораль истории такова:
Учитесь на чужих ошибках и ориентируйтесь на платформо-независимые решения.
 
Вам нравится Visual Basic? Delphi? MFC? .NET? - да ради бога! Используйте их как вспомогательные или обучающие средства.
 
Вы родственник Бога или великий волшебник, способный провидеть будущее (хотя бы до вашей пенсии )? Тогда без вопросов, win-флаг вам в руки и вперед!
 
Иначе - см. мораль выше.

Всего записей: 112 | Зарегистр. 03-01-2003 | Отправлено: 22:44 24-08-2005 | Исправлено: segeich, 22:47 24-08-2005
perdun



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а про асм тут чёта и вспоминать никто не хатит
привыкли, блин, к всяким "базикоподобному" калу...

Всего записей: 1499 | Зарегистр. 21-01-2004 | Отправлено: 00:50 25-08-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
segeich
 
Нужна кросс-платформенность - бери Java.
 
C++ - насколько я знаю, Qt предоставляет всё необходимое. Но стоит денег, притом немалых. С другой стороны, если заказы есть и деньги за них есть, почему бы не воспользоваться?
 
А .NET создавался как средство создания приложений под Windows. Это логичное развитие линейки win95 -> winNT -> .NET (ну, до уровня ядра ещё далековато). В win95/98/ME можно попортить системную область памяти, в winNT/2k/XP/2k3 это сделать сложно (защищённая память и т.п.), а когда .NET будет ядром системы, то... всё managed, никаких крахов системы (кроме крахов jit compiler'а и иже с ним). Ну, это моё личное мнение. Я не противоставляю C# (.NET) и C++. Они могут замечательно друг друга дополнить.
 
P.S. Надо посмотреть, на каком уровне сейчас MONO (.NET под Linux) остановился, а также ROTOR (.NET под MacOS). Несколько месяцев назад в MONO можно было сделать консольное приложение (чем не сервер), которое будет работать и под win.

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 01:34 25-08-2005
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сразу оговорюсь: Java не плоха, плоха не Java.  

Цитата:
...Задачей проекта было создание приложения для замены очень сложной таблицы MS Excel. Наш заказчик достиг практически всех ограничений таблиц Excel. Мы решили писать приложение на Java. После определения необходимых требований, мы согласились создать приложение за фиксированную сумму в $28 000…  
 
Проект стал кошмаром...
...До 1998 года ставка на Java для создания GUI-приложения была самоубийством. Платформа к тому времени попросту еще недостаточно повзрослела для создания качественных пользовательских интерфейсов. Я выбрал Java, потому что был без ума от нее. Я обожал концепцию кросс-платформенного C-подобного языка со сборкой мусора. Мы надеялись получить богатый опыт программирования на Java и сделать эту восхитительную технологию своей специальностью.
 
Но Java привела к ужасному крушению планов. Контрол ScrollPane паршиво справлялся с прокруткой. Поддержка печати регулярно отваливалась. Потребление памяти было невероятно высоким.
 
Мне пришлось покончить со своими религиозными пристрастиями и написать это приложение на Visual Basic...
Эрик Синк, SourceGear

_http://www.rsdn.ru/article/career/makemoremistakes.xml
 
Добавлено:

Цитата:
За пять дней, предшествующих написанию этого эссе, я написал 4470 строк кода. Оплачиваемое время составило 31 час. Получается 144 строки в час (Японский Стандарт Продуктивности), не учитывая 28-страничное руководство, написанное в то же время. Японский Стандарт Продуктивности разрешает мне включать строки кода из существующих библиотек, которые можно использовать. Если я вычту 1038 строк существующей библиотеки, которая была использована, получится 3432 строки или 110 строк в час действительной продуктивности. Это меньше чем мой обычный стандарт, потому что это был действительно красивый «эталонный код», который должен был компилироваться как минимум на трех различных платформах, и я попотел над ним. Плюс был выполнен один нетривиальный пересмотр кода, повлекший за собой вычищение нескольких сотен строк для упрощения задачи в связи с корректировкой модели. В то же время, индустриальный стандарт продуктивности – это 5 строк в час, а для «супер-программистов» - 20 строк в час. И это не включая полное тестирование и документацию.

_http://www.rsdn.ru/article/career/BrickScience.xml

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 02:33 25-08-2005
DigiWhite



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
segeich

Цитата:
Во-первых, реализация COM интерфейсов может быть сделана на С, и наверняка часть базовых COM интерфейсов в винде на С и написана. Во-вторых, речь ведь шла об использовании (ты же, кажется, и сетовал на мучения с AddRef и Release). И тебе было предложено воспользоваться решением в духе С++ -_com_ptr_t, которое снимает все проблемы AddRef и Release.  

 
Каким образом она может быть сделана на C? Чистые виртуальные функции появились  
только в C++. Или мы рассуждаем о философии программирования?
 
perdun

Цитата:
а про асм тут чёта и вспоминать никто не хатит
привыкли, блин, к всяким "базикоподобному" калу...

Флаг в руки, писать большие бизнес-приложения.  Да и программирвоание контроллеров часто делается на языке высокго уровня (например C ). Например компиляторы от IAR.  
 
P.S.: Эй! Я не сказал что ASM умер. .
P.P.S.: Выбирайте средства в зависимости от ваших задач.
 

Всего записей: 53 | Зарегистр. 22-08-2005 | Отправлено: 09:52 25-08-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
 
Мдаа... вот мы и видим, насколько ява повзрослела за 7 лет В Москве две крупнейших IT компании: CBOSS и Крок (но эта побольше, кажись). В первой пишут на C++, во второй на Java / C++.

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 22:02 25-08-2005
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, согласен, слишком много цитат. Но мне все же кажется, что они не так уж и скучны и отвечают на (ладно, ладно - затрагивают ) ряд поднимавшихся тут вопросов.  
 
Модераторы. Если посчитаете ссылки рекламой 'другого места' то вымарывайте безжалостно. Ссылки помещены главным образом для указания источника, избежания обвинений в плагиате, а так же как приглошение прочитать все.  
 

Цитата:
...Наш Vault написан исключительно на платформе .NET, а для хранения данных используется SQL Server 2000. Вообще, я бы сказал даже, что Vault - прекрасный пример удачной разработки приложения на .NET, которую предприняла маленькая частная компания. Теперь, когда мы завершили полный цикл выпуска продукта, я могу уверенно заявить, что .NET полностью оправдал наши ожидания. Использовав C# вместо какого-нибудь низкоуровневого языка, мы действительно сэкономили очень много времени. Visual Studio .NET стала первой средой разработки, которая понравилась мне больше, чем emacs...
Эрик Синк, SourceGear  

_http://www.rsdn.ru/article/shareware/competitors.xml
 
Добавлено:

Цитата:
.NET vs C++
...Программирование на C++, которым ты так гордишься (впрочем, я тоже  ) — это по жизни хождение по граблям. С рождения и до пенсии. Сначала ты наступаешь на эти грабли постоянно, затем учишься от них уворачиваться, потом изобретаешь какие-нибудь ходули в виде смарт-поинтеров и мелких библиотечек и вот грабли хоть уже и пролетают мимо, но до тебя уже не достают. Ты горд собой, шаг широк, ты думаешь, что это свободный полёт. Но это не так, Рома, это всего лишь ходьба на ходулях. Иногда ты всё же цепляешься за какой-нибудь кривой указатель и дружно падаешь со всей своей крутизны на всё те же грабли. Поднимаешься снова и прёшь вперёд как танк.
 
А мимо по шикарной автостраде проносятся чуваки на новеньких мерсах и бумерах. Ты делашь два широких шага на своих ходулях, они пролетают две сотни метров. Ты смотришь куда бы побезопаснее ступить, они думаю следует или не следует слегка притормозить на следующем повороте. Их путь выстелен грамадным фреймворком, автоматическим сборщиком мусора и полностью безопасным кодом. Твой усыпан протухшими указателями, мемори-ликами и циклическими ссылками. У тебя уходит 50% времени на движение вперёд, 50% на уворачивание от граблей и ремонт ходуль. У них 50% так же на движение (но несравненно быстрое), 50% на изучение марштута, полировку своих тачек и определение стратегии движения.
 
Они конечно не умеют как ты ловко двигаться по пересечённой местности, но фору они тебе могут дать не слабую. Потому что ты большой специалист по решению мелких задач, а они работают по крупному, т.к. за то же время могут сделать в 2-3 раза больше.
_http://www.rsdn.ru/Forum/Info.aspx?name=FAQ.philosophy.dotnetvscpp
 

Цитата:
...Когда-то, во времена зарождения языка C, его распределитель памяти был самым слабым из существующих. Это был алгоритм «первый попавшийся», то есть он работал следующим образом: распределитель просматривал все узлы в списке блоков памяти, и первый же попавшийся свободный блок, который был не меньше нужного размера, разбивался на две части – одна возвращалась по запросу, вторая (общий размер блока минус запрошенный размер) возвращалась в список свободных узлов. «Преимущества» этого очевидны – очень низкая скорость работы и дикая фрагментация памяти....
...Распределитель памяти в NT работает весьма схожим образом с тем, что я описал в книге IDL, и основан на алгоритме «быстрого совпадения», разработанном Чаком Вейнстоком для его докторской в CMU около 1974 года....
 
...Наивный подход к оптимизации на уровне строк кода не так эффективен, как высокоуровневая оптимизация. Оптимизация страничного доступа, кэширования и распределения памяти приносит обычно более ощутимые результаты, чем построчная оптимизация кода. Алгоритмическая оптимизация – следующий кандидат на рассмотрение, особенно если ваша проблема не поддается только что перечисленным способам оптимизации. И только после того, как все это было выполнено, вы можете переходить на уровень строк кода. И если ваша предметная область потребует, то можно даже запрограммировать внутренние циклы (особенно это касается алгоритмов свертки и цифровой обработки сигналов) на ассемблере, чтобы использовать все возможности специализированных инструкций вроде MMX или потоковой обработки мультимедиа.
_http://www.rsdn.ru/article/philosophy/Optimization.xml
 
Следующую рекомендую сходить почитать
Цитата:
 Из статьи Вирта: ">Мои резкие замечания о преподавании ? результат полного провала попыток помочь сыну, ученику старших классов, >освоить C++. Дизайн языка чудовищен, а учебник написан отвратительно. Мой сын не мог понять, почему x = y >должно отличаться от y = x. Дейкстра жаловался мне, что важная книга по языку Java не содержала формальной >грамматики"
...Ну неужели Страуструп не мог сделать C++ поизящнее ? За каким богом там
указатели и ссылки одновременно, хотя, по сути, это почти одно и то же.
Мог, наверное, но ведь надо было не только теории удовлетворить, но и
обеспечить совместимость с С. Пройдет 10 с лишним лет, и можно будет
пойти на отказ от этой совместимости — так появятся Java и C#. А появись
Java в 1985 году — иметь ей судьбу Алгола-60....
_http://www.rsdn.ru/Forum/Info.aspx?name=FAQ.philosophy.answerto
 
Добавлено:
Языки програмирования - нехорошие и разные.(осторожно, местами ненормативны)
_http://www.rsdn.ru/article/philosophy/languages.xml

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 22:36 25-08-2005 | Исправлено: dneprcomp, 05:01 26-08-2005
Bozo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вот и думаю --- нафиг вся эта байда с quicksort впереди! Да здравствует Vista и 512 МБайт только для ОС. Быстродействие все покроет...
А ты напиши свою ОС, которой будет хватать метров 16 памяти, и не пользуйся всякими вистами, а мы на тебя посмотрим. Или предлагаешь всем продолжать играть в тетрис, змейку и пэкмана только потому, что в «Точку кипения» комфортно поиграть можно с минимум 1,5 Гб памяти?
 

Цитата:
DigiWhite
Уже в который раз говориться, что .NET и иже с ними очень молодые.  Уже устали это повторять.
Извини, чушь. .NET официально 5 лет. PHP за это время превратился в ветерана веба и никто не называет его молодым языком, который когда-то «всем покажет»
 
Добавлено:

Цитата:
И что-то я не замечаю, что среда за меня все делает. Да, среда от ошибок убережет  , по крайней мере от синтаксических.
Такие люди напоминают мамонтов, пришедших из «глубины веков», и просто не видевших современных сред. Современная среда анализирует код и указывает на _некоторые_ логические ошибки. Синтаксические исправляет чуть ли не сама.
If a user were to compile the error-riddled source code just previously mentioned, a compiler would not throw an exception because the error it is not a Java error. You could deploy this application at this point and it would work, but not the way it was intended. A quality assurance team might not find this error immediately, and once they did find it, they would send it back to development and the developer would have to spend more time debugging the application, eventually fixing it after a lot of wasted (and costly) time.  
This simple source code example could be easily debugged manually without much fanfare; however, in a project with hundreds or even thousands of classes, interfaces, methods, and fields, it would be almost unimaginable to search for these errors manually. You just simply invoke the code inspection tool and let IDEA do this job for you.

http://www.jetbrains.com/idea/docs/IDEA45Overview.pdf

Всего записей: 2707 | Зарегистр. 27-06-2001 | Отправлено: 12:05 27-08-2005
Inochkin

Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все-таки до чего хорошо в Питере) Прямо соскучился после ханты-мансийских комаров) Даже вопли так называемой гр."Руки вверх" поздно вечером во дворе, это прямо манна небесная после вагончика посреди леса) Впрочем, закругляюсь оффтопить. По делу:
DigiWhite

Цитата:
К сожалению COM, а уж тем более COM+ очень уж сложны. Кстати, 98 Win, основан на технологии COM, а NT используют COM+.

Совсем не понял, к чему это, тем более что неверно. Говорить о том, что ОС основана на технологии COM - полная чушь. Наверное, вы хотели сказать _поддерживает_? Но смысл этого поста все равно от меня ускользает.
 
oSLikus

Цитата:
допустим в C++ мы выделили память, и два указателя ссылаются на эту область. Потом в одном месте мы удалили память (free, delete) - во втором месте что? Нет, не Exception, там грязное чтение (хотя, конечно, можно этого избежать). В C# что? Так не получится просто-напросто

Угу, действует тот же принцип, что и в COM, - подсчет ссылок.

Цитата:
Win98 и WinNT имеют разные ядра (удивлены?)

нисколько)

Цитата:
Хотите драйвер написать, тут вряд ли C# поможет (кстати, можно написать, только это не будет эффективным решением)

Ну, не скажите. Смотря какой драйвер. Ясный перец, что если драйвер устройства, которое изначально ориентировано на низкоуровневый протокол, то ничего не выйдет. Если же драйвер устройства, которое поддерживает протокол высокого уровня, то пожалуйста и сколько угодно - пишите службу Windows, пользуясь всеми фичами .NET. Я уже говорил, что мы также начинаем пробовать такое решение. Хотя пока что реального jпыта здесь нет и могут быть подводные камни.

Цитата:
Споры можно продолжать до бесконечности, но сейчас всё больше и больше прикладные приложения, приложения автоматизации бизнес-процессов и т.п. пишутся на высокоуровневых языках: Java и C#.

Правда ваша)

Цитата:
И чем мне нравится C# - люди посмотрели, что есть хорошего, что плохое, выкинули плохое (ну, если будет угодно, места, где больше всего ошибок), добавили новых фич и т.п.

Нет. Не согласен полностью. C# принципиально другой язык, общего с С++ - только синтаксис. Поясню - выше уже говорил о том, что С++ соединил в себе два несовместимых подхода: ООП, как надстройка над С, и процедурное программирование, как наследник того же С. C# - это только ООП и ничего больше.
 
TheChampion

Цитата:
Цитата: На мой взгляд, самая большая проблема C++ в том, что это ну очень сложный язык.  
Именно поэтому в нем всего 64 ключевых слова против 100(???) в C#.

Если это утверждение, то соглашусь. Если же вопрос, то отвечу: да, именно поэтому. Согласитесь, что намного проще написать ключевое слово delegate, чем описывать указатель на функцию. Или что использование ключевого слова foreach куда проще и интуитивно понятней, чем использование итераторов в STL.
Поясняю общую закономерность: многие ключевые слова в C# перекрывают сложные конструкции в C++.

Цитата:
Да здравствует Vista и 512 МБайт только для ОС. Быстродействие все покроет...

Тут тоже в отделе недавно зашел разговор о временах далеких) Наши гуру делились воспоминаниями. Вы знаете, что странно - у них до сих пор сохранилось стойкое отвращение к Windows, только потому, что она жрет кучу ресурсов по сравнению с ДОС, которая на дискетку влезала) Скажите, вы предпочтете развиваться, или остаться на месте с ваши подходом?
NB: Ну до чего же консервативно большинство технарей)
 
xelix

Цитата:
из всех .NET'ных языков конечно флагманом является C#, но и он какой-то недоделанный C++ из Java - ни туда, ни сюда

А можно уточнить конкретные направления этих "ни туда, ни сюда"? Это куда?
 
Главный спорщик segeich)

Цитата:
в отличие от C#, C++ не навязывает тебе конкретный метод

Именно, а C# навязывает. Конкретно - ООП подход. А уж если вы пишете ООп-программу, то будьте любезны использовать соответствующие идеи.
И если уж вам так необходим собственный деструктор, то пожалуйста, пишите его. Но вызывайте явно. А сам объект был создан в managed heap, и удаляться он будет тоже автоматически.

Цитата:
В COM дык вообще замучаешься с вызовом AddRef и Release
См. _com_ptr_t и ему подобные.  
И не путай программирование на С с программированием на С++.

Тут вот тоже не уловил. В каком смысле программирование COM-объектов - это С?

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

Это вы про какую программу? Про ту, что я за две минуты на сон грядущий сляпал? Ну тогда трижды ха-ха.

Цитата:
Продолжаешь жульничать, однако  

Ни вот ни на столечко) Цитирую себя самого:

Цитата:
тут нужно признать, что сишарп это .NET, поэтому то, что делегат это на самом деле наследник System.MulticastDelegate придется принять. То же самое, впрочем, придется принять и в отношении предыдущего и последующего примеров. Ну что поделать, если в сишарпе все наследуется от object, никуда не денешься

И уж если STL - средство чистого С++, тогда и .NET средство чистого C#. То есть ваше требование убрать Forms также неправомерно.
Впрочем, ладно. Так можно спорить долго. Я понял, что вы хотите сказать: нет такого кода в C#, который нельзя было бы реализовать на C++. Вот только цель примеров была другая. Смотрим в начало нашего с вами спора:

Цитата:
Цитата:C# позволяет отвлечься от реализации надоедливых, но необходимых в C++ вещей, и сосредоточиться на алгоритме работы
А можно увидеть пару простых примеров (код C# vs код C++), демонстрирующих это утверждение?

Вы их увидели) Мне нет нужды дергать каждый раз STL - я пользуюсь ключевыми словами. И какая мне разница, как с ними борется компилятор? Я сосредотачиваюсь именно на том, что хочу сказать: вот это делегат, я хочу прикрутить к делегату метод и делаю это. Мне не нужно заморачиваться, поймет ли компилятор, что это указатель на функцию - член класса, а вовсе не глобальную функцию. Я знаю, что поймет. Мне не нужно придумывать извращения с целью не дать никому наследоваться от моего класса. Я пишу что этот класс sealed и все. Мне не нужно думать о глюках множественного наследования. Я описываю набор интерфейсов и наследую свой класс от них. Я не хочу постоянно держать в голове кучу инструментов, чтобы выдрать из строки число. Мне хватает одного, к которому я всегда могу обратиться простым и удобным способом. И мне не нужно постоянно помнить о том,что я сначала должен создать класс окна, потом его зарегистрировать, и только потом это окно создать. То же самое с MFC - ну не желаю я копаться в этих жутких обертках к апи. Меня устраивает стройная иерархия .NET. И уж совсем мне не нужна кипа библиотек для С++, из которых я воспользуюсь в жизни двумя-тремя. И то, только написав к ним кучу своих оберток. Вы не поверите: МНЕ ДОСТАТОЧНО ВСЕГО ОДНОГО ИНСТРУМЕНТА! ОДного, но максимально удобного. Вот и все. И я только буду всячески приветствовать идею не одного языка с кучей разных инструментов для разных платформ, а многих языков, использующих ОДИН инструмент для разных платформ. Это офигенская идея. И у микрософта есть ресурсы, чтобы её реализовать.
Несмотря на то, что все это патетика, это мои мысли по этому поводу)

Цитата:
А кто пользуется указателями на функции в С++? Ты не путаешь С с С++?  

Нет, не путаю. В С++ есть такое средство, как указатель на функцию. причем весьма кривое. Впрочем, может есть какой-то очередной костыль - замена ему? Просветите меня.

Цитата:
Warm_Sensor не является корректной английской фразой (т.к. содержит _) и она непонятна человеку, не владеющему английским.

Поверьте мне, разницы между Warm_Sensor и Warm Sensor не увидит даже самый тупой оператор. Ну а с точки зрения языка соглашусь - вы правы) Только из этого ничего не следует. Интеллект людей, которые работают за компьютером обычно достаточно высок, чтобы эту разницу понять. А уж эта программа вообще предназначена для квалифицированных инженеров - настройщиков.
Хотя данное средство вообще-то предназначено для автоматической генерации программного кода.

Цитата:
Хмм... интересная фича. Ей можно воспользоваться в учебных целях, в школах например

Я бы не стал. А то привыкнут дети, ведь фиг потом отучишь писать русские идентификаторы.

Цитата:
Приведите конкретные примеры (а не голословные утверждения) преимуществ С# над C++ в реальных и серьезных задачах (а не поделках на 5 минут), т.е. чего такого позволит мне сделать С#, чего я не смогу (или очень сложно) сделать в С++.

Некорректно вопрос поставлен. Заведомо ясно, что нет ничего такого что можно было бы сделать в C#, и чего нельзя сделать в C++. Разница в том, КАК можно сделать две одинаковые вещи. А именно - в C# быстрее, надежнее, яснее, более читаемо и правильнее с точки зрения ООП - подхода и проектирования.
 
TheChampion

Цитата:
почти для всех объектов в Стандарте C++ приведена оценка временной сложности работы. Есть ли она для C#?

Я свое время тоже искал. Найти не смог, для себя объяснил так: поскольку C# явно проигрывает в скорости исполнения кода, и микрософту невыгодно показывать эти различия, то и анализа такого в широком пользовании нет.
 
segeich

Цитата:
Ведь нынче мода пошла такая - писать программы по-быстрому, раз-два и готово, а как уж они будут потом работать, спринтеров не волнует

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

Цитата:
При этом они еще верят, что подобные поделки обладают более высоким качеством и надежностью. Блажен кто верует

А это так и есть) Я вам скажу, что наш QA намного чаще находит баги в C++ программах)

Цитата:
Ведь если в сфере офисного/домашнего ПО я еще с некоторой натяжкой могу признать доминирование Windows, то в серверном секторе это далеко не так. И нужно быть очень странным (это еще легко сказано) разработчиком, чтобы делать ставку на .NET и терять половину потенциальных покупателей (пользователей

То же самое говорил vndovr
 
TheChampion

Цитата:
назовите хотя бы одну популярную программу, написанную на C#?

Давайте я вам отвечу через 30 лет)
 
segeich

Цитата:
в последнее время все заказчики просто требуют: либо ваш софт работает под Unix (а у нас их тут много разных), либо мы с вами дела иметь не будем

Неужто требуют, чтобы одна программа работала и под Win и под Unix? Тогда вам бы больше Java подошла. Все-таки по сравнению с C++ разработка идет быстрее. Почему все-таки вы выбрали именно C++?
 
perdun
Тут немного выше тоже про асм вспоминали. Где-то три-четыре страницы назад))
 
oSLikus

Цитата:
А .NET создавался как средство создания приложений под Windows

Идея заключалась немного в другом: создать универсальный инструмент для многих языков и платформ. Windows просто самая распространенная ОС.
 
DigiWhite

Цитата:
Да и программирвоание контроллеров часто делается на языке высокго уровня (например C  ). Например компиляторы от IAR.

В данном случае это всего лишь способ ускорить и упростить разработку. Код все равно остается низкоуровневым, в том смысле, что он привязан к конкретному типу микросхемы. Мы например много бились в свое время с переводом программы, написанной на С для AT90S8535, на микросхему ATMega8535. Даже несмотря на то, что официально ATMega полностью обратно совместима с AT90, прошивки не работали. На портирование почти 8Кб прошивки ушло около двух дней. Если бы писали на еще более высоком уровне, то заморочек было бы еще больше.

Всего записей: 124 | Зарегистр. 05-08-2005 | Отправлено: 12:43 27-08-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:

Цитата:
А .NET создавался как средство создания приложений под Windows

 
Идея заключалась немного в другом: создать универсальный инструмент для многих языков и платформ. Windows просто самая распространенная ОС.

 
Технология создавалась "с возможностью" поддерживать много языков программирования и много платформ. Но возможность не обозначает то, что технология действительно кросс-платформенна. По большому счёту .NET сейчас - это средство создания приложений под Windows. .NET - это развитие winapi -> mfc, atl, wtl -> COM/COM+/DCOM, а также всяких Ole, ActiveX и т.п. Да, я надеюсь, что через несколько лет .NET программы будут одинаково запускаться как под win32, так и на Linux и MacOS. Но пока этого нет (и это "пока" уже 5 лет, как кто-то заметил.)
 
На одной конференции Microsoft был задан вопрос Крэйгу Манди (это тех. директор Microsoft): "Почему Microsoft говорит о кросс-платформенности .NET, но .NET есть только под Windows". Ответ был минут на 10, наверное Суть была в том, что Microsoft не выгодно делать поддержку для других платформ. Они создали средство для создания безопасных программ под Windows, а остальное - не их дело.
 
Можно критиковать сколько угодно Microsoft, но двигают .NET они очень сильно, в отличии от Sun с их Java. (но это так, мысли вслух )

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 15:29 27-08-2005
Ontarion



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delphi - это не язык, а среда разработки. А споры между любителями Delphi и C++ не закончаться никогда, иначе не может быть

Всего записей: 65 | Зарегистр. 02-03-2005 | Отправлено: 19:20 27-08-2005
sket4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oSLikus
ты прав, как только появилась майкрософт .нет - некие энтузиасты начали делать то же самое под *никсами, я даже слышал, что был разговор с майкрософт по этому поводу...
 
касательно остального - все движется к тому, чтобы как можно меньше программировать и, в конечном итоге, не программировать вообще, так вот .нет как раз для этого...
 
Ontarion
чувак, споров нет, за с++ работают про(не говорю о вц++), а в дельфи юзера тыкают мышкой, еще вопросы?))

Всего записей: 712 | Зарегистр. 07-05-2004 | Отправлено: 20:15 27-08-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sket4, не читал предыдущие посты мои? Я упоминал MONO и ROTOR - это .NET под Linux и MacOS, соответственно.

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 21:21 27-08-2005
TheChampion

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа дотнетовцы, а можно каверзный вопрос: что сама Microsoft написала на C#? Как-никак прошло пять лет с момента его рождения, а кроме Managed DirectX, который вовсе не DirectX, поскольку в нем нет или сильно урезаны DirectMusic и DirectInput, г-да микрософтовцы не написали

Всего записей: 656 | Зарегистр. 25-06-2004 | Отправлено: 09:51 28-08-2005 | Исправлено: TheChampion, 09:51 28-08-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sket4

Цитата:
чувак, споров нет, за с++ работают

Чтобы немного ''разрядить обстановку'' анекдот в тему:
Цитата:
Программирование на С++  как секс у подростков:  
- все об этом думают;  
- все об этом говорят;  
- все думают, что их ближний это делает;  
- почти никто этого не делает;  
- тот, кто это делает, делает это плохо;  
- все думают, что в следующий раз лучше получится;  
- никто не принимает мер безопасности;  
- любому стыдно признаться в том, что он чего-то не знает;  
- если у кого-то что-то получается, от этого всегда много шума.


----------
Мы знаем: время растяжимо. Оно зависит от того,
Какого рода содержимым Вы заполняете его. (C. Маршак)

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 10:02 28-08-2005
DigiWhite



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Этот топик уже порядком утомил... Больше всего конечно нравится, как бахвалятсяя те, кто работает на C++. Вы уж извините, но большинство ответов сквозит этим.  Все что-то требуют показать, какие-то гигантские проекты и прочее. Мне вот больше всего нравиться ответы Inochkin, не потому что с Питера , а потому что наиболее разносторонние и аргументированные .  
 
sket4

Цитата:
чувак, споров нет, за с++ работают про(не говорю о вц++), а в дельфи юзера тыкают мышкой, еще вопросы?))

 
Хм... интересно, а что ты про Borland Builder скажешь?
 
P.S.: домкрат нужен для подъема машины, а гаечный ключ, чтобы откручивать гайки.  

Всего записей: 53 | Зарегистр. 22-08-2005 | Отправлено: 11:26 28-08-2005
Bozo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Я сосредотачиваюсь именно на том, что хочу сказать: вот это делегат, я хочу прикрутить к делегату метод и делаю это. Мне не нужно заморачиваться, поймет ли компилятор, что это указатель на функцию - член класса, а вовсе не глобальную функцию. Я знаю, что поймет. Мне не нужно придумывать извращения с целью не дать никому наследоваться от моего класса. Я пишу что этот класс sealed и все. Мне не нужно думать о глюках множественного наследования. Я описываю набор интерфейсов и наследую свой класс от них. Я не хочу постоянно держать в голове кучу инструментов, чтобы выдрать из строки число. Мне хватает одного, к которому я всегда могу обратиться простым и удобным способом. .. Это офигенская идея. И у микрософта есть ресурсы, чтобы её реализовать.
Только не sealed, а protected. То, что тут описано, есть в Java. И зачем ждать, когда микрософт это реализует, если все это уже 10 лет как реализовано? И задачи сейчас совсем другие, люди создают масштабируемую VM, потому что остальное уже создано вообще-то, и Микрософт занимается тем, что пытается заново изобрести велосипед. А некоторые почему-то ждут, когда же наконец она им все это принесет на блюдце, да еще и слупит $1000 за студию, хотя за $500 можно купить IDEA. Кстати, вопли восторга сишарпников, когда jetbrain-цы с барского плеча сделали для убогих решарпер, просто ни с чем не сравнить
Цитата:
ведь фиг потом отучишь писать русские идентификаторы.
А что мешает писать русские идентификаторы?
Попробуй найди в книгах какого-нибудь Страуструпа или Кнута постулат, что «русские идентификаторы есмъ зло, ведущее к ошибкам в программах, с которым надоть нещадно бороться». Не найдешь.
Цитата:
Найти не смог, для себя объяснил так: поскольку C# явно проигрывает в скорости исполнения кода
Да? Всегда?

Всего записей: 2707 | Зарегистр. 27-06-2001 | Отправлено: 12:35 28-08-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Самый перспективный язык программирования


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru