![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Тебе нужно перейти к алгоритмам - если сдюжишь - "Алгоритмы: Построение и Анализ", если не могешь - Седжвика "Фундаментальные алгоритмы на С++ часть 1-4".
А вообще на мой взгляд ты рано идешь туда, куда не надо. Ты сначала точно пойми, что синтаксис ты знаешь на нормальном уровне, а потом изучи идиомы языка. Знаешь что такое деструктивное копирование? Подсчет ссылок/указателей? Идиома Pimpl? Ну это, конечно, самая малость и самое простое. MFC ради практики ЯЗЫКА? Консоли вполне хватает для практики. Добавлено @ 16:12 Я по крайней мере не знаю когда я за тот же C# возьмусь ... Столько только по языку С++ еще надо прочитать и главное ОСМЫСЛИТЬ. Вот мой роудмэп (при чем здесь нет Рихтера и Эккеля): 1) Р.Лафоре - Объектно-ориентированное программирование в С++; 2) Бьерн Страуструп - Язык программирования С++; 3) Джеймс Коплиен – Программирование на С++; 4) Скот Майерс – Эффективное использование STL; 5) Герб Саттер, Андрей Александреску - Стандарты кодирования С++. 101 правило и рекомендация; 6) Герб Саттер – Решение сложных задач; 7) Герб Саттер – Новые сложные задачи; 8) Андрей Александреску – Современное проектирование С++; 9) Дэвид Вандевурд, Николай М. Джосаттис - Шаблоны C++: справочник разработчика 10) Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес - Приемы объектно-ориентированного проектирования. Паттерны проектирования А после языку самого про алгоритмы надо почитать ... и только потом, я может быть начну ковырять C# ![]() PS. Стыдоба - забыл вписать "Дизайн и Эволюция С++" Бьерна Страуструпа после которой С++ прочуешь нутром и поймешь ПУЧУМУ именно так ![]() Это сообщение отредактировал(а) Xenon - 11.6.2007, 16:20 |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Xenon, спасибо. В твоем сообщении просматриваются 2 главные идеи:
1. Сначала нужно почти идеально выучить язык (синтаксис, идиомы, переосмысление) 2. Заняться алгоритмами (возможно, параллельно изучению языка) По поводу первого. Думаю весь этот список несомненно толковых вещей читается чуть ли не на протяжении всей карьеры. ![]() Вот эта фраза
заставила задуматься. Скорее не столько ради практики языка, сколько для изучения и практики программирования под Windows. Начну, наверное, всетаки с обзора WinAPI и программирования под Windows в общих чертах. Это сообщение отредактировал(а) S.A.G. - 7.10.2007, 02:39 -------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Ln78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
S.A.G., на мой вкус, самая хорошая книга по программированию под Windows для начала (из тех, что я прочитал), это Петзолд, "Программирование для Windows 95". Там примеры все вообще на чистом C, но для начального изучения эта книга мне очень понравилась (правда, я сам шёл куда более извилистым путём, прочитал её далеко не сразу).
Xenon, мне кажется, твоя точка зрения излишне категорична. Разве так уж необходимо знать всё перечисленное тобой, чтобы только после этого учиться нарисовать линию или создать и обработать простой диалог? Имхо, часто последние умения на практике гораздо чаще востребованы, а все тонкости с какими-то алгоритмами не всегда могут пригодиться |
|||
|
||||
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Ln78, должна сначала быть база, при чем база такая, основательная и непоколебимая. А навороты в виде графически библиотек - это уже дальше и человек же не будет "рисовать линию и обрабатывать простой диалог", а пойдет дальше, закрывая глаза на то, что он по сути простых идиом языка не знает.
Практика нужна - ну так и практикуй те мысли, что вычитаешь из книг. А потом уже иди вверх, в GUI, когда уже основы языка будешь знать достойно. В противном случае ты будешь очередным "кидателем контролов на формы" Это сообщение отредактировал(а) Xenon - 11.6.2007, 18:22 |
|||
|
||||
Ln78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
Xenon, база без практики не всегда так уж на ура воспринимается. Например, для меня ООП стало бальзамом на душу после того, как был опыт в создании достаточно сложных приложений. Правда, в них как раз графический интерфейс был по моему мнению далеко не самым главным. Однако, коллегами по работе, которые видели новые и старые програмы, но программистами не были, именно графический интерфейс под Windows и был самым значительным отличием. В общем, в жизни всё так перемешано, не всегда укладывается в шаблоны
![]() |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Ln78, согласен. Нет смысла учить тонкости ООП без понимания их приемуществ. Понимание приходит с практикой, а чтение философии C++ - на любителя или умудренного опытом специалиста.
![]() -------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Просто если ты не почитаешь такую литературу ты и не будешь об этом знать вовсе. Если бы я не знал что такое пресловутая идиома Pimpl я бы и без нее обходился, но обход этот давался мне бы проигрышем в красивости кода и другими косяками. А так я почитал, знаю что это есть и где это применить. А если я не читал - откуда я узнаю? Как с практикой ко мне придет знание идиомы? Свалится само на голову? Это вещи из серии must read & must have.
S.A.G., без понимания? А ты понимай. В книгах сразу указывается на то, каково будет преимущество и чем ты пожертвуешь в противном случае. Все преимущества можно оценить, просто нужно думать - понимать и думать. Я думаю старожилы форуму примерно так и начинали свой путь - книги, книги, книги, практика, практика, практика и все изначально по основам, а потом уже к вершинам. |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Ладно, но мы тут не спорим.
![]() Это сообщение отредактировал(а) S.A.G. - 7.10.2007, 02:24 -------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 7 Всего: 18 |
А если говорить именно про гуи под виндовс то я считаю что однозначно следует начать с АПИ, а потом браться за либы типа MFC. Т.к. не все фичи апишные обернуты в классы, а иногда это (использование апи) и просто напросто удобнее.
-------------------- Подпись больше не нужна |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Green, хорошее замечание. Но насколько глубоким должно быть ознакомление с WinAPI? Ведь на нем чистом мало кто пишет или я неправ?
-------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Xenon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
S.A.G., чтобы лучше понять как работает оболочка, нужно знать как работает начинка. К тому же такое расслабление - выучив WinApi более-менее все становится таким легким
![]() |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Согласен. ![]() ![]() Это сообщение отредактировал(а) S.A.G. - 11.6.2007, 20:29 -------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Ln78 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: 13 Всего: 15 |
Не понял, а зачем тогда вообще спрашиваешь? У тебя в голове уже есть желаемый ответ, и ты хочешь получить здесь его подтверждение? Что-то типа того, что достаточно в билдере уметь на форму помещать контролы и писать обработчики для их событий? Я хоть и не настолько строг, как Xenon, но не до такой же степени, чтобы одобрить такой вариант ответа, вроде все здесь отписавшиеся по программированию под Windows высказались, что лучше начинать именно с изучения API, если, конечно, хочешь хоть немного представлять, как оно работает. |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Не зря же я взял слово "учить" в кавычки. Но, очевидно, нужно было взять вдвое, так как меня непоняли, и, скорее всего, непоняли бы в любом случае. Потому, что человек руководствуется мимолетной мыслью и уверен в ней. Конечно, когда человек спрашивает он к чему-то склоняется больше, к чему-то меньше и это, помоему, нормально. Мне кажется, под термином "учить" сдесь стоит понимать детальное ознакомление, а не зазубривание имен и назначения каждой функции с параметрами и возвращаемым результатом. Может достаточно будет ознакомиться с общей архитектурой, ясно представить ее? Или все-таки желательно написать сколь-нибудь серьезный проект на WinAPI? Это сообщение отредактировал(а) S.A.G. - 7.10.2007, 02:30 -------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
а как ты этого добьешься без практики? Я лично считаю, что прочитать книгу по теме, и написать по этой же теме программу - разные вещи. Сколько раз было - пока читаешь все кажется просто и удобно, а как попытаешься чего-нибудь реализовать - всплывает куча подводных камней. И вообще, зачем столько разговоров? Попробуй что-нибудь написать, сразу и ощутишь, сложно это или просто, и насколько глубоко копать надо. Удачи! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |