网络编程:Python与C对于完全初学者的比较

6 投票
9 回答
9396 浏览
提问于 2025-04-15 16:56

我在找一些建议,朋友推荐我来这个网站。

我主要对网络编程感兴趣。我已经读了很多相关的书籍,也做了一些实验,对大部分协议的机制都有所了解。现在我想开始写代码。我读了一些关于Python的入门资料,也掌握得不错。刚开始玩Python模块的时候,我在本地的用户组会议上遇到了一位声望很高的人,他告诉我,虽然以后学Python很简单,但C语言是我必须掌握的,特别是考虑到我对网络编程的兴趣。我查了一下资料,觉得他说的有道理。所以我现在已经学习《K&R》这本书四周了。虽然这本书没有让我感到害怕,但我进展得非常慢,可能这也是我有点懈怠的原因。我发这个帖子是因为我现在有点担心。我总是在想,如果我用Python,现在就可以开始做一些项目了。我知道Python不会教我一些低级的东西,比如内存管理等等,但我在C语言上的进展实在是太慢了。

问题是:我应该继续在C语言上挣扎,写一些能运行的代码,还是换到Python上,那里我会轻松一些?学了高级语言会不会让我太依赖,以后再回到C语言就很困难?

9 个回答

5

根据你想要在网络技术的哪个层面工作,C语言可能是必不可少的,也可能只是有点用,或者根本不相关。如果你觉得先学C语言让你失去了动力,那就没问题,回去学Python,先取得一些成功,这样能给你带来动力——你可以以后再来学C语言。先学简单的语言,再学难的语言,这是一种很自然的学习过程!比如,麻省理工学院在一些“编程入门”课程中使用Python,但这并不妨碍学生在后面的课程中学习更难的语言,比如C语言(甚至更难的C++!)。

9

这要看你做网络编程的目的是什么。如果性能很重要,具体情况还得测试一下,但如果负载比较大,你可能会选择用C语言。

如果对速度要求不高,我推荐用Python,因为它更容易上手,出错的机会也少,因为它是高级语言。Python还有很多很棒的库,可以帮助你进行网络编程和其他编程任务。

既然你是新手,这里有一些可能对你有帮助的链接:

还有一些书籍推荐:

最后,给你推荐一些有趣的Python相关漫画:

17

直接用Python吧。这样你可以使用和C语言一样的底层网络接口,但不需要同时学习指针和内存管理这些复杂的东西。

等你发现Python的速度不够快时,可以把一些部分用C语言重写。但一开始不要这样做。

撰写回答