gpt4 book ai didi

java - C for Java 程序员?

转载 作者:IT老高 更新时间:2023-10-28 12:58:33 27 4
gpt4 key购买 nike

Possible Duplicate:
Should I learn C before learning C++?

作为一名专业 (Java) 程序员和重度 Linux 用户,我觉得学习一些 C 语言是我的责任(尽管我可能永远不会专业地使用它),只是为了让我成为一个更好的程序员。

两个问题:

  1. 我应该先尝试 C 还是 C++ - 我意识到它们是不同的语言,有一些共同点。两者都学一点有用,还是只尝试一个?我听说 C++ 有点像一门语言的噩梦。

  2. 对于像我这样的 Java 开发人员来说,什么是最好的资源(书籍、教程、练习程序、引用代码)。

谢谢

最佳答案

C 易学难精。作为一名 Java 程序员,障碍将是内存和结构 .. 并消除 Java 可能对生成大脑部分的算法造成的损害;)

我建议您通过 Internet 上的教程熟悉 Linux 机器上的 GCC 工具链。然后阅读The C Programming Language ,以及 Linux Application Development 的拷贝不疼。此外,在 Linux 上 glib将使您免于重新发明轮子……但至少尝试创建自己的链表、 HashMap 、图形和其他 API 来学习。指针算术、数组和学习诸如结构之类的元素只是二进制 block 中的命名偏移量都很重要。花时间使用 mallocfree 以及 memcheck。使用 C,您的工具和工具链非常重要,IDE 不一定是您学习的 friend 。

我会选择 C ​​而不是 C++,因为 C 是习惯 C 的内存管理和指针使用的良好基础。

你能做的最好的事情就是应用你学到的东西到一个真正的项目中。但请准备好在 Valgrind 中将头撞到墙上。和 GDB .我已经 C 编程多年了,我仍然不是 C 和尚。

我同意 C 是一门很棒的语言,它显示出一个糟糕的程序员。但请记住:

Any sufficiently complicated C program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

其中的寓意是也学习其他语言,而不仅仅是 C 派生的语言!考虑一些 Lisp 方言、Erlang(目前很酷)、Haskell 等。它们将从 Java 的 2x2 单元扩展您的视野。考虑查看SICP也是。

关于java - C for Java 程序员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538477/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com