记得我第1次学编程语言,是本科时的C语言选修课程,当时的感觉是编程真的好繁杂,什么指针、断言、动态分配等各样概念,完全搞不懂啊。后来哼哧哼哧考了个七十多分,算是过关了。
后来晓得C是偏硬件的编程语言,重点的用途是系统研发、嵌入式研发,因此我迄今亦无用过C语言,后来做数据工作,起始接触Python、R,觉得和C完全不同样,有太多的轮子能够用。
近期在知乎上看到一个问题,说python不比C简单,不排除这是个钓鱼贴。
高赞的几个回答,还是蛮有趣,暗讽的比较多。基本意思是提问者属于小白,压根不晓得C的难度。
但某种道理上,这个问题其实是值得讨论的。
针对95%以上的人来讲,Python比C要简单非常多,但针对另一5%深度运用Python的人来讲,Python用起来可能会比C更繁杂。
为何呢?先瞧瞧Python和C语言的差异。
前面说过,C语言偏硬件编程,代码更加底层,Python相比C语言进行了封装和简化,类似windows和Linux的感觉。
Python把C语言中非常多繁杂、晦涩、冗长的功能概念都进行封装简化,例如数据类型、内存管理、错误处理等,本来C语言必须几十行代码能实现的功能,Python几行代码就搞定。
一样的打印hello word,python只需一行代码。 print("Hello, World!")
C语言必须五六行 #include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
很显著看出来python对函数和数据类型都进行了封装和简化处理,让代码更加容易编写和阅读。
另一,Python持有海量的内置库和第三方库,调用起来非常方便,不必须程序员自己重新造轮子,这亦是引起在绝大部分需求上,Python会比C简单非常多。
那又为何针对深度运用python的人来讲,python可能又会比C语言更加难呢?
这一样是由于python的封装和简化引起了难,双刃剑的两面性。
首当其冲的是python的低效问题,由于python高级语言特性,牺牲了速度,不像C必须那样更接近硬件层面。
因此运用python研发繁杂项目,必然要优化性能,例如CPython等,这会繁杂非常多。
其次,因为python把非常多底层细节隐匿封装起来,倘若你想进行更深度的研发,会比较困难,代码的守护和质量亦更难管理。
因此你会看到C语言写的软件能稳定运行几十年没问题,非常多大型软件亦是C研发的。
但python在这块就比较劣势,例如研发性能密集型应用、实时性应用、高并发应用,就必须更加多的时间去科研,并不像C那样方便稳定。
总的来讲,C语言肯定比Python更艰深晦涩,但想要把Python用的炉火纯青,不见得会比C简单。
|