Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4586824
  • 博文数量: 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++ 道理一样成立。
阅读(10607) | 评论(11) | 转发(3) |
给主人留下些什么吧!~~

eli9602015-03-01 14:19:41

没有框架或基础库,都差不多!
做小型项目,python好一点.
做大型项目没什么差别.比如做个淘宝网.工作量差不多.

cherrypi2015-02-24 14:51:40

哥说各有理。好。

牛仔的88号外接手2015-02-24 11:07:45

负责任的说一句,C是一切高级语言的基础,这就好比爹和儿子,也许儿子未来青出于蓝而胜于蓝,但是没有爹,他都不会在这个世界上出现,所以有什么差别,不用我多说了吧~!

laoliulaoliu2015-01-13 15:37:37

每种语言都有其适用的场景。
我这里没说清楚,其实我应该说当我用XX语言时,我在如何思考,以及思考什么。

laoliulaoliu2015-01-13 15:32:03

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

忽然感觉我很标题党,我大概是想表达这个意思。
当用python时,思考的内容跟语言本身关系不大,细节也不多,可以直接从业务相关的部分入手处理问题。

回复 | 举报