С++ VS Delphi
Но все говорят разное, но какой язык перспективнее, у какого языка больше возможностей(вообще хочу заниматься написанием игр)? То что легче Delphi говорят и пишут почти все, но если выбирать по легкости то одназначно-Basic !!!:D
Я начинающий прграммист, знаю чуть-чуть и Delphi и C++( ),но для более глубокого изучения нужно определиться с языком!
Но все говорят разное, но какой язык перспективнее, у какого языка больше возможностей(вообще хочу заниматься написанием игр)? То что легче Delphi говорят и пишут почти все, но если выбирать по легкости то одназначно-Basic !!!:D
С точки зрения ООП имхо, без разницы что изучать, насколько я в курсе в Дельфи только не реализованы шаблоны, все остальное есть.
С точки зрения программрования под винду - я предпочитаю VC++, а не борландовские продукты. За борландовскими компонентами от программисты скрыты все механизмы системы, имхо это не есть хорошо. По этому поводу можно почитать дискуссию Builder vs VC++.
Я начинающий прграммист, знаю чуть-чуть и Delphi и C++( ),но для более глубокого изучения нужно определиться с языком!
Но все говорят разное, но какой язык перспективнее, у какого языка больше возможностей(вообще хочу заниматься написанием игр)? То что легче Delphi говорят и пишут почти все, но если выбирать по легкости то одназначно-Basic !!!:D
Действительно, определись с языком.
Delphi - это не язык программирования, а среда разработки, использующая язык ObjectPascal.
Я не знаю, где ещё кроме Delphi используется ObjectPascal.
С++ - это язык програмирования, средств разработки море: VC++, Borland Builder, KDevelop и т.д.
Делай выводы, что перспективнее (для программиста) ObjectPascal или C++, хотя бы из этих соображений.
С++ - это язык програмирования, средств разработки море: VC++, Borland Builder, KDevelop и т.д.
Чисто из интереса. Кто-нибудь пишет под винды, используя QT? GTK? :devil:
Или эти библиотеки используются только для переноса ПО между платформ?
Чисто из интереса. Кто-нибудь пишет под винды, используя QT? GTK? :devil:
Или эти библиотеки используются только для переноса ПО между платформ?
Я веду проект, где мы бы с удовольствием использовали Qt, но его стоимость и лицензия не позволяет этого сделать, так что используем др. кроссплатформенную библиотеку.
IMHO Qt хорош именно для кроссплатформенной разработки.
Я веду проект, где мы бы с удовольствием использовали Qt, но его стоимость и лицензия не позволяет этого сделать, так что используем др. кроссплатформенную библиотеку.
IMHO Qt хорош именно для кроссплатформенной разработки.
Qt разве не бесплатный? у меня дома валяется какая-то не очень старая версия под винду, которая попадает под лицензию GNU, вроде.
Может, правда, изменилось что-то с тех пор...
Я веду проект, где мы бы с удовольствием использовали Qt, но его стоимость и лицензия не позволяет этого сделать, так что используем др. кроссплатформенную библиотеку.
IMHO Qt хорош именно для кроссплатформенной разработки.
КАкую, если не секрет?
кто-нибудь знает, какая графическая библиотека была использована в VS.NET 2003, особенно интересует меню там... я еще такой интерфейс видел в другой программе, так что думаю, что есть такая библиотека...
КАкую, если не секрет?
Немного доработанный/пераработанный MicroWindows (http://microwindows.org/)
кто-нибудь знает, какая графическая библиотека была использована в VS.NET 2003, особенно интересует меню там... я еще такой интерфейс видел в другой программе, так что думаю, что есть такая библиотека...
Вопрос не понятен. Если не брать .NET, то c VC++ 2003 стандартно идет MFC.
Я же рекомендую, и мы используем, WTL, но на внешний вид это особо не влияет.
Но если C++ перспективнее, мощнее и удобнее, почуму же тогда в нашей стране больше по-моему используется Delphi (этот вывод я сделал исходя из количества сайтов, статей, особенно исходников в инете, если кто хочет поспорить с этим прошу с конкретными примерами сайтов.[COLOR=indigo]Особенно приветствуются сайты с несложными исходниками и статьями!!![/COLOR] .
:) Именно такие ответы я и ожидал увидеть на форуме C++.:P Но почему-то на форуме Delphi ничего не написали по этому поводу. Насчет легкости изучения не совсем согласен, по-моему ObjectPascal легче (ОСОБЕННО если его изучаешь первым, я изучал первым C++).
Но если C++ перспективнее, мощнее и удобнее, почуму же тогда в нашей стране больше по-моему используется Delphi (этот вывод я сделал исходя из количества сайтов, статей, особенно исходников в инете, если кто хочет поспорить с этим прошу с конкретными примерами сайтов.[COLOR=indigo]Особенно приветствуются сайты с несложными исходниками и статьями!!![/COLOR] .
А какой компьютерной литературы в магазинах больше? Для профессиональных программистов, начинающих программистов или для пользователей?
Сразу отвечу, что для профессионалов книг почти нет. За этот год купил всего одну - "Modern C++ Design".
Намек ясен?
А вот тебе и сайт для новичков:
http://firststeps.ru/
А какой компьютерной литературы в магазинах больше? Для профессиональных программистов, начинающих программистов или для пользователей?
Сразу отвечу, что для профессионалов книг почти нет. За этот год купил всего одну - "Modern C++ Design".
Намек ясен?
А вот тебе и сайт для новичков:
http://firststeps.ru/
Про firststeps я знаю давно, но он [COLOR=red]ЕДИНСТВЕННЫЙ [/COLOR] со cтатьями по C++. А по Делфи у меня в избранном 5-6 сайтов.А исходников на C++ кроме как на Исходниках.Ру нет НИГДЕ.
А в книжных магазинах для начинающих литературы хватает как по С++, так и по Делфи!!!:devil:
Про firststeps я знаю давно, но он [COLOR=red]ЕДИНСТВЕННЫЙ [/COLOR] со cтатьями по C++. А по Делфи у меня в избранном 5-6 сайтов.А исходников на C++ кроме как на Исходниках.Ру нет НИГДЕ.
А в книжных магазинах для начинающих литературы хватает как по С++, так и по Делфи!!!:devil:
Про книжные магазины я говорил для сравнения:
для начинающих - полно, т.к. спрос велик и каждый маломальский середнячок-программист считает своим долгом написать книгу для начинающих. Литературы для профессионалов мало, т.к. написание такой литературы требует гораздо больше опыта, знаний, времени и т.д.
Тоже и с сайтами по Делфи, одни базовые знания для начинающих, такое впечатление, что все Делфисты - начинающие.
К сожалению, я не знаю других сайтов по С++ для начинающих.
А для продвинутых их полно. Перечислять?
Про firststeps я знаю давно, но он [COLOR=red]ЕДИНСТВЕННЫЙ [/COLOR] со cтатьями по C++. А по Делфи у меня в избранном 5-6 сайтов.А исходников на C++ кроме как на Исходниках.Ру нет НИГДЕ.
А в книжных магазинах для начинающих литературы хватает как по С++, так и по Делфи!!!:devil:
ты не прав, на яндексе набери "исходники С++" тебе кучу ответов найдет.
отдельных классов на С++ ты можешь найти превиликое множество. Берешь готовый чей-нибудь класс, правишь его под себя и пользуешься в свое удовольствие. В англоязычных ресурсах можно найти и интересные проекты. Возьми хотя бы этот сайт. Для программирования игр - качай исходники квейка и копайся сколько влезет.
Я лично англоязычными ресурсами пользуюсь:
codeproject.com
codeguru.com
Вопрос не понятен. Если не брать .NET, то c VC++ 2003 стандартно идет MFC.
Я же рекомендую, и мы используем, WTL, но на внешний вид это особо не влияет.
Я имел ввиду саму среду разработки - в ней меню интересные - когда наводишь, оно рамкой обводится и тень появляется. В MS Office, вроде, похожее что-то используется. Имхо, есть готовая библиотека для графики, потому что не первый раз такое меню встречаю.
А насчет WTL - ее ж надо с программой поставлять. Я в VS.NET 2003 при проектах MFC при выборе способа подключения выбираю использование стандартных библиотек Windows. Не приходится думать ни о версиях MFC - код компилируется гораздо компактней, примерно как при динамической линковке MFC, но переносится только сам экзешник. Я пишу на машине с Windows XP, проги потом на ура идут и под W2k, и под W98.
Насчет легкости изучения не совсем согласен, по-моему ObjectPascal легче (ОСОБЕННО если его изучаешь первым, я изучал первым C++).
Но если C++ перспективнее, мощнее и удобнее, почуму же тогда в нашей стране больше по-моему используется Delphi (этот вывод я сделал исходя из количества сайтов, статей, особенно исходников в инете, если кто хочет поспорить с этим прошу с конкретными примерами сайтов.[COLOR=indigo]Особенно приветствуются сайты с несложными исходниками и статьями!!![/COLOR] .
По-моему, ты сам ответил на свой вопрос. Мне тоже кажется, что ObjectPascal легче в использовании. Пусть он имеет меньше возможностей, но, как мне кажется, многие программеры изучают языки от простого к сложному (так преподают в вузах). Соответственно, сначала изучается pascal, потом С/С++. При этом, начинающим программистам кажется очень сложным переход на С++ и они возвращаются к pascal'ю. К тому же, когда я учился (1996г), мы изучали среду Turbo Pascal, а чуть позже вместо него студентам стали давать Delphi. :)
А насчет WTL - ее ж надо с программой поставлять. Я в VS.NET 2003 при проектах MFC при выборе способа подключения выбираю использование стандартных библиотек Windows. Не приходится думать ни о версиях MFC - код компилируется гораздо компактней, примерно как при динамической линковке MFC, но переносится только сам экзешник. Я пишу на машине с Windows XP, проги потом на ура идут и под W2k, и под W98.
Ты видимо ничего не знаешь про WTL...
WTL - это чуть больше десятка заголовочных файлов (.h) с шаблонными оконными классами и всё...
Что же там с программой поставлять... :D
А MFC давно пора на свалку.
Ты видимо ничего не знаешь про WTL...
WTL - это чуть больше десятка заголовочных файлов (.h) с шаблонными оконными классами и всё...
Что же там с программой поставлять... :D
А MFC давно пора на свалку.
Согласен, с WTL я не работал, практически ничего не знаю. Поправь, если я не прав WTL - борландовская библиотека, что в билдере и Дельфи используется? я в билдере пару месяцев что-то писал, но он мне жутко не понравился.
Согласен, с WTL я не работал, практически ничего не знаю. Поправь, если я не прав WTL - борландовская библиотека, что в билдере и Дельфи используется? я в билдере пару месяцев что-то писал, но он мне жутко не понравился.
Ты путаешь VCL и WTL :D
WTL - наследница ATL, созданная активистами из MS.
Очень гибкая штука, основанная на шаблонных классах и множественном наследовании.
Короче, передовые технологии. Никаких объектных библиотек, вообще, не требуется. Все умещается в пятнадцати заголовочниках (никаких .cpp, .lib и т.п.)
http://rsdn.ru/summary/255.xml
ты не прав, на яндексе набери "исходники С++" тебе кучу ответов найдет.
отдельных классов на С++ ты можешь найти превиликое множество. Берешь готовый чей-нибудь класс, правишь его под себя и пользуешься в свое удовольствие. В англоязычных ресурсах можно найти и интересные проекты. Возьми хотя бы этот сайт. Для программирования игр - качай исходники квейка и копайся сколько влезет.
Я лично англоязычными ресурсами пользуюсь:
codeproject.com
codeguru.com
На яндексе находит одну лажу!!!:D
А откуда можно скачать исходники Квейка???
Спсибо за ссылки.
На яндексе находит одну лажу!!!:D
А откуда можно скачать исходники Квейка???
Спсибо за ссылки.
:D :D :D :D
Да уж... Для начала неплохо...
На яндексе находит одну лажу!!!:D
А откуда можно скачать исходники Квейка???
Спсибо за ссылки.
упс, раньше здесь, вроде, были исходника движка первого квейка...
а тебе какие исходники-то надо, у меня яндекс нашел:
http://virsoft.webzone.ru
http://www.sources.ru
...
а вообще, учи английский. В инете, в целом, имхо, гораздо больше исходников на С++.
еще одно преимущество С++ - программирование под Линуксом.
Я что-то пока не видел ни одного достойного приложения на Kylix.
Ты путаешь VCL и WTL :D
WTL - наследница ATL, созданная активистами из MS.
Очень гибкая штука, основанная на шаблонных классах и множественном наследовании.
Короче, передовые технологии. Никаких объектных библиотек, вообще, не требуется. Все умещается в пятнадцати заголовочниках (никаких .cpp, .lib и т.п.)
http://rsdn.ru/summary/255.xml
Слушай, ссылка на микрософтовский сайт, откуда мрна WTL скачать мертва, не подскажешь какие версии библиотеки сейчас актуальны и где бы их достать?
нашел кучу документации по WTL на codeguru.com - на эти выходные чтивом обеспечен. Однако хочется не только теории, но и практики.
упс, раньше здесь, вроде, были исходника движка первого квейка...
а тебе какие исходники-то надо, у меня яндекс нашел:
http://virsoft.webzone.ru
http://www.sources.ru
...
а вообще, учи английский. В инете, в целом, имхо, гораздо больше исходников на С++.
еще одно преимущество С++ - программирование под Линуксом.
Я что-то пока не видел ни одного достойного приложения на Kylix.
Английский знаю неплохо (особенно со словарем под рукой),приходится часто хелп читать.
А вообще, где можно скачать исходники более-менее серьезных игр (Quake1-3, half-life1-2, и т.д.), понимаю что выложены они будут нелегально, но может быть...:}
К сожалению, я не знаю других сайтов по С++ для начинающих.
А для продвинутых их полно. Перечислять?
Перечисли пожалуйста, может и для себя что-нибудь полезное найду.8)
Слушай, ссылка на микрософтовский сайт, откуда мрна WTL скачать мертва, не подскажешь какие версии библиотеки сейчас актуальны и где бы их достать?
нашел кучу документации по WTL на codeguru.com - на эти выходные чтивом обеспечен. Однако хочется не только теории, но и практики.
http://search.microsoft.com/search/results.aspx?st=b&na=88&View=en-us&qu=wtl
Еще две нужные ссылочки:
http://www.gnomedia.com/cw/wtl/wtldocs/main.htmlhttp://home.worldonline.dk/viksoe/all_wtl.htm
Я начинающий прграммист, знаю чуть-чуть и Delphi и C++( ),но для более глубокого изучения нужно определиться с языком!
Но все говорят разное, но какой язык перспективнее, у какого языка больше возможностей(вообще хочу заниматься написанием игр)? То что легче Delphi говорят и пишут почти все, но если выбирать по легкости то одназначно-Basic !!!:D
Для игр - однозначно Visual C++.
Но если C++ перспективнее, мощнее и удобнее, почуму же тогда в нашей стране больше по-моему используется Delphi (этот вывод я сделал исходя из количества сайтов, статей, особенно исходников в инете, если кто хочет поспорить с этим прошу с конкретными примерами сайтов.
codeproject.com
codeguru.com
rsdn.ru
А что может сравниться с MSDN? У Борланда что-то бодобное есть?
Те же игры. Берем DirectX. Для какого языка написана документация и примеры? А с Delphi потребуются переписанные третьими лицами заголовочные файлы, всегда будут какие-то ограничения по сравнению с полноценной реализацией от MS. С OpenGL, наверное, ситуация получше, но тоже не лучше, чем в VC++.
Тебе приходят на ум какие-нибудь игры с красивой 3D-графикой, написанные на Delphi?
Вообще IMHO сила Delphi - в библиотеке VCL (в основном классы для GUI) и в самой Delphi, т.е в ее IDE. Для написания игр ни то, ни другое не нужно --> мысленно убираем из Delphi IDE и VCL, что остается от Delphi? Ничего. А на WinAPI можно писать и в блокноте, а компилировать в командной строке.
Кстати, когда тебе ответили, что Delphi легче C++, ты в вопросе говорил, что собираешься писать игры?
C точки зрения языков программирования Object Pascal и C++ по возможностям приблизительно равномощны, хотя тут тоже есть свои нюансы. Например, в O. Pascal нет множественного наследования, а эту фичу очень удобно использовать в играх (например, для создания персонажей, монстров). Еще синтаксис в Pascal напыщенный, хотя это уже IMHO.
Вобщем, решать тебе.
PS Змейку можно писать и в Delphi.
PPS Кстати, кто-нибудь сравнивал компиляторы Delphi и C++ на предмет оптимизации кода и скорости выполнения программ?
PPS Кстати, кто-нибудь сравнивал компиляторы Delphi и C++ на предмет оптимизации кода и скорости выполнения программ?
При современном аппаратном обеспечении, сложности создаваемого программного обеспечения и высоком уровне развития компиляторов, IMHO сравнение данных параметров (уровень оптимизации) не имеют смысла, т.к. скорость работы программы в данное время зависит от выбранной архитектуры и применяемых алгоритмов. Более того в современных условиях бОльшую роль играет скорость разработки, в которой не последнее место занимает повторное использование кода и высокий уровень абстракции и инкапсуляции. Т.о. оптимизация переходит с уровня компиляторов на уровень ООП и ООА&Д.
На счет того, что С++ предоставляет более высокий уровень абстракции, чем ObjectPascal, надеюсь, никто спорить не будет? Даже самые отъявленные Делфийцы...
Допустим, если взять проект программы, которая по своей сути не потребует чего-либо кроме WinAPI, запрограммировать эту программу на VC++ и на Delphi аналогичными средствами языков, используя только WinAPI. Какая реализация будет быстее работать?
Давай говорить о ЯП, а не средствах разработки.
Если не использовать никаких библиотек-оберток над Win32API, если при разработке использовать одни и те же алгоритмы работы, то обе реализации будут работать одинаково быстро, т.к. время выполнения кода программы и соотв. различия в скорости значительно меньше (на порядки), чем отклик системы.
Ну хорошо, а если сравнить по скорости VCL и MFC
А оно тебе надо?
Никогда не сравнивал, да и зачем... Главное не скорость, как таковая.
Да и IMHO и то, и другое уже отжило свое.
Я агитирую за использование WTL, оно и гибче, и быстрее (если тебя это так беспокоит).
К тому же у меня сто раз бывало что изделия компании Borland меня подводили. А сколько программ написал на VC++ - все работало при использовании разнообразных возможностей.
В моих ОЧЕНЬ простеньких прграммках почему-то VC++ иногда подводит(прога компилиться, но не работает) в билдере тот же самый код работает(консольное приложение).:(
Я агитирую за использование WTL, оно и гибче, и быстрее (если тебя это так беспокоит).
а что насчет .NET?
а что насчет .NET?
Ну вроде бы говорили о врапперах Win32API, а .NET это совсем из другой области.
Я .NET в своей практике не использую, во всяком случае пока не использую, т.к. пока не вижу необходимости.
Основой .NET на сколько мне известно является единая (для различных ЯП) базовая система классов, как в Java (swing). Сл-но теряется гибкость разработки интерфейсов.
Как и в Java, как я понял, программа компилируется в промежуточный код, который "превращается" в объектный по мере необходимости и в зависимотси от платформы (это отличие от Java-машины), сл-но теряется скорость.
Основой .NET на сколько мне известно является единая (для различных ЯП) базовая система классов, как в Java (swing). Сл-но теряется гибкость разработки интерфейсов.
Как и в Java, как я понял, программа компилируется в промежуточный код, который "превращается" в объектный по мере необходимости и в зависимотси от платформы (это отличие от Java-машины), сл-но теряется скорость.
Для таких случаев в .NET есть кэш образов (Native Image Cache). Если для программы критична производительность, можно сгенерировать с пом. утилиты Ngen.exe образ сборки (из IL в машинный код). Потом этот образ помешается в кэш и выполняется, когда запускается программа.
На счет интерфейсов, в .NET существует 3 возможности. 1. MFC - IMHO чуть-чуть улучшили старую библиотеку и включили ее в .NET для программистов на C++. Наверное, для упрощения переноса старых программ на .NET 2. Windows Forms - новая библиотека для новых ЯП (С# и VB.NET). 3. Если 1 и 2 не подходит, GDI+ в руки - и делай, что хочешь, хотя я не совсем понимаю, о какой такой гибкости идет речь, если ни MFC, ни Windows Forms не подходит.
Чесно говоря, никогда не видел WTL и не знаю на что он похож, но что-то мало про него пишут, не особенно он распространен, к чему бы это...
Для таких случаев в .NET есть кэш образов (Native Image Cache). Если для программы критична производительность, можно сгенерировать с пом. утилиты Ngen.exe образ сборки (из IL в машинный код). Потом этот образ помешается в кэш и выполняется, когда запускается программа.
На счет интерфейсов, в .NET существует 3 возможности. 1. MFC - IMHO чуть-чуть улучшили старую библиотеку и включили ее в .NET для программистов на C++. Наверное, для упрощения переноса старых программ на .NET 2. Windows Forms - новая библиотека для новых ЯП (С# и VB.NET). 3. Если 1 и 2 не подходит, GDI+ в руки - и делай, что хочешь, хотя я не совсем понимаю, о какой такой гибкости идет речь, если ни MFC, ни Windows Forms не подходит.
Я еще раз повторюсь, что дела с .NET пока не имел в силу отсутствия необходимости.
Область, в которой я работаю, - защита и восстановление информации, а там нужны более конкретные вещи нежели универсальность .NET
Чесно говоря, никогда не видел WTL и не знаю на что он похож, но что-то мало про него пишут, не особенно он распространен, к чему бы это...
На RSDN WTL посвещен отдельный раздел и имеется свой форум, впрочем как и на codeguru.com и codeproject.com. Думаю, эти сайты тебе знакомы.
http://codeguru.com/atl/index.shtml
http://codeproject.com/wtl/
Да и google выдает не менее 152тыс. ссылок:
http://www.google.com.ru/search?q=wtl&ie=windows-1251&hl=ru&lr=
Так что "недостаточно распространен" - это неверное утверждение. Как и все новое и прогрессивное, оно не всеми сразу принимается. Да и концепция использования требует глубокого знания С++, намного большего чем для использования MFC или VCL.
Ну а на что похож... посмотри в статьях на RSDN