资深Java程序员应该从哪里开始才能掌握C?

Elr*_*iss 10 c java

为了掌握Java,一个资深的C程序员应该哪里开始?我问你相反的问题.我在Java和编程方面有很多经验,但是我想拿一些C(对于一些我对黑客感兴趣的项目).是否有针对具有先前CS背景的人量身定制的"快速和肮脏"指南?我更喜欢免费的在线资源,但感谢任何建议.

Bob*_*oss 6

很久以前,Joel Spolsky宣称C编程对所有软件开发人员都至关重要.在那篇文章中,他引用了Kernighan和Ritchie的书,这本书是历史上经典的C书.然而,在使用该书教授C编程之后,这对于休闲学生来说是一种拖累.

也就是说,如果你已经熟悉Java,那不是你.

即便如此,这本书值得一读.如果不出意外,我会在图书馆寻找它.

本教程有点过时(特别是与ANSI C相比)但是,如果您正在寻找语法上最快的刷新,那就不是很糟糕了.

给出一些基本语法(对您来说非常熟悉),您应该能够直接进入C库.无论如何,这就是你需要的大部分实际功能.我认为你会发现"掌握"C所需的大部分材料实际上都在那些支持库中.

为了完整性,如果您需要实际的编译器:

在我的日常工作中,我的开发环境分为Linux(Fedora 14)和Windows 7.在这两种情况下,当我需要编写C代码时,我会使用gcc.虽然gcc是Fedora安装中公认的标准,但在Windows端你需要MinGWCygwin,其中任何一个都可以给你gcc.

如果我还在教授C编程,我建议将一些上述组合用于高级自主学生.

  • @mu,我不会认为C比任何其他语言更多或更少地握住你的手.我知道我对C编程(即指针管理)与Java并发问题的心理形象是,至少C向你展示了它持有的刀并说"不要弄乱那个指针,否则我会刺伤你".Java倾向于让你为自己设置时间炸弹,以便当你发现死锁导致代码数周,数月或数年后,这是一个令人兴奋的*惊喜!*;-) (2认同)