C语法学完了,数据结构也写得差不多了,该怎么继续下去?
阅读PostgreSQL源代码
好奇问一下您是从哪个部分开始读的?
这么玩是不是太大了?
没懂您的意思
或许可以考虑写个C标准库,我是认真的。我现在去看看你推荐的这本书是什么样的
我擦,是英文版啊,对我来说难度太大
不要搞浮夸风啊。
先实现简单的 HTTP服务器(支持 GET/POST/CGI),然后用浏览器访问,里面有个CGI留言板。 一开始可以先用第三方的库,如libevent,libuv等
看以后有用没用,没用的话,下一步就是学着忘掉它
这个问题知乎上也问过好几次了。我的回答是找给开源项目贡献代码。简单的如Universal Ctags.复杂的如Linux kernel, Emacs …
不错不错,紫薯布丁
用c写点自己想写的东西怎么样?毕竟只有实践才能真正塑造一个人嘛,而且又能学到东西又实现了理想,多好ww
我学编程就只是因为有想写的东西,如果不是想实现一个中文高亮,恐怕我现在还不会lisp呢 虽然我一个文科小菜菜的经验也不足为凭吧2333
楼上说的cgi留言板就很好玩的样子,有时间我一定要去写一个,顺便拯救一下我妙笔生bug的C
文件部分 /postgresql/src/backend/storage
PostgreSQL 最有价值的讨论全部在邮件列表.
这是我的亲身体会.
阅读那些大师的讨论是一种非常舒适的享受.
还可以往编译器的方向探探路~这时就能发现编译器是如何利用C标准中的UB进行代码优化的
摘取今天看到的讨论:
If you want to make a go at this I would suggest not writing any new code at first but instead take inventory of what is already implemented, how it is implemented, what gaps there are, and proposals to fill those gaps.
Write the theory/rules that we follow in our existing (or future) implementation of this idempotence feature. Then get agreement to implement the proposals from enough important people that a well-written patch would be considered acceptable to commit.
I don’t know if any amount of planning and presentation will convince everyone this is a good idea in theory, let alone one that we want to maintain while the author goes off to other projects (this being your first patch that seems like a reasonable assumption).
如果你想要在这一邻域作出成就,最好的办法并不是立刻提供全新的代码.而是积极参与到正在发生的改变之中,在你真正领悟到每一个改变的内在含义之后,你才能了解到项目真正所需要的(补丁),并可以真正意义上的填补它的不足.
在这个基础之上,积极汲取社区的智慧,遵循着社区高手的指导,认真修补自己的不足,最后往往就能够编写出项目所需要的优良补丁,并让社区意识到其重要性,从而加速(补丁的贡献得到承认)的进程.
虽然我并不清楚在缺乏任何有效计划与证据的情况下,有多少人认为这是一个良好的主意(在理论上),但是.如果我们就这么置之不理,那我们无疑就是在驱逐这些贡献者们到其他的开源项目去,
因为这是你的第一个补丁,所以我认为这是一个合理的假定.
上述文本节选自于今天的一则讨论
PostgreSQL 是我目前找到的最好的研究项目
无所不包,无所不有.
无论是编译原理,还是密码学,都可以在里面找到智慧.
最重要的,是PG那个社区(mailing list)的讨论氛围,是我目前见过的,最优秀的社区,没有之一