论坛首页 编程语言技术论坛

从实际工作需要与经历说说我选择PYTHON的原因(附相关源代码)

浏览 39917 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-05-04  
Hooopo 写道

这的确是ruby代码,,lz那如果不标明是ruby还真认不出来。。。

冏,Ruby代码也不会挂个牌 

duker 写道
已经有权威的测试数据说明python 是所有动态语言中最快的..
现在django已经成熟了.作为快速web开发是一个不错的选择..

------------------------------- 
程序员代码管理 
http://mysharecode.appspot.com/
gwt中使用flash
http://code.google.com/p/gwt-flash-bridge/


注意:我没有尝试比较过 Python 与 Ruby,孰优孰劣,每个人都有自己适合的选择 

PS: 更多情况下技术其实什么也不决定,现在你就是用C开发个快一万倍的twitter,也不会让Google来收购你
快速实现,再改进才是最重要的,要不 Twitter 现在那有时间来骂 Rails 可扩展性不好……
0 请登录后投票
   发表时间:2009-05-04   最后修改:2009-05-04
    呃,辛苦,辛苦,看了运行了你的代码,我承认你对RUBY的了解比我多,RUBY代码写得比我高效,不过你的程序已经几乎抛弃了程序对数据的逻辑判断处理,纯粹就是写数据的程序,当然加上那些逻辑应该也影响不到什么速度了,呵,反正这里只讨论性能...

    不过我个人还是比较注重程序可读性,而且你改进过的RUBY和现有的PYTHON代码还是有差距,当然这个差距没有我原来认为的那么大了,呵,也就是网上评论的2到3倍(测试数据50万),有时间我也仔细看看书查下资料,希望能将这个程序的PYTHON版本性能改进得更好.
  
    不过我贴的代码146行之前也就是前2步,做的都是比较简单的字符串操作,差距还是蛮大的啊,再研究吧...

    通过这次发帖,我的认识是对这些脚本语言的新特性还是了解得不够,还是按以前的常规思路来写程序,几乎等于没有学到什么新的东西,换汤不换药而已,以后要改正.

     呵,前面我也说了,程序写得不够高效,那我更要选个能让不够高效的程序跑得快的语言了(嗯,继续学习,希望以后不再轻发妄言,惭愧,惭愧)...

    这次讨论谢谢WHOSMVP,谢谢大家的参与,封帖,也就不改什么了,看到算是对自己的警醒吧...
0 请登录后投票
   发表时间:2009-05-04  
如果lua算动态语言的话,他的测试比python要快。
3 请登录后投票
   发表时间:2009-05-04   最后修改:2009-05-04
学过一阵python。

看完整本dive into python还是不知所以然,感觉这个语言有够奇怪,和OZ有的一拼,就是一个为了别人有xx所以我也要有xx的大杂烩。

事实证明,不碰python是对的,python也火不了,google再怎么忽悠也无济于事,所以现在app engine只能灰溜溜的回头支持java了。

python不是未来,大家不要在这个上面浪费时间了。
0 请登录后投票
   发表时间:2009-05-04   最后修改:2009-05-04
xukong 写道
    呃,辛苦,辛苦,看了运行了你的代码,我承认你对RUBY的了解比我多,RUBY代码写得比我高效,不过你的程序已经几乎抛弃了程序对数据的逻辑判断处理,纯粹就是写数据的程序,当然加上那些逻辑应该也影响不到什么速度了,呵,反正这里只讨论性能...

    不过我个人还是比较注重程序可读性,而且你改进过的RUBY和现有的PYTHON代码还是有差距,当然这个差距没有我原来认为的那么大了,呵,也就是网上评论的2到3倍(测试数据50万),有时间我也仔细看看书查下资料,希望能将这个程序的PYTHON版本性能改进得更好.
  
    不过我贴的代码146行之前也就是前2步,做的都是比较简单的字符串操作,差距还是蛮大的啊,再研究吧...

    通过这次发帖,我的认识是对这些脚本语言的新特性还是了解得不够,还是按以前的常规思路来写程序,几乎等于没有学到什么新的东西,换汤不换药而已,以后要改正.

     呵,前面我也说了,程序写得不够高效,那我更要选个能让不够高效的程序跑得快的语言了(嗯,继续学习,希望以后不再轻发妄言,惭愧,惭愧)...

    这次讨论谢谢WHOSMVP,谢谢大家的参与,封帖,也就不改什么了,看到算是对自己的警醒吧...


关于逻辑问题,我觉得下面帖子里的代码优化,可以说明一点点问题。不是if else多,逻辑就清晰的。
动态语言的逻辑跟Java那种逻辑,不能一概而论。
http://www.iteye.com/topic/247944
0 请登录后投票
   发表时间:2009-05-05  
楼主如果说成“从实际工作经历说说我选择Ruby的原因”,估计又得有个Python界的wosmvp跳出来“打压”一下了——你小子多少斤两,竟敢这么嚣张。
不过,热爱技术的人多少都会有些傲气,很正常,理解。
感谢楼主的分享精神和“牺牲”精神。
0 请登录后投票
   发表时间:2009-05-05  
xiaolin0105 写道
学过一阵python。

看完整本dive into python还是不知所以然,感觉这个语言有够奇怪,和OZ有的一拼,就是一个为了别人有xx所以我也要有xx的大杂烩。

事实证明,不碰python是对的,python也火不了,google再怎么忽悠也无济于事,所以现在app engine只能灰溜溜的回头支持java了。

python不是未来,大家不要在这个上面浪费时间了。


呵 这位同学这时候跳出来张牙舞爪了 事实证明还是有差距而已 我不太在乎性能 解决问题就好 别人可不一定这么看 按需选择就好 Py用的人多了去 难到只有你是聪明人 看透了未来?
也不存在牺牲 我写的代码确实没有 怎么说呢 也许可说是 没有不同语言的味道 没有发挥不同语言的优势而已 比如用C 不用指针?呵…
0 请登录后投票
   发表时间:2009-05-05   最后修改:2009-05-05
Xorcerer 写道
xukong 写道
    呃,辛苦,辛苦,看了运行了你的代码,我承认你对RUBY的了解比我多,RUBY代码写得比我高效,不过你的程序已经几乎抛弃了程序对数据的逻辑判断处理,纯粹就是写数据的程序,当然加上那些逻辑应该也影响不到什么速度了,呵,反正这里只讨论性能...

    不过我个人还是比较注重程序可读性,而且你改进过的RUBY和现有的PYTHON代码还是有差距,当然这个差距没有我原来认为的那么大了,呵,也就是网上评论的2到3倍(测试数据50万),有时间我也仔细看看书查下资料,希望能将这个程序的PYTHON版本性能改进得更好.
  
    不过我贴的代码146行之前也就是前2步,做的都是比较简单的字符串操作,差距还是蛮大的啊,再研究吧...

    通过这次发帖,我的认识是对这些脚本语言的新特性还是了解得不够,还是按以前的常规思路来写程序,几乎等于没有学到什么新的东西,换汤不换药而已,以后要改正.

     呵,前面我也说了,程序写得不够高效,那我更要选个能让不够高效的程序跑得快的语言了(嗯,继续学习,希望以后不再轻发妄言,惭愧,惭愧)...

    这次讨论谢谢WHOSMVP,谢谢大家的参与,封帖,也就不改什么了,看到算是对自己的警醒吧...


关于逻辑问题,我觉得下面帖子里的代码优化,可以说明一点点问题。不是if else多,逻辑就清晰的。
动态语言的逻辑跟Java那种逻辑,不能一概而论。
http://www.iteye.com/topic/247944


帖子看了 这个我觉得是语句技巧问题了 如果需要写出一句话解决一些问题的方法 自然有人去钻研 我个人觉得 和逻辑没多大关系 比如这个例子中的逻辑就是解析一个个Url然后下栽 用一条语句还是多条语句实现 实现的都是这个逻辑 你的最后句话我没太明白处理逻辑会不一样 可以先下载再一条条解析Url?
0 请登录后投票
   发表时间:2009-05-05  
pipilu 写道
楼主如果说成“从实际工作经历说说我选择Ruby的原因”,估计又得有个Python界的wosmvp跳出来“打压”一下了——你小子多少斤两,竟敢这么嚣张。
不过,热爱技术的人多少都会有些傲气,很正常,理解。
感谢楼主的分享精神和“牺牲”精神。


    也不存在什么打压,自己确实没有发挥RUBY的性能(虽然更多的实际问题的解决不会只用到这么简单的代码),只讨论性能,最后差异从我认为的5:50降到5:13,没有我误以为的那么大,改正误解就行了,呵...
0 请登录后投票
   发表时间:2009-05-05   最后修改:2009-05-05
性能再升差不多一倍吧,
一百万数据速度达到5秒内,发现着实以我目前能力达不到…… 呼唤高手
status_file   = File.open('status.csv')
wait_file     = File.open('wait-status.csv')
@status       = {}
send_num      = '00000000'
receive_num   = '00000000'
send_data     = []
receive_data  = []

status_file.map do |x|
  @status[$1] = 'UNDELI' if x !~ /^(\d+),DELI/
end

wait_file.map do |x|
  time = x[64,2].sub(/^-/,'0') + x[67,2] + x[69,2].sub(/^ /,'0') + x[72,2]+ x[75,2]
  if x[0].chr == '3'
    send_data   << "#{time}08515#{send_num.succ!}\t00\t#{x[22,11]}\t#{x[34,11]}\t0\t#{@status[x[2,19]] || 'DELI'}\t0\t#{x[56,3]}\t085101\t15\t108511\t13800851500\t2008#{time}\t2008#{time}\n"
  else
    receive_data << "#{time}08515#{receive_num.succ!}\t00\t#{x[22,11]}\t#{x[34,11]}\t0\t#{@status[x[-12,10]] || 'DELI'}\t0\t#{x[56,3]}\t085101\t\t\t108511\t13800851500\t2008#{time}\t2008#{time}\n"
  end
end

File.open('GMO','w') { |x| x << send_data    }
File.open('GMT','w') { |x| x << receive_data }
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics