Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Здравствуйте, Sni4ok, Вы писали:
S>посмотри исходники буста S>www.boost.org
Ну буст это не то что надо. Буст набор мелких библиотек, а мне хочется посмотреть на большую систему, притом грамотно написаную. От крупной компьютерной игры до каких нибудь сервисов. Интересует всё, я хочу посмотреть не просто стиль кодирования а разобраться в архитектуре. И хотелось бы видеть именно С++ исходники, без никакого С.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Sni4ok, Вы писали:
S>>посмотри исходники буста S>>www.boost.org
А>Ну буст это не то что надо. Буст набор мелких библиотек, а мне хочется посмотреть на большую систему, притом грамотно написаную. От крупной компьютерной игры до каких нибудь сервисов.
boost это слишком жестоко для изучения новичками С++. Он скорее подходит для искушенных С++ программистов.
Firefox и OpenOffice — это скорее сборники технологий, чем примеры приложения для С++. Они слишком большие что бы изучать только ЯП.
Здравствуйте, Аноним, Вы писали:
А>Ну буст это не то что надо. Буст набор мелких библиотек, а мне хочется посмотреть на большую систему, притом грамотно написаную. От крупной компьютерной игры до каких нибудь сервисов. Интересует всё, я хочу посмотреть не просто стиль кодирования а разобраться в архитектуре. И хотелось бы видеть именно С++ исходники, без никакого С.
Если полазить в инете, то можно найти исходники HalfLife2.. Там есть и работа графикой, gui, работа с файлами и т.п.
offtopic: Интересно, что исходники Firefox — это некий антипод Boost в плане кода. В Файрфокс, вроде бы избегают создавать код, который может быть не портабелен... смотреть здесь
В Бусте же не все и везде работает... там цель другая... чтобы работало и _выглядело_ как хочет разработчик, загибая код немыслемым образом... В этом плане в Бусте надо хорошо курить мануалы... )
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Есть открытые игровые движки, например Ogre3D, Irrlicht.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Sni4ok, Вы писали:
S>>посмотри исходники буста S>>www.boost.org
А>Ну буст это не то что надо. Буст набор мелких библиотек, а мне хочется посмотреть на большую систему, притом грамотно написаную. От крупной компьютерной игры до каких нибудь сервисов. Интересует всё, я хочу посмотреть не просто стиль кодирования а разобраться в архитектуре. И хотелось бы видеть именно С++ исходники, без никакого С.
Shared Source CLI. Стилю кодирования я бы не советовал подражать. А на архитектуру посмотреть можно.
Re: Исходники С++
От:
Аноним
Дата:
09.03.08 10:40
Оценка:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Исходники исходникам рознь.
Исходники игр — одно. прложений — другое. Исходники Unix/Linux систем, где превалирует C над C++ — третье.
Абсолютно поддержу двух людей которые здесь высказались до меня.
Смотрите исходники Emule (MFC — много компонентов с CodeProject) и да, нелегельные исходники hl2src
HL2 src может служить примером организации огромного проектища.
Внутри — около 7 тысяч файлов.
К OpenSource "движкам" и некоторым либам, имеющим отношение к Game Development я бы советовал относится весьма настороженно. Пишут их, скажу я вам, весьма молодые особи =) И иногда встречается архитектурная глупость откровенная и халтура. Звезд уж точно не хватают.
Здравствуйте, Sni4ok, Вы писали:
S>посмотри исходники буста S>www.boost.org
Boost не стоит изучать потому, что это, во-первых, библиотека(и), а это не интересно, и во-вторых, они должны поддерживать много антикварных компиляторов, поэтому у них куча #ifdef и всяких workarounds.
А>offtopic: Интересно, что исходники Firefox — это некий антипод Boost в плане кода. В Файрфокс, вроде бы избегают создавать код, который может быть не портабелен... смотреть здесь
Однако, называть фичи языка стандарта 1998 относително новыми — это конечно жестко.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Возьмите исходники Qt. Скачаете сорцы, содержащие "src". Прекрасная библиотека с очень грамотным дизайном.
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, Аноним, Вы писали:
А>>HL2 src может служить примером организации огромного проектища. А>>Внутри — около 7 тысяч файлов.
AJD>7 тысяч файлов исходников — это скорее среднего размера проект
В том же бусте 10141 исходник. (Trunk двухнедельной давности).
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Sni4ok, Вы писали:
S>>посмотри исходники буста S>>www.boost.org
RO>Boost не стоит изучать потому, что это, во-первых, библиотека(и), а это не интересно, и во-вторых, они должны поддерживать много антикварных компиляторов, поэтому у них куча #ifdef и всяких workarounds.
Boost стоит изучать. В последние несколько лет я только от туда и узнаю новые вещи о программировании на C++. Причем не в смыле "используй эту библиотеку и будет тебе счастье", а больше в "а как мне сделать свой класс по возможностям похожий на ... только другой".
Re: Исходники С++
От:
Аноним
Дата:
13.03.08 05:23
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Посмотри на исходники QT (www.trolltech.com). Это хоть и библиотека, но у неё по настоящему классный дизайн и документация[чтобы понять зачем эта ф-ция нужна]. Кнопки buy now не должны пугать, так как там есть бесплатная open source версия которая те и нужна.
Можешь ещё зайти на ftp.idsoftware.com, там когда-то валялись исходники первых кваг(на си, но всё равно полезно).
Здравствуйте, alexeiz, Вы писали:
RO>>Boost не стоит изучать потому, что это, во-первых, библиотека(и), а это не интересно, и во-вторых, они должны поддерживать много антикварных компиляторов, поэтому у них куча #ifdef и всяких workarounds.
A>Boost стоит изучать. В последние несколько лет я только от туда и узнаю новые вещи о программировании на C++. Причем не в смыле "используй эту библиотеку и будет тебе счастье", а больше в "а как мне сделать свой класс по возможностям похожий на ... только другой".
Что-то в этом, конечно, есть, но всё равно там за деревьями из #ifdef сложно увидеть лес. Уж точно не для начинающего.
Здравствуйте, поменяй ник на что-нибудь более пристойное, Вы писали:
А>>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания :) I>Возьмите исходники Qt. Скачаете сорцы, содержащие "src". Прекрасная библиотека с очень грамотным дизайном.
Хорошая библиотека с ужасным дизайном. Один moc чего стоит. И исключений нет.
Они решили, что поддержка антикварных компиляторов и экзотических платформ важнее всего остального. Хотя, насколько я знаю, в 4-м GCC исключения хорошо работают даже на ARM, где они испокон веков невыносимо тормозили. Или я ошибаюсь?
До последнего не верил в пирамиду Лебедева.
Re[5]: Исходники С++
От:
Аноним
Дата:
21.03.09 16:30
Оценка:
Здравствуйте, AndrewJD, Вы писали:
AJD>Здравствуйте, Аноним, Вы писали:
А>>offtopic: Интересно, что исходники Firefox — это некий антипод Boost в плане кода. В Файрфокс, вроде бы избегают создавать код, который может быть не портабелен... смотреть здесь
AJD>Однако, называть фичи языка стандарта 1998 относително новыми — это конечно жестко.
лоррпопропронгопропоп
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
вообще выбирайте лучше исходники по интересующей области, наверняка в ней найдутся крупные проекты, и возможно даже грамотно написанные
если вас интересует например как современный браузер работает, в отношении рендера контента и исполнения javascript'а, посмотрите на webkit, достаточно прозрачный грамотный код, проекты под разные среды разработки (в т.ч. и под msvc2005 afair), проект большой, качественный, спроектирован под несколько платформ, в общем довольно интересно наблюдать (лучше с помощью отладчика) например как html код преобразуется в конечном итоге в картинку на екране.
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Коллега Google Chrome пытался читать, но разработчики вносят изменения быстрее чем он успевает читать
Я вообще не вижу большой пользы в чтении чужого кода больших опенсорсных проектов. "Математику нельзя изучать, наблюдая, как это делает сосед". Кодинг — это не математика, конечно, но всё равно применимо.
Здравствуйте, Alexander G, Вы писали:
AG>Я вообще не вижу большой пользы в чтении чужого кода больших опенсорсных проектов.
Ну например я противоположенного мнения
"Математику нельзя изучать, наблюдая, как это делает сосед".
Даже если кодинг ето математика, ето всё равно не применимо, потому что "просто наблюдать" не пытаясь понять как ето работает действительно толку мало, речь же не о механическом чтении а-ля "вот я прочитал мегабайт исходников, а вчера прочитал мегабайт хекскода", а о понимании того как работает тот или иной функционал и как он выражен в виде исходного кода, а это имхо, очень полезно.
Здравствуйте, Хвост, Вы писали:
Х>о понимании того как работает тот или иной функционал и как он выражен в виде исходного кода, а это имхо, очень полезно.
Понимание гораздо лучше, когда поддерживаешь этот код, и сам беспокоишься за его качество. Для этого лучше подходит свой рабочий код.
Может лучше учиться на чужих ошибках, чем на своих, но видишь ли ты чужие ошибки, если просто изцчаешь код ?
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Недавно попались на глаза исходники rtorrent (http://libtorrent.rakshasa.no/). Хороший, добротно написанный, "современный" С++ код. Именно С++, а не С с классами. Приятно читать. Рекомендую.
AG>Я вообще не вижу большой пользы в чтении чужого кода больших опенсорсных проектов. "Математику нельзя изучать, наблюдая, как это делает сосед". Кодинг — это не математика, конечно, но всё равно применимо.
Не согласен.
Чтение чужих исходников, особенно больших проектов — не просто полезное занятие, а очень полезное: развивает мозг, расширяет кругозор и позволяет взглянуть на свой подход к кодированию в другом ракурсе.
Иногда находишь в чужом коде такие вещи, что тебя как-будто осеняет: ого, а как же я раньше не додумался, что так можно делать?!
Особенно полезно полностью разобраться в архитектуре и алгоритмах большого проекта, а не просто просмотреть отдельные фрагменты кода.
Здравствуйте, Alexander G, Вы писали:
AG>Понимание гораздо лучше, когда поддерживаешь этот код, и сам беспокоишься за его качество. Для этого лучше подходит свой рабочий код.
верно, лучший способ для "разбираться" в чужом опенсорсе ето значит сделать его своим "рабочим", например попробовать добавить какую-нибудь функциональность, или применить часть функиональности в своём проекте, ето потребует достаточно глубокого анализа кода, и понимания как работает то или иное, и если область уже знакомая, тогда, как уже было замечено, часто возникают мысли "во, интересно, а я всю жизнь вот так делал, а можно оказывается и так и эдак", а если незнакомая — то просто интересно узнать как ето работает, насчёт ошибок — опечаткоподобных не припоминаю, а так называемые "ошибки дизайна" попадаются на каждом шагу, особенно в первое время работы с кодом , потом приходит понимание что большенство етих "ошибок" ето совсем даже не ошибки, а очень правильный подход. Но возможно причиной того, что я так мало реальных ошибок встречаю связано с тем что я в основном смотрю качественный опенсорс который разрабатывают профессионалы с налаженным процессом разработки и код етот находится в продакшне на десктопах.
Здравствуйте, alexeiz, Вы писали:
A>Здравствуйте, Аноним, Вы писали:
А>>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
A>Недавно попались на глаза исходники rtorrent (http://libtorrent.rakshasa.no/). Хороший, добротно написанный, "современный" С++ код. Именно С++, а не С с классами. Приятно читать. Рекомендую.
открыл их стд библиотечку — не впечатлила. trim например 2 раза копирует строку всегда. Функторы рассчитаны на "большие функции", какой нибудь a+b туда передавать будет накладно.
Это так — первые впечатления от любопытства. Внутрь еще не заглядывал
зы ну и что что тема старая — конструктивный ответ интересно обсудить
Здравствуйте, Аноним, Вы писали:
А>Хотелось бы почитать современных хороших исходников на С++ с целью изучения. Нужны большие грамотно написанные проекты, как пример для подражания
Ладно, раз уж эту мертвечину вытащили...
Вот вам мягких французких булочек.