C语言需要掌握上千个编程技巧,才能有一些编程思路去写一些程序; 而python只要上百个编程技巧就能写很多程序了。
比如获取[-80, 20)之间的随机数: Python:
1. import random; random.randrange(-80, 20) C:
1. #include
5. int main() 6. {
7. int max = 20, min = -80;
8. srandom( (unsigned)time(NULL) ); 9. long rand = random(); 10.
11. /* 2 different methods to generate [-80, 20) */ 12. float i = (float)rand / (RAND_MAX + 1.0) * (max - min) + min; //rational number
13. int j = rand % (max - min + 1) + min; // integer 14. printf(\, i, j); 15. return 0; 16.}
直到有一天,发明了好的工具箱,情况有所改善。 1. #include
2. int randrange(int start, int end) 3. {
4. if(start > end) { raise(SIGFPE); }
5. /* generate random integer in [start, end) */ 6. srandom( (unsigned)time(NULL) );
7. return random() % (end - start + 1) + start; 8. }
9.
10.int randint(int start, int end) 11.{
12. /* generate random integer in [start, end] */ 13. return randrange(start, end+1); 14.}
所以说,C语言学习曲线比Python陡峭,需要记住更多的技巧,实现一个想法和阅读一段代码花的时间都要更长。相同的工作年限,C语言掌握的整体编程架构和理论体系方面会比Python少很多。对于高手来说同样适用。把C替换成C++ 道理一样成立。
C语言与Python 对程序员的差别到底在哪?



