Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4558428
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: C/C++

2015-01-02 16:28:07

C语言需要掌握上千个编程技巧,才能有一些编程思路去写一些程序;
而python只要上百个编程技巧就能写很多程序了。

比如获取[-80, 20)之间的随机数:
Python:
  1. import random; random.randrange(-80, 20)
C:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>

  4. int main()
  5. {
  6.     int max = 20, min = -80;
  7.     srandom( (unsigned)time(NULL) );
  8.     long rand = random();

  9.     /* 2 different methods to generate [-80, 20) */
  10.     float i = (float)rand / (RAND_MAX + 1.0) * (max - min) + min; //rational number
  11.     int j = rand % (max - min + 1) + min; // integer
  12.     printf("%f, %d\n", i, j);
  13.     return 0;
  14. }
直到有一天,发明了好的工具箱,情况有所改善。
  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. int randint(int start, int end)
  10. {
  11.     /* generate random integer in [start, end] */
  12.     return randrange(start, end+1);
  13. }



所以说,C语言学习曲线比Python陡峭,需要记住更多的技巧,实现一个想法和阅读一段代码花的时间都要更长。相同的工作年限,C语言掌握的整体编程架构和理论体系方面会比Python少很多。对于高手来说同样适用。把C替换成C++ 道理一样成立。
阅读(10582) | 评论(11) | 转发(3) |
给主人留下些什么吧!~~

czqwust2015-01-12 17:21:14

这个各有各的优势吧!

hue25502015-01-11 21:42:44

python能写linux驱动吗?一个脚本语言能和C比?

thy_shenzhen2015-01-11 20:50:49

一个是面向过程的,一个面向对象,一个静态,一个动态,一个完整的,系统的基础的开发语言,一个简化的依赖C处理器的语言,还要列吗?

forgaoqiang2015-01-10 18:26:21

wojiaohesen:完全不赞同你的说法.我做了4年C代码开发,不是C++. 现在又做了3年python开发. 当你碰到非常困难的问题的时候, 用python开发所花的气力一点不比C少. 

比方说: python遇到内存泄露的问题的时候, 该如何处理. python的线程模型的优劣.

恩 赞同你的观点 根本不是一个层次的东西 感觉作者说的有一个前提 就是使用C和Python同时做web开发的时候可能成立 
C更倾向于做比较底层的处理

回复 | 举报

wojiaohesen2015-01-10 15:08:11

完全不赞同你的说法.我做了4年C代码开发,不是C++. 现在又做了3年python开发. 当你碰到非常困难的问题的时候, 用python开发所花的气力一点不比C少. 

比方说: python遇到内存泄露的问题的时候, 该如何处理. python的线程模型的优劣.