我只使用C 5年。 所以我确信我知道C语法,但我不知道如何提高编程技巧。
现代语言(如C ++,Java)有很多书籍可以用来研究编程技巧,如重构或模式,软件架构。但没有一本书是用C语言写的。 书的作者说他/她的书不依赖于语言,但我不这么认为。
如何提升编程技巧?我必须学习现代语言并阅读书籍? 是否有关于用C语言编写的软件设计或编程技巧的书籍?
答案 0 :(得分:4)
我不相信任何只知道一种编程语言(无论是哪种语言)的人应该能够称自己为程序员。您应该尽量使用尽可能多的语言来成为熟悉的(如果您愿意,可以在一两个中“专门化”)但是将自己局限于一个只会让自己成为一种伤害,IMO
所以出去学习Java,C#,Lisp,Haskell,Python,Perl,Lua,SQL,Javascript ......可能性列表是无穷无尽的,真的。
答案 1 :(得分:3)
使用C(acm.uva.es)尝试一些ACM编程竞赛问题。尝试编码数据结构并以最大效率为目标 - 意味着最少使用资源来实现目标。
答案 2 :(得分:2)
关于“高级”C编程的一本优秀书籍是Peter van der Linden的Expert C Programming。
你甚至会得到一个有趣的采访故事的附录:)!
答案 3 :(得分:1)
您的目标似乎是:
如何提升编程技巧?
然而,你只是要求非常具体的东西:
但是没有用C语言写的书
在我看来,最重要的编程技巧是与语言无关的。
我想建议您除了C以外的其他可能性。
为什么你只限于C?如果答案是因为你已经花了5年时间,那么让我感觉更好,说那些不是浪费的岁月。
是否有关于用C编写的软件设计或编程技巧的书籍?
我强烈建议您在几年内问自己想成为软件开发人员的位置,然后发布一个新问题,询问如何那里描述那里是。根据您的具体需求,我们可以帮助您指导正确的方向。
此外,C ++和Java也不被认为是最现代的语言。
答案 4 :(得分:1)
我在C上找到的一本非常好的书(通过Stack Overflow)是Expert C,它深入研究了C语言的真实细节。话虽如此,如果你对学习通用编程技术(而不仅仅是高级C)感兴趣,我建议学习另一种语言,比如Python或Java,因为它更容易掌握算法,数据结构等概念,和更高级语言的设计模式。
答案 5 :(得分:1)
我建议像Linux内核代码一样自己阅读任何操作系统代码,并从应用程序到硬件一直跟踪。这样你不仅可以了解在各个层中使用的不同数据类型和模式。软件以及它们的实现方式。 RGDS, 软质皮
答案 6 :(得分:0)
如果你想在仍然接近c的情况下前进,可能会尝试使用c ++和python或ruby。
这应该会给你一些不同的编程角度。更高级的语言提供数据结构和算法,因此您不必像在c中那样担心实现它们。这意味着您可以专注于解决问题而不是布线链接列表或实现排序。
有许多关于编程的有趣书籍,你必须看过'编程语言'一书。浏览网页,了解有关软件开发的博客。
如果您知道要关注哪个域,请尝试创建自己的应用程序。
顺便说一下5年没关系,你应该能够从零开始,最终得到功能齐全的软件。
正如其他人建议尝试一些在线编码竞赛或寻找示例问题并尝试实施它们。
由于您在这里,请查看http://www.joelonsoftware.com/
答案 7 :(得分:0)
我认为你必须根据自己的想法编写一些项目,或者你可以从互联网上获取帮助,这可以提高你的编程水平。
答案 8 :(得分:0)
即使您是“硬件设备和固件开发人员”,学习其他语言和工具也非常有用。阅读有关GNU Automake或CMake等不同构建工具,自动单元测试和实用编程将帮助您在仅使用C时继续进行并仍然有用。