用C / C ++编写数据库软件

时间:2011-12-23 04:31:31

标签: c++ c database software-design

我几年来一直是一名自学成才的Web开发人员,通常使用C#/ ASP.NET,Python和PHP。但是我想通过做一些更先进的事情来提高我的技能。我希望尝试构建一个像SQLite这样的数据库程序,或者只是为了练习和学习新东西而在C / C ++中构建一个迷你MySQL类的程序。

修改 的   我的项目不一定是RDBMS。它可以是简单的Web服务器之类的东西。如果我喜欢做比Web开发更多的事情,那就好好看看。

然而,我似乎无法找到任何类型的在线教书或教程来教授这类事情。有谁知道我在哪里可以找到有关此的资源?我有一本教授语言本身的C书,但是当我尝试构建像数据库引擎等特定的东西时,我学会了如何更好地思考问题。感谢任何输入。

5 个答案:

答案 0 :(得分:6)

对于文献,我可以推荐像Accelerated C ++或Thinking in C ++。我最近也完成了Code Complete,在工作的架子上找到了它,它和人们说的一样好。坚实的语言不可知的建议。

另外你应该将C和C ++分开,它们可能看起来很相似,而且人们将它们聚集在一起,但它实际上是两种不同的思维方式。现在新的C ++ 11使得差异变得更加重要,C ++就不是C类了。

答案 1 :(得分:5)

为什么不尝试像光线追踪器一样小的东西?编写一个可以产生一些漂亮图像的简单图像是非常容易实现的,而且它可以一次又一次地回来添加功能。

答案 2 :(得分:5)

你可以阅读Zed Shaw的书Learn C the Hard Way。他教你如何使用MakeValgrind来编写C语言。以后的练习可以编写自己的软件包安装程序和一个小型Web服务器。最重要的是,它是免费的。

答案 3 :(得分:1)

为此资源添加书签http://nptel.iitm.ac.in/courses.php?disciplineId=106

对于从算法,dbms,图形到实时系统的所有内容的深入了解,这通常是一个伟大/大规模的起点。完整的视频课程/讲座或书面课程材料。一个扩展知识或获取想法的地方。

例如,您可以查看有关dbms开发的视频讲座 - > http://nptel.iitm.ac.in/video.php?subjectId=106106093

......或者为什么不是关于人工智能的呢?> http://nptel.iitm.ac.in/video.php?subjectId=106105077

没有c / c ++示例,但他们深入研究了每个部分,模式,策略和算法。

......唯一令人伤心的是,大多数教授用非常糟糕的英语说话。

答案 4 :(得分:0)

在@MitchWheat之后说,即使写一些类似SQLite的东西也非常雄心勃勃,我选择尝试做一个小型的Web服务器而找到this post,其中包含了一些链接。感谢您的投入。