免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 60555 | 回复: 105
打印 上一主题 下一主题

Python技术应用调查--您在用Python改造世界么?!(获奖名单已公布-2012-8-29) [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-24 18:00 |只看该作者 |倒序浏览

获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-3768102-1-1.html

2012年4月6日的Linux基金会合作者峰会上,来自黑鸭软件的Rich Sands发布一项内容十分周详的调查报告,题为”Open Source By The Numbers“
PPT下载: opensourcebythenumbers-richsands-lfcs2012-120406121249-phpapp01.pptx (1.07 MB, 下载次数: 307) ),
在看过他的这个slide之后,我们不难发现,当今开源社区项目中,最活跃的编程语言仍然是C/C++,跟随其后的是Java,Python,JavaScript等编程语言,如下图所示:


    从上图可见,圆饼图左下方的淡蓝色扇形区域代表的就是Python编程语言。该调查报告的最后结论是:”New live projects trending towards Python, PHP, JavaScript and away from C-family languages“,意思是说,新的活跃的开源项目都是倾向于(trending towards)使用Python,PHP与JavaScript等编程语言,而远离(away from)C编程语言大家族。

那么您为什么使用Python呢?您使用Python最主要的用途在哪个方面?

本期话题:
1、您使用Python最主要的用途在哪个方面?(投票选出)
2、说说您在工作中使用Python语言给您带来的一些具体优势。
3、面对目前的各种竞争,Python语言的出路何在?

本期嘉宾:
ChinaUnix社区Python版资深版主:smallfish_xy
ChinaUnix社区Python版资深版主:ning_lianjie

活动时间:
2012年7月25日-8月15日

话题要求:
1、 要言之有物,不能低于30个字
2、 本次话题主要关注Python的相关技术和问题讨论,其他问题可能不做重点

奖项设置:
最佳交流奖:1名,奖励ChinaUnix背包一个。
积极交流奖:4名,奖励《Python标准库》图书一本
参与奖:所有有效参与的用户奖励ChinaUnix社区积分20分

奖品简介:

原书名: The Python Standard Library by Example
原出版社: Pearson Education
作者: (美)Doug Hellmann
出版社:机械工业出版社
出版日期:2012 年5月

图书简介:
《python标准库》由资深python专家亲自执笔,python语言的核心开发人员作序推荐,权威性毋庸置疑。

    对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案,所以本书是所有python程序员都必备的工具 书!本书以案例驱动的方式讲解了标准库中一百多个模块的使用方法(如何工作)和工作原理(为什么要这样工作),比标准库的官方文档更容易理解(一个简单的 示例比一份手册文档更有帮助),为python程序员熟练掌握和使用这些模块提供了绝佳指导。

    《python标准库》一共19章,系统而全面地对python标准库中的一百多个模块进行了生动的讲解。这些模块主要包括:文本处理工具模块、与数据结 构相关的模块、与算法有关的模块、管理日期和时间值的模块、用于数学计算的模块、管理文件系统的模块、用于数据存储与交换的模块、用于数据压缩与归档的模 块、用于加密的模块、与进程和线程相关的模块、与网络通信和email相关的模块、构建模块、支持处理多种自然语言和文化设置的模块、开发工具模块、与运 行时特性相关的模块,等等。

欢迎参与投票,欢迎跟帖发表您的更多看法和见解:)
多选投票: ( 最多可选 2 项 ), 共有 284 人参与投票
您所在的用户组没有投票权限

论坛徽章:
0
2 [报告]
发表于 2012-07-24 19:44 |只看该作者
本人是学生物信息的,Python在生物信息学中有良好的应用。
其具体优势体现在以下几个方面:

1,Python的学习曲线很好。对于没有接触编程的人能很快上手,对有编程经验的人更是容易写。
    Python代码的阅读性好,学习别人写的Python,像在读一本小说一样流畅,这一点是别的语言比不了的。
2,Python的数据结构特别适合生物信息。比如Python的序列用于生物序列的分析是得天独厚的,其字典功能的强大更不用说了。
   Python的面向对象很好,能很容易把生物信息学中的数据对象化。
3,Python有诸多的软件包支持,扩展性很好。除了有广泛的计算机科学的软件支持外,生物信息学中需要的许多模块有Biopython,pygr支持,
还有matplotlib,networkx,scipy等科学计算、研究中强大的软件包支持,python是一种很好的胶水语言,与R有rpy的接口,能提供很好的统计学支持。
4,Python同样支持正则表达式,使得它在文本处理方面,能力不比perl差。

但是在生物信息的应用中,我对Python还是有两个问题的困扰,希望高手能对Python在这些方面的发展,提供一下意见:
1,Python与其他语言的接口问题。Python如何能调用以前用其他语言,特别是perl语言的API,这个应用在生物信息中非常有用,
因为旧的生物信息学的API都是由perl写的,Python调用perl的API很有必要。以前我用过一段pyperl,但是它已经没有人维护了,其稳定性较差,
也不能适应新的Python和perl的版本。这个问题,现在还没有解决。
2,Python代码的保护问题。有时程序员想保护自己的源码,这在C,java等编译语言中不是问题,perl变成的可执行程序很小。但是py2exe把一个小程序
会加很多链接包,用起来不是很爽。这个问题也许高手们有解决方案,这里洗耳恭听。

对于Python的竞争优势和发展,在生物信息学中,很多新入门者已经从这里开始了,并正在为Python在生物信息学中的应用做着事情。
由于Python在Web等其他领域的优势和其强大的扩展功能,个人觉得它已经并一定可以取代Perl在生物信息中的地位。

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
3 [报告]
发表于 2012-07-25 12:13 |只看该作者
2、说说您在工作中使用Python语言给您带来的一些具体优势。
自己在Python这块主要是做脚本语言,做一些小工具,方便工作
通常的工作用shell就可以完成,但是shell过于闲散的结构让我在接触其他语言的代码的是否非常不适应;
而Python对函数、对象有很好的支持,作为脚本语言既可以完成工作,有可以保持其他语言类似的结构,
这点让人用起来很舒服
Python的缩进,是个人最初很不适应的,但是习惯之后是感觉非常舒服的。语言结构上支持缩进,对于
代码的可读性是非常有利的
相对Perl,Python没有上下文的概念,这就少了歧义,便于代码的阅读和理解。曾经想Perl/Python都学
一下,不久后就放弃Perl了:Perl有段时间不接触,基本的语法都得翻书去找,这点很让人头疼
Python有比较丰富的模块支持,这样可以方便完成很多工作;平时的工作,Python都可以胜任了

3、面对目前的各种竞争,Python语言的出路何在?
对于出路,个人觉得有些开源项目竞赛最好,但是这种竞赛需要区分,比如学生组、工作组,这样让学生
有机会获奖,在Python的道路上得到激励。将来学生进入社会,也会把Python更好的推广开来
另外,需要一些项目负责人来推广,比较项目的开发中使用哪些工具、语言,他们是有决定权的;有他们的
支持,Python会得到比较好的推广

论坛徽章:
0
4 [报告]
发表于 2012-07-25 18:10 |只看该作者
1、在linux运维工作中,python用来做:脚本开发和运维自动化工具,同时偶尔学习python web开发领域。
2、工作时有的服务处理,需要命令操作,但用python编写脚本自动化处理,更给工作带来的方便;
   ide:IDLE、ulipad、Eclipse+pydev、Eric
   这些环境都操作过,个人感觉基础学习使用:IDLE;有一定基础可以选择Eclipse+pydev;如果需GUI 开发,选择Eric。
  注意:对中文输出:IDLE、Eric、Eclipse+pydev 在代码首行中包含:-*- coding: utf-8 -*- 都可以正常输出
        ulipad 缺少中文输出兼容性
  以上测试使用的是:Debian 6 + python 2.6.6

  工作需要:linux系统自动备份:用到了python开发:一则:考虑python开发效果和可读性,同时也便于技术交流;二则:跨平台特点,公司windows 、linux服务器都有,python开发移植性强。

3、语言各有优缺点:python优势大家都知道,多语言选择,语言有其适应开发项目环境。
   目前ruby语言,网上资料显示比python可读性更强,但作为运维,python更好;再者目前RHEL/Centos 6.3 默认也安装python2.6.6,系统中的维护和配置工具也是python开发,用python能更好的和系统交互。
   希望,python在推广和性能更好;学习资源更多;大型项目的开发,必然有其更好工具的配合!

论坛徽章:
0
5 [报告]
发表于 2012-07-26 00:11 |只看该作者
2、说说您在工作中使用Python语言给您带来的一些具体优势。
  我的工作内容很杂,有系统管理、WEB开发,有时候还要对单位的各种应用系统做扩展,有时候还要写向个小的GUI程序,系统管理包括windows、linux和FreeBSD。
  之前WEB开发一直用php,因为用习惯了php,系统管理脚本有时候也用php写,但是毕竟这不是PHP的强项,后来PHP出了各种WEB开发框架,不仅有各种框架哪个比较好之争,还有PHP应不应该用框架之争,这一点让我很不爽(个人态度问题)。加上各种应用系统的开发语言又不一样,虽然学一门语言很容易,但是要把他用精是要靠时间来积累的,我不想分散我的精力,为每一种应用都去学一门语言,所以我需要找一个跨平台,易于做系统管理,易于做WEB开发,易于为各种语言写的应用系统做扩展开发,而且开发周期还要快,因为有时候大量重复性工作我想通过简单的写几行代码就代替我几个小时不停的点鼠标和敲键盘,所以我选择了python。
  使用她,我不用为每项工作都使用另一门编程语言,而且写的小程序可以打包成exe进行分发,为我日常的系统管理、网络管理和开发带来了极大的方便。

3、面对目前的各种竞争,Python语言的出路何在?
  这个题目太大,真不好说。因为Python的用途实在太广泛了。
  首先,从系统管理方面来说,在类Unix系统中,python的主要竞争对手是shell和perl,就我个人的理解,perl比起python来,有点日渐势微,而shell对各种类Unix系统因为天生集成,所以如果有高手写一个语法类似python的shell(可以取个名字叫psh或者pysh),我想python大行其道的日子不会很远。在Windows方面,由于windows完全由微软控制,现在又出了个power shell,所以很难说呀,只能期望python社区能出现几个好用的windows管理方面的第三方库了。
  其次,在天朝,E文好的人确实不多,尤其是一些新手,如果能成立一个组织对python的各种文档进行翻译,我想普及起来会很快的,必竟python功能很强大,而且上手非常容易。
  最后,希望有一个好的Python开发工具,不一定要IDE,只要有代码着色、代码提示(包括自己编写模块)、自动缩进(就像IDLE一样,backspace能一次删除到上一级的位置)就行,当然能有断点调试更好了。当然这个工具启动和反应速度一定要快并且免费的。这些都是新手非常喜欢而且在意的功能,虽然很多高手都能自己设置vim或者emacs来配置,但是为python阵营吸收更多新鲜血液不是更重要吗?在没有一个这样的工具之前,能有一个仿IDLE的vim插件放出来也是不错的。

个人的一点粗浅看法,欢迎拍砖

论坛徽章:
3
卯兔
日期:2013-08-15 13:17:31处女座
日期:2014-01-10 11:35:23双子座
日期:2014-01-25 02:16:06
6 [报告]
发表于 2012-07-26 19:35 |只看该作者
刚想问Objective-C在哪,然后仔细一看,原来这里说的是开源项目,还好,自己多读了下内容 。这是否从反面说明了苹果对开源不怎么友好呢。C#怎么说还有一个Mono在哪里。

言归正传,自己也投了票,是科学计算。但是从结果来看,系统管理和Web开发还是占大头的。可能与我接触的人群有关吧。我接触的Python开发朋友中,大多数都是Web开发,少数科学计算。但是想一想,这里是ChinaUnix。所以系统管理的票数多,也就自然了。

Python能吸引我的,就是他的繁多的库的接口和语言的简洁。就我目前接触的科学计算的库中,C++能用的,那么就会有一个Python的接口。现在写的图像处理的程序,总体上是用C++写的。但我会用Python验证下逻辑上是否正确,然后再用C++实现(我的笨方法,让大家见笑了)。而Python突出的那些优点,相信大家在接触这门语言的时候就应该有些了解了。

就Python的未来,我想应该还是撼动不了C/C++、Java的地位吧,可能是这是因为语言的定位问题。而在脚本语言中,从TOIBE的排名来看,已经算是不错的了。Python的速度也是一个瓶颈,虽然说大部分人不用考虑这个速度问题。但这终究是一个制约Python更上一步的地方。比如当我要逐个像素访问一幅图像进行处理的时候,就会感觉这个瓶颈的制约,所以不得不用C++写。为了省去接口的麻烦,还有学习成本和团队的考虑,索性就全C++写了。当然,这是在做科学计算方面。在Web和运维上,这种制约应该还不大。有些资料上不是说Python损失的速度还比不上网络的延迟吗。(获取某天,PyPy会兴起呢)

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
7 [报告]
发表于 2012-08-02 15:06 |只看该作者
本帖最后由 fengyun530 于 2012-08-02 15:38 编辑
fengyun530 发表于 2012-07-30 14:39
2、说说您在工作中使用Python语言给您带来的一些具体优势。
python在所有linux发行版都有带python,可以直 ...


    在WEB领域python虽然有一定优势,但是也有明显的缺点,比如开源成熟框架没有PHP多,比较出名的有python语言写的开源web开发框架django。而PHP却有非常多的开源框架,有用过的都知道,很多拿来直接就能用。无论是哪种开源框架和系统,都远不及PHP,WEB里比较出名的开源系统DISCUZ、DEDECMS等,有PHP, C#版本的,甚至有JSP的,唯独没有python版本的,这也许是PHP在这领域更广的原因之一。

    虽然不少python的书籍会介绍,python在功能上强于php,甚至有取代的趋势,但事实是python在91年就有第一个版本了,但是在WEB上却输给了95年才发布的PHP,从这点可见PHP在这方面的独到之处!其实到现在我也没能明白为什么在功能和语言历史上都占优势的python始终没能在WEB领域超过PHP! 我个人分析,也许因为PHP更接近ASP,在使用习惯、开源框架等方面,综合当时的市场环境和推广等因素,python虽然历史更久,但是总感觉它是一个害羞的孩子,总是时隐时现,只能在很少的领域看到他的身影!
   
    python将来如果能在开源框架上有更完善和更多的选择,随着市场环境需求的更加多元化,市场对其使用率提升,并加以一定力度推广,那么python的前景应该不只局限于某些领域的工具语言,而是成为一种大类语言!

论坛徽章:
0
8
发表于 2012-08-03 14:19
我是在搜索引擎公司做开发测试的,以前国外大学做过一段时间测试算法的学术研究,对于线上的应用我本人不太了解,但是从测试的角度讲我觉得python作为一种辅助语言还是很顺手的,原因有几点:1.开发效率高,我们在项目中不关心自己的脚本或者工具是否有代码保护,以及高并发等性能问题,我们关心最多的是开发脚本的效率,以及实现功能的难易程度。python具有强大的第三方类库,而且可以引用java和c的类库,大大提高了开发效率和可测性。2.容易上手、可读性强,相对于perl和ruby来讲,python的可读性及语义性相对来讲比较高,这样对于新人来讲也比较好上手。3.格式规整,在中国大部分测试工程师代码能力比较差,如果是协作编码的话有些人的代码习惯实在让人头疼,python强制要求格式一定程度上避免了这个问题。4.执行效率,尽管我们的线下环境和线上相比,数据的处理量相对小很多,但是为了测试需要,如性能和覆盖率,我们也需要对于大数据量的数据进行分析和处理,python的运行效率也是可以让人满意的。

至于python的出路,我觉得这个不是很好说,一个产品有时候也是会随着社会的经济流向而决定命运的。不过我认为python的应用领域比较广,比如科学计算、web站点、系统管理等等,所以还是比较乐观的。

论坛徽章:
0
9 [报告]
发表于 2012-08-09 10:32 |只看该作者
日常使用:
主要是做一些日常管理,比如日志转移打包清理,数据清理,FTP,数据库维护等,也兼写一些粗略的web页面作原型,与开发人员沟通会更顺畅。

特点对比(个人观点):
一直感觉shell脚本好像总是有很多的意外,让我感觉有失控的感觉,用python就踏实的多,所以工作中能用python替代shell脚本的就尽量用。
老早接触过perl,也用来写过一些脚本,脚本语言的最大的特色是带了丰富的库,这点perl和python都是一样的。

期望改进:
运行性能优化,包括虚拟机占用资源和运行效率,这个经常被诟病,虽然很多场合对性能要求不高,运行的再快点,还是能拓宽使用领域,不要求能达到C/C++级别,但应该还可以更快些。
并发和并行能力,尽管有了Multiprocessing这样强大的包,还是可以做的更好一些。

论坛徽章:
29
技术图书徽章
日期:2013-09-02 19:59:502015元宵节徽章
日期:2015-03-06 15:51:332015小元宵徽章
日期:2015-03-06 15:57:20操作系统版块每日发帖之星
日期:2015-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17操作系统版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之水原三星
日期:2015-10-30 00:06:07数据库技术版块每日发帖之星
日期:2015-12-24 06:20:0015-16赛季CBA联赛之上海
日期:2016-01-07 10:32:07操作系统版块每日发帖之星
日期:2016-01-08 06:20:00操作系统版块每日发帖之星
日期:2016-05-18 06:20:00IT运维版块每日发帖之星
日期:2016-07-23 06:20:00
10 [报告]
发表于 2012-07-24 23:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
11 [报告]
发表于 2012-07-25 08:36 |只看该作者
本书是所有python程序员都必备的工具
个人 目前不使用python

论坛徽章:
1
处女座
日期:2014-03-07 18:33:50
12 [报告]
发表于 2012-07-25 10:54 |只看该作者
python在工作的优势我个人觉得最大体现在开发效率上,用python不管你是搞一个web service还是写个什么管理脚本,都能很快搞定,其一是python学习成本比较低,其二是python的库太丰富了,你一般情况下不是轮子不用造,你车子都不用造,只要会开就ok了。还有可以说你用其他语言能搞的,python都能很快很简单的搞。你要说python效率不高,你可以用c/c++写个扩展,跟进一步你可以优化解释器,优化字节码。
python的未来其实还是与社区的息息相关,社区活跃,python就不死,并且个人觉得python应该重点发展某个方面优势,比如说我们投票那几项,其实系统管理&脚本语言,首先想到的是shell和perl,web开发现在最流行的ROR(还可以看看这个链接http://bbs.chinaunix.net/thread-3760939-1-1.html),科学计算这个很难说,但python绝对不是绝对的主流吧,企业开发,看看国内都是JAVA、C++吧。所以python应该主力发展一个优势分支,这样也会牵动python整体吧。

关于2L说的问题,cpython可以写C/C++扩展,并且还有jpython、ironpython等,我个人觉得还是很ok。保护源码方面,python也可以编译成pyc,你可以把pyc做一层加密,给你目标用户一个密钥,这当然是个很一般的方法,并且我想说的是open source个人更推崇。

论坛徽章:
0
13 [报告]
发表于 2012-07-25 11:44 |只看该作者
2、说说您在工作中使用Python语言给您带来的一些具体优势。
     本人是搞嵌入式的,但是也负责简单维护公司的linux文件服务器,使用python主要是管理一些文件(查找的)
3、面对目前的各种竞争,Python语言的出路何在?
     使用python做服务器维护,感觉挺方便的。不知道在处理windows上,是否像脚本一样好用;

论坛徽章:
0
14 [报告]
发表于 2012-07-25 11:44 |只看该作者
2、说说您在工作中使用Python语言给您带来的一些具体优势。
     本人是搞嵌入式的,但是也负责简单维护公司的linux文件服务器,使用python主要是管理一些文件(查找的)
3、面对目前的各种竞争,Python语言的出路何在?
     使用python做服务器维护,感觉挺方便的。不知道在处理windows上,是否像脚本一样好用;

论坛徽章:
0
15 [报告]
发表于 2012-07-25 12:09 |只看该作者

.

本帖最后由 foxwb 于 2012-07-25 19:06 编辑

说不出什么很高深的理由,反正就是喜欢用Python,目前主要用于原型开发,科学计算以及一些系统调试. 如果Python在移动设备里能大显身手就更好了

论坛徽章:
0
16 [报告]
发表于 2012-07-25 12:41 |只看该作者
1. 使用python提供的 SimpleHttpServer共享文件
  使用python做十六进制到十进制的转换

2.优势:
linux发行版内置python
python库多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP