Доброго времени суток! Microsoft выпускает данную среду уже 9 лет. За это время значительно подросли мощности компьютеров, выросло новое поколение программистов, однако основные проблемы C# и среды .NET никуда не исчезли. Я честно пытался перейти на эту среду, накупил себе книжек от создателей и экспертов, в которых они уверяли, что все быстро работает, С отдыхает и т.д. Но тормознутость, мешок с библиотеками, который надо носить с собой и некоторые "костыли" для простейших функций сильно напрягали. Думал одно время, что может уж для совсем быстрой разработки он подойдет, но для меня лично быстрее написать в C++ Builder'e со всеми его недостатками, чем в тормозной 2010 студии на .NET. И вот я попытался задуматься что же такого нового несет в себе C# и среда .NET, какие у них супер преимущества перед "старыми" языками. Беру открываю сайт с преимуществами - вот список: По пунктам: 1. Ничего нового - еще Simula 67 был объектно-ориентированным. С++ вобрал в себя лучшее из него, а именно идеи ООП, но реализовал так, чтобы от C по быстродействию практически не отличаться. 2. Согласен - библиотека удобна. 3. Это даже недостаток - зачем разводить сотни языков ничем по сути после компиляции не отличающихся друг от друга. А взаимодействовать... не знаю возможности и у старых языков хватает. 4. Сомнительная реклама. 5. Тоже что и выше. 6. Гм... даже не знаю, зачем опять костыли делать? 7. Интересно. 8. Очередная реклама. 9. Спасибо - смотрим пункт 1. Я бы добавил бы сюда еще и пункт 10, а именно: 10. Сборка мусора. Интересно, что идея опять не нова и все из той же симулы. Страуструп тогда отказался от сборки мусора из-за существенных тормозов. Сейчас по сути мало что изменилось. Поможет разве что неряшливым и ленивым программистам, которые никак не хотят уничтожать свои объекты. Итак, по сути интересна только библиотека. Но что мешает подобную библиотеку добавить для C++. Ничего... Грустно, что сейчас появилось множество молодых C# программеров, которые влюблены в очередное монстроидное детище Microsoft. И ладно бы развитие этого языка и среды было свободным, но нет корпорация его меняет как ей вздумается. Хотелось бы услышать мнение уважаемых форумчан по поводу среды .NET и вообще будущего языков программирования.
Ой да ладно грустно, холиварщик вы мой. Раньше и деревья были выше и воздух свежее. Как в 90х спорили - кто победит ООП или структурное программирование? А ни то ни другое - победили языки с автоматическим управлением памятью. Мейнстрим и так далее. Быдло довольно. Небыдло т.е. продвинутое быдло тоже довольно. Остальные потирают руки. Топег можно закрывать, а топег аффтара в бан.
ИМХО, единственный смысл компилировать программу не сразу в нативный код - кросс-платформенность без перекомпиляции. Больше не для чего байт-код не нужен, а даже наоборот вреден (работает медленее, необходима среда исполнения .NET). .NET не использует это преимущество (Mono не в счёт - это не продукт MS. к тому же в .NET легко можно достучаться до WinAPI, что для кросс-платформенных технологий должно быть не возможно). А большую библиотеку классов можно и на С++ написать. Никто не запрещает компилировать с помощью компиляторов разных языков объектные файлы, а потом линковать их вместе. Для Web есть PHP и Java. Так что моё мнение - .NET не нужен.
.NET правильная и перспективная технология. Объяснять и доказывать тут что-то бессмысленно, кто знает - тот знает, а кто не знает тому значит и не надо. Может быть ЛЛВМ будет лучше, но этого еще дождаться надо. --- Также хочу отметить, что перед тем как что-то критиковать, надо узнать как и почему оно так сделано. Алсо предвижу разговоры о "тормозах виртуальной машины дотНет" и прочий бред.
GoldFinch как? и почему? а разве оно не соответствует истине? --------------------------------- предвидится холивар. поклонники современного визуал бэйсика бкдкт доказывать тоже, что и 10 лет назад старые поклонники визуал бэйсика. приводить беспочвенные утверждения о скорости и компактности и переносимости. я не смогу удержаться. итд итп. очень прошу админов и модеров дропнуть этот топик
Ага, а теперь Страуструп чего-то вдруг захотел сборку, ну может не по дефолту, а опционалом, но всё же. Насчёт тормозов сборщика, это мягко говоря не соответствует истине. Насчёт неряшливости, ну да человеку свойственно ошибаться. Вам нет? Вы не человек? С# это вообще ни о чём, так плагин к студии. Кстати С# даст много очков С++, как раз по причине что нет такого долго размусоливания со стандартном.
qqwe Надо в каждой теме, делать кнопу "Abuse". Чтобы когда определённое кол-во людей нажмёт на неё топ закрывался... =D
С++ как писал Страуструп это промежуточный язык к более человеческим. Вот майкрософт и решила сделать человеческую платформу. Необходимость этого проистекает из недостатка IL. Java платформа не поддерживает много языков, что плохо.
Я не хочу спорить, просто общие соображения. В данном случае - в очередной раз - инициатором "передовой" технологии выступает одна отдельная (пусть с очень большим штатом и Стиви Джобсом и множеством индусов) коммерческая конторая с закрытым кодом. Интуитивно понятно что открытый международный проект (как принято в Науке) в среднем мог бы дать намного более обоснованное и универсальное решение нежели очередной выползок от (с)коммерсантов пытающихся "подмять" рынок. К тому же от этой "среды" за милю воняет его основным "предназначением" - максимально облегчить напейсание кода - но не конечное качество продукта! Быстрее скомпелять и продать бэта версию а потом сидеть и ждать багрепортов и править баги (но и считать прибыль!) - вот философия манагеров которые на самом деле прародители этого проекта - а вовсе не какие-то там разработчики или лидинг программерз - программеров там просто наняли чтобы как-нибудь реализовать именно эту идею. Да, и скажите мне чего они опять не натырили из других языков/etc? Что принципиально нового они предложили?
CrystalMS холивар не развожу, просто хотелось бы конструктивных замечаний по существу вопроса и все. GoldFinch а поконкретнее...? PSR1257 согласен, кстати тоже было и с продажами и других продуктов. Booster 1. Если не сложно где писал - я просто честно говоря не помню этого высказывания. уточню я не спорю - просто интересно самому еще раз посмотреть... 2. И что плохого в том что Java не поддерживает много языков? 3. по сборке мусора приведу цитату из вики: 4. еще по сборке мусора - страуструп вроде просто хотел посмотреть как будет это работать и все и тогда в стандарте добавить возможность использовать сборку мусора. В новом стандарте C++0x этой возможности вроде нет. KIVсогласен. вообще-то реальной кроссплатформенности пока не видно.
sivsoft берется либа сборщика мусора (http://www.hpl.hp.com/personal/Hans_Boehm/gc/) и переопределяется new, если в либе нет хидера с этой манипуляцией (include\gc_cpp.h). делов на 2 строчки. а, ну и деструктор цепляется. зачем для этого кругом повторять о стандарте или языке без которого.. итд. да и одноплатформенности тоже. ------------------------------------------------- глушим. до добра этот топик не доведет
.Net и с C++ работает прекрасно, хорошая перспективная сборка для быстрого программирования. Программирование не заканчивается на низкоуровности и ассемблере. Для определенных задач очень даже подходит. Скорость: компиляция может происходить при запуске приложения. Причем может компилироваться на каждый машине под ее проц c учетом его возможностей [sse,mmx]. Как по мне так для Гуя самое оно. Билдеры я бы сжог вместе с исходниками.
<<Билдеры я бы сжог вместе с исходниками. Тоже душа к Билдерам никогда не лежала. Visual Studio, KDevelop, QNX Momentics - нормальные среды для разработки на Си++. Под всеми тремя разрабатывал, был очень доволен(особенно впечатлило когда Студия при отладке раскрутила сложный объект, внутри которого списки,вектора и показывала на каждом шаге их содержимое. Momentics так не может, только первый и последний элемент списка.). Может конечно и есть что-то новое, чего я не пробовал, и что лучше, но сильно сомневаюсь.
Особенно нравится тэги #pragma managed и #pragma unmanaged в одном проекте где GUI на .net и логика на С/++/asm
мёрд вашь нет лондонская биржа пошла даже на то чтобы остановить торги чтобы уйти с этого отстойно-глючного тормоза