![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
Привет всем!
Посоветуйте пожалуйста литературу (ссылки в инете) для программиста, желающего соскочить с иглы Clippera на С++. Имеется в виду как описание самого языка, так и описание новых технологий. (COM, ActivX и т д.). Планируется разработка (перенесение с Clipper) бухгалтерского софта, работа с СУБД, разработка пользовательских интерфейсов. И второй вопрос: Существует ли в С++ средство (библиотеки, технологии), позволяющие строить программу таким образом, чтобы при изменении базовой СУБД не приходилось переделывать код, отвечающий за взаимодействие с СУБД. Извините, если эти вопросы уже встречались в форуме |
|||
|
||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 1 Всего: 62 |
http://firststeps.ru/ здесь хоть и не книги, но уроки по MS Visual C++ и Borland C++ Builder.
http://www.helloworld.ru - а здесь с книжками. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Основы Visual C++, Круглинского, сама книга по техналогиям, но в приложении есть описания языка.
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
Спасибо за информацию по первому вопросу. А как насчет второго вопроса?
|
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
В С++ возможно все (как и в других нормальных языках программирования). Все зависит от того, что вы умеете. -------------------- Волны гасят ветер... |
|||
|
||||
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
В С++ возможно все (как и в других нормальных языках программирования). Все зависит от того, что вы умеете. Ответ слишком общий. Опыт программировния имеется, но на других языках (20лет) как и готовность изучать новое Но предвидя, возможные проблемы по сопровождению программ и их перенастройки под другие СУБД, хотелось бы изначатьно выбрать правильную методологию их построения. |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Хорошо, скажем так - в С++ нет никакой поддержки баз данных(имеется в виду стандартные библиотеки). Это просто язык программирования. Работа с базами данных производиться при помощи сторонних технологий предоставляющий некий API. Для виндос - это чаще всего динамические библиотеки, работающие непосредственно со "внутринностями" базы данных и они предоставляют(экспортируют) набор функций, которые пользователь может и использовать. Эти библиотеки часто называют драйверами СУБД. Есстественно, в реальном мире никто непосредственно на таком низком уровне не работает - пишутся специальные высокоуровневые библиотеки уже на конктретном языке (т.е. в нашем случае С++). Однако в наше время существуют технологии стандартизирующие интерфейс для работы с СУБД. Одна из самых первых популярных - это ODBC. Производители СУБД писали драйвера под ODBC, а разные умные люди писали библиотеки (т.е. набор классов и функций на том же С++) для работы с ODBC. В стандартной библиотеки Visual Studio вы найдете такие классы как CDatabase, CRecordset и др. - это как раз классы для работы с ODBC. Теперь, с развитием ActiveX, выходит на первый план OLE DB и ADO (ActiveX Data Objects) как способ работы с ним. ADO - это тоже динамические библиотеки(dll), но содержащий не просто экспортируемые функции, а набор ActiveX компонентов. Теперь продвинутые производители СУБД пишут драйвера под OLE DB, а разные умные люди пишут библиотеки для работы с ADO. Правда, для Visual Studio я не видел никаких таких библиотек - видимо считается, что достадочно самих компонентов ADO и с ними надо работать как с обыкновенными ActiveX. Однако если вы выберете Inprise C++ Builder - то в нем существует набор компонентов оборачивающих ADO.
Надо отметить, что Microsoft так же предлагает DAO (Data Access Objects) - это вещь тоже появилась сравнительно давно, и представляет из себя так же набор ActiveX, но служит в который уже за hardcoded работа с некоторыми CУБД. То есть это не открытый стандарт - что микрософт туда записало, с тем только можно и работать. В Visual Studio существуют классы CDaoDatabase, CDaoRecordset и др. для работы с DAO. Надо сказать, что Microsoft активно реккомендует переходить с DAO на ADO, однако DAO пока до сих пор самое быстрое средство для работы с Excel документами. Что касается надвигающегося .NET, то об этом я говорить не буду, однако там сделан существенный шаг в обеспечении удобной работы с ADO. Все на .NET и ADO, господа! ![]() -------------------- Волны гасят ветер... |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Да как раз по этому вопросу - это и есть любая технология стандартнизируящая интерфейс работы с CУБД. Первая была ODBC - однако она довольно ограниченна и не столь эффективна по сравнению с cегодняшним ADO. Так что ADO, если, конечно, целевая CУБД предоставляет драйвер. Но к С++ это не имеет ровным счетом никакого отношения. -------------------- Волны гасят ветер... |
|||
|
||||
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
Спасибо за развернутый ответ
|
|||
|
||||
Ramstar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 7.12.2002 Репутация: нет Всего: 1 |
Попробуй кинигу Г.Шилда С++
не так чтобы очень хоршо описан сам язык как концепция объектно ориентированногго программированя также хоршо расммотрены ттеория шаюлонов и работа с контейнирами ну заодно классы некоторые интересны расмотрены |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Если по С++, то вначале лучше обычную книжку для начинающих, чтобы разобраться в синтаксисе и конструкциях, а потом брать:
Б. Страуструп "Язык программирования С++" 3-е издание - лучшего я ничего не видел. А потом уж можно и другие типа: - Г. Буч "Объектно-ориентированный анализ ...(что-то еще - длинное название)", - Мэйрес "Эффективное использование С++" (и еще один том с похожим названием), - мне очень нравиться Джефф Элджер "С++: Библиотека программиста"(в оригинале "C++ for Real Programmers") - говорят Coplien "Advanced C++ Programming Styles and Idioms" очень хорошая вещь. -------------------- Волны гасят ветер... |
|||
|
||||
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
Еще раз, спасибо за инфу. Что касается Страуструпа то у меня есть в электонном и бумажном виде 2 издание а третьего я нигде в инете не нашел. А насколько она отличается от 2-го и если сильно, то где ее можно найти в эл. виде? |
|||
|
||||
Fantasist |
|
|||
![]() Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Страуструп написал в предисловии, что он решил полностью переписать второе издание, ибо иначе никак нельзя было отразить современные возможности и идиомы языка. "80% материала добавлено по сравнению со вторым".
В электроном виде не знаю, не люблю я читать электронные книги (статьи еще можно). Она у меня в бумажном варианте, чему я очень рад. -------------------- Волны гасят ветер... |
|||
|
||||
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
Понял. Бум искать
![]() |
|||
|
||||
alexmar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.12.2002 Репутация: нет Всего: нет |
Вдогонку к предыдущему. Нашел в каталогах 2 книги Страуструпа
1. Язык программирования С++. 3-изд. 2000 Страуструп 60.00 / 21511 ДАКОР 2. Язык программирования C++.Специальное издание 2001 Б.Страуструп 85.30 1099/п 31564 АЛЕРТА Что во второй добавлено по сравнению с первой? ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |