主题:庆祝Python跃居世界第四程序语言 -- 空格
http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html
感觉PY将是动态语言中的C.
PHP基本上就只适合web service.
是这个公司内部用的,用了20多年,积攒了几千万行代码,喜欢不喜欢都得接着用。
raw_input的修改最碰到痒处。每次调试程序时都会怀念perl的一对尖括号。呵呵。。。
input,print这两个常用函数用得较多。
PY是89年开发的,而Unicode是91年才发布,Javascript是96年开发所以内核就是unicode编码原生支持。而PY到了3.0版本才是unicode内核,不过就与2.x及更老版本对字符串上处理存在兼容性了。
不过经过py3k这次痛苦转型,py的路更宽了应该有更好发展。
不会是同事吧?对这个语言您怎么评价?
可惜没有福气作您的同事,离得太远,资质也缺了点。
slang是很好的语言,设计大巧若愚,切中应用的要害,简单灵活,可靠性高,开发调试发布速度快,是大公司内部应用的典范。在世界上相似应用中现阶段绝对是顶尖的,在5年内可能只有一家有希望与之匹敌,5年后能预见到的也只有两三家。这倒不是说重复或赶超在术上有什么大不了的障碍,而是因为,
1 计算技术的更新对公司业务的推进只有在大公司才有显著效果,小公司的动机不足
2 大公司里往往已经有可用的系统,不管成熟与否,易用与否,至少在用,对更新系统没有迫切要求。而新系统,投资大,收效慢,风险高,初始决策困难,即使上马,一有风吹草动,下马可能性很大。
3 传统上IT部门在大公司内部是花钱的,所以公司高层决策很难真正
理解计算技术对业务的革命性作用。深刻理解信息整合可以产生效益,从而把计算技术当作效益部门的没有几个,系统更新不常有高层持续坚定地支持。即使支持,因为不懂技术,高层也很难把业务需求转化为技术指标,而选择合适的技术干部来实施,并指引正确的合乎业务需求的技术方向。
4在IT部门内,系统更新往往意味着人员,利益的大洗牌,内部阻力会很大,新系统的实施者可能要花大部分的精力处理内耗。
5 实施者多半是新人,在公司内部的权威不足,对公司业务不熟悉,技术出生的背景往往会纯技术,过渡设计,造成进度落后,使用复杂,最终偏离初衷。
太跑题了,回到slang,这是一个设计因用比较符合我的理想的东西,那就是,就势论势,紧扣主题,把应用置于高于专注所谓"技术的先进上"的考量之上,不过分设计,注重灵活性,易用性,易维护性,把高级特色基于语言函数库来扩展。虽然有人讥笑它是爷爷代的语言,可是做得事比整天言必c++,java, oop, database 的公司多得多,系统的稳定性比整天设计模式,测试驱动编程,软件工程的公司好的多。无他,只是因为,系统原始,几乎所有的开发人员都可以掌握系统的具体实现,解决问题的周期快的惊人,系统灵活性好,设计层次少,语言鼓励模块化,调试可以直趋问题。因为程序几乎全由可控制变量构成,调式时控制好,容易隔离问题,可以采用可控错误驱动的调试方式。(有利有弊,这牺牲了内存和效率,但由于应用需要这也无妨,再有缓存的存在,在实际因用中效率比很多c++写的系统高)。看过一些对它的负面评价,感觉说的人都不太懂。
我对它主要的意见是,语言独此一家,没有社区支持,造成许多业界成熟的技术也要内部自己实现,支持。造成维护成本高,技术进步缓慢,迟早会被人赶上。原来还在奇怪它为什么不选责一个成熟的开源脚本语言,可看了你的话"20年,几千万行代码"才恍然大悟,它开始时还没有"成熟语言",现在又积重难返了。不禁又对当初的开发者的敬仰多了几分,对你们公司的远见卓识有了更深的理解。20多年还没有人赶上,这世界上可能独此一家吧。
从03年开始自己学习Python,还为Python在中国的应用推广做过很多宣传活动。那个时候要在项目中应用python还是有点压力的,现在才几年时间,已经成为主流了。
不过我现在更偏好 Common Lisp,打算把它当成下半辈子用的语言。
C应该还能熬很久,python有望超越C++上升到第三.
java估计混不长了,蟒蛇努力哟争取替代java的地位~
想说两句c++为什么会衰落,c++的卖点在于有Oop支持的c,即又有c效率并且可以简单链接c-底层系统语言,而且可以oop.可是,oop的几大要点中除了封装(只是流程化编程中模块化思想的语法糖支持)外,其余的精髓就是动态,要么编译中的动态,如重载,模版,要么是运行中的动态,如虚函数。问题是,用静态语言实现动态本身先天不足,是反人类大脑的,所以厚厚一本书教的全是扭曲的想法,所谓oop思惟,以及由此而来的错用,错误都是语言的原罪。可是动态语言把问题返回了原始状态,一切都很正常,只要语言用的舒服往往是c++里费力提倡的oop思想。就我的情况,本身愚笨所以在第一遍读设计模式时往往不懂,后来用了一段动态语言,又因为最近在构架一个系统,在选遍程语言,所以又看了一下各个系统的实现及技术文件中声称的设计模试,并且从新百度了各个设计模式及例程,才发现绝大多数就是在动态编程里自然而然用了很久的东西。所以只要我们不太在乎运行效率,或更好的用效率相当的动态语言,c++,java可以休矣。
不会C++/java,纯感觉上这两个语言太繁琐,本身体系的复杂导致开发的复杂,结果是其复杂性抵消了其优势。
个人愚见,以后静态语言倚天剑是C,动态语言屠龙刀是python :p
C++在桌面GUI应用方面较多,后台服务程序也挺多,Java也在服务领域应用广泛。
Python目前运行速度比C++和Java还是要慢些,如果能去除GIL并且把性能提高一个层次,则机会就要大了。