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

时间:2010-12-12 16:29:07

标签: java c

Where should a veteran C programmer start in order to master Java?的风格,我问你相反的问题。我在Java和编程方面有很多经验,但是我想拿一些C(对于一些我对黑客感兴趣的项目)。是否有针对具有先前CS背景的人量身定制的“快速和肮脏”指南?我更喜欢免费的在线资源,但感谢任何建议。

4 个答案:

答案 0 :(得分:6)

很久以前,Joel Spolsky宣称C编程对all software developers至关重要。在那篇文章中,他引用了Kernighan and Ritchie书,这本书是历史上经典的C书。然而,在使用那本书教授C编程之后,这对于休闲学生来说是一种拖累。

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

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

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

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

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

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

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

答案 1 :(得分:0)

虽然对于经验丰富的开发人员来说可能只是基本的一点,但我找到了K.N.的“C Programming - A Modern Approach”。国王相当不错。这是对语言和您需要的一些关键库的温和而全面的介绍。我读了这本书的第一版;提供的链接适用于第二版。

答案 2 :(得分:0)

首先安装LinuxGCC,然后安装good tutorial

答案 3 :(得分:0)

虽然一开始会非常介绍,但请阅读K&R并进行示例练习。一段时间后它们变得非常具有挑战性,并且会让您很好地掌握与Java不同的C指针,结构和其他方面。每个练习的解决方案都可以在网上找到。

另请参阅Stanford youtube讲座,了解他们的课程CS107,Programming Paradigms。所有讲座均可提供online,以及作业和其他课程材料。