2011-12-23 3 views
4

Я уже несколько лет являюсь веб-разработчиком на основе самообучения и обычно использую C#/ASP.NET, Python и PHP. Но я хочу попытаться продвинуть свои навыки, сделав что-то более продвинутое. Я ищу, чтобы попытаться создать программу базы данных, такую ​​как SQLite, или мини-MySQL в C/C++, чтобы просто практиковать и изучать новые вещи.Написание программного обеспечения для баз данных на C/C++

EDIT: Мой проект не должен быть RDBMS. Это может быть что-то вроде простого веб-сервера или чего-то еще. Просто что-то, чтобы увидеть, нравится ли мне делать такие вещи больше, чем веб-разработки.

Однако я не могу найти какую-либо книгу или учебники онлайн, которая учит такого рода вещи. Кто-нибудь знает, где я могу найти ресурсы по этому поводу? У меня есть книга на C, которая учит сам язык, но я узнаю, как много думать о вещах, когда я пытаюсь создать что-то конкретное, как механизм базы данных и т. Д. Спасибо за любой вклад.

+2

Этот вопрос не очень ясен. Вы ищете книгу СУБД? Если вы ищете детали реализации, исходный код для SQLite доступен на странице [download] (http://www.sqlite.org/download.html). – styfle

+2

«Я пытаюсь создать программу базы данных, такую ​​как SQLite» - вы хотите спроектировать и построить RDBMS? Для практики программирования? Предложите вам выбрать что-то менее амбициозное –

+1

Ну, я получил источник как для MySQL, так и для SQLite. Но смотрел на то, что учит, ЧТО, делая определенные вещи, определенные способы были лучше для производительности, модульности, аспектов переносимости для этого типа программы, чем другие типы и т. Д., Или как подход к различным аспектам определенным способом для достижения определенных критериев. – vol4life27

ответ

6

Для литературы я мог бы рекомендовать что-то вроде ускоренного C++ или мышления на C++. Я также недавно получил свои права на Code Complete, нашел его на полке на работе, и он так же хорош, как говорят люди. Агностический совет на твердом языке.

Также вы должны отделить C и C++, они могут казаться похожими, и люди объединяют их вместе, но это действительно два разных способа мышления. Теперь новый C++ 11 делает различия еще более важными для понимания, C++ - это просто не C с классами.

+0

+1 для кода завершен. Это, как говорится, больше из книги «учиться быть лучшим программистом», а не «учиться С», которую, похоже, ищет Кори. Также +1 для разделения C и C++. –

+0

О, я определенно знаю разницу. LOL Я просто имел в виду, возможно, как для создания проекта. Но спасибо за вклад. Я определенно рассмотрю пункты, на которые ссылаются. О, и @TaylorPrice, я действительно больше искал тип книги «научиться думать, как лучший программист». У меня есть книги на C и C++. Мне нужно больше узнать о том, как вы должны думать о том, какой проект можно использовать, если вы знаете больше о том, что можете перечислить. Благодаря! – vol4life27

+0

Мое понимание. Code Complete - отличная книга! Моя старая компания заставила каждого нового разработчика прочитать его в течение первого года. –

0

Ну после @MitchWheat сказал, что даже писать что-то вроде SQLite было довольно амбициозным, я решил попробовать сделать небольшой веб-сервер и нашел this post, который включал несколько ссылок для этого. Спасибо за ввод.

5

Почему бы вам не попробовать что-то немного меньшее, как лучей? Его очень легко написать простой, который может создавать приятные изображения, и что-то, что вы можете снова и снова возвращать, чтобы добавить функции.

+0

Возможно, это не то, что имел в виду ОП, но мне нравится идея +1. –

5

Вы можете прочитать книгу Learn C the Hard Way от Zed Shaw. Он учит, как писать C, используя Make и Valgrind. В последующих упражнениях вы пишете собственный установщик программного обеспечения и крошечный веб-сервер. Лучше всего, это бесплатно.

1

Закладка этот ресурс, http://nptel.iitm.ac.in/courses.php?disciplineId=106

Это часто большая/массивная точка старта для углубленного знания обо всем, от алгоритмов, СУБД, графики для систем реального времени. Полное видеокурсы/лекции или письменные материалы курса. Место для расширения знаний или получения идей.

Например, вы можете проверить видео лекции о развитии DBMS ->http://nptel.iitm.ac.in/video.php?subjectId=106106093

... Или почему бы не этот об искусственном интеллекте ->http://nptel.iitm.ac.in/video.php?subjectId=106105077

Нет C/C++ примеры, но они детализировать каждой части, шаблонов, стратегии и алгоритмов.

... Единственное печальное то, что большинство профессоров говорят на самом деле плохой английский.

 Смежные вопросы

  • Нет связанных вопросов^_^