如何进一步推动程序员?

MaX*_*aXX 16 c

最后,嗯,6个月我一直在阅读C语言编程,我得到了自己的K&Rv2,BEEJ的套接字指南,专家C编程,Linux系统编程,ISO/IEC 9899:1999规范(真实,而不是草案) .从亚马逊收到它们之后,我安装了Linux,并且完成了它.

我已经完成了K&R,大约是专家C编程的一半,但作为一名程序员仍然感到很虚弱,我确信需要超过6个月的阅读才能真正熟练,但我的问题是:

我已经完成了K&Rv2(第1章)中的所有练习以及其他章节中的一些练习,其中大多数练习一般都很无聊.我如何提升自己的技能,变得真正伟大?我为我真正想要的东西投入了金钱,时间和一般生活方式,但我不确定如何实现它.

有人可以向我解释一下,也许我需要不断编码,我究竟要编码什么?我很确定,编写hello world程序并不会教会我任何事情.

我的一个朋友每天说"阅读"(重点是阅读)一个人工页面,但我只想读书,我想做,但我不确定是什么!我对安全性感兴趣,但我不确定作为一个新手应该考虑的代码.

啊,我希望你不要删除这个问题:)

谢谢

Jus*_*ier 18

真正帮助你学习的是开始一个项目.它可以是任何东西,实现聊天客户端/服务器,unix shell,存储购物清单的简单程序,等等.关键是选择你感兴趣的东西并努力实现它,你会惊讶地发现你在学习过程中学到了多少,并且你不会因为你正在为你做一些有意义的事情而放弃.

基本上,你只会通过阅读学到很多东西.要获得真正的知识,您需要解决实际问题.


Jam*_*win 13

其中大部分通常都很无聊

学习一些有趣的东西,然后其余的就会到位.


Dav*_* V. 7

Peter Norvig对此有一些想法


And*_*and 6

尝试实现一些非平凡的算法.我不知道书中包含哪些例子,但你可能会尝试写

  • 一个algebratic计算器.输入"sin(2)+ 5!*3 ^(1/2)",输出208.755394335.
  • 从头开始的语法高位文本编辑器.
  • 从头开始编写PNG(或任何其他图像或声音格式)编码器/解码器.
  • 编写图像编辑器(例如洪水填充并非完全无关紧要)
  • ...


Sar*_*raz 2

“阅读”并练习所读的内容,这是最好的方法。