» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[电脑] Python真的是超简单的语言啊,初学者入门比Basic和C强太多了

引用:
原帖由 比卡丘 于 2008-4-19 14:19 发表
你还没保存呢:D 变量不需要声明吗
解释型的一般都不用事先声明,而且一般都是弱类型。


TOP

python写起来过于严格
ruby写起来太过随意.

这是我的感觉
没有最高的语言,只有最合适与用的最熟悉的语言



TOP

然后会觉得的非常浮渣


TOP

脚本的那种变量类型其实有时候反而容易坏事,写多了就觉得这样太随意了很不踏实。不过脚本非常容易调试,对初学者来说是很大的优点

其实我所掌握的语言中最优雅精简的是arm汇编,而且一定是arm这类risc的指令,不能是x86类的cisc。32位risc短短一条32位对齐的指令里能做好几件事,十分内涵,充分发挥流水线效率;cisc的非等长指令就庸俗得多了。还有一直想不通C语言里为什么没有swp或xchg这样的instruction,汇编里明明是现成的

TOP

想知道汇编里循环是怎么实现的

TOP

汇编里是用jump、branch来实现循环的,判断状态寄存器的值来跳转

顺便说下,C里面的goto虽然用来做循环是很操蛋,但goto并非一无是处,恰恰相反这是一种很有效率的编码风格,在C里用goto的无一例外都是老手,因为新手通常被告知goto是禁用的

[ 本帖最后由 henvelleng 于 2008-4-20 02:37 编辑 ]

TOP

goto 会导致可读性变差
编程语言越往上走,对程序可读性的要求越高,性能由编译器解决
汇编和C自己用感觉很爽,一切尽在掌握,如果要去读别人写的程序,还是特长那种,就有点头大了

TOP

引用:
原帖由 henvelleng 于 2008-4-20 02:31 发表
汇编里是用jump、branch来实现循环的,判断状态寄存器的值来跳转

顺便说下,C里面的goto虽然用来做循环是很操蛋,但goto并非一无是处,恰恰相反这是一种很有效率的编码风格,在C里用goto的无一例外都是老手,因为 ...
和新老没关系,和程序的复杂度有关,再厉害的c程序员也不会在return exit就够用的地方用goto

TOP

不过基本上新手和老手编程基本面都是矛盾的
对新手的要求:规范,有可读性
可你去看看linux里那些老手写的程序,有几个是规范的,有可读性的
所以我觉得老手就是能写出别人看不懂的程序,自己当了几年的程序员也有这种困惑,就是总觉得自己写的程序太易懂,不内涵

TOP

引用:
原帖由 henvelleng 于 2008-4-20 02:03 发表
还有一直想不通C语言里为什么没有swp或xchg这样的instruction,汇编里明明是现成的
_byteswap还是有的,会在X86上会直接编译成bswap:D

TOP

只有在不在乎性能的应用层,性能才由编译器来决定,底层的东西全部都要自己掌握,包括最基本的库函数,绝不可能去用glibc这种加了N层防呆设计的东西,必要时连malloc都要自己重写。汇编这种东西在绝大部分使用场合并不是出于执行效率的考虑,而是C无法接触到CPU内部的寄存器,或是栈根本还没有建立

代码可读性个人认为90%取决于coder的水平,当然前提是阅读代码的人本身要有起码的架构常识。goto的问题是破坏程序结构,但是用得好,反而可以提高代码可读性,linux kernel里多得是goto,什么东西都不能一棍子打死的

TOP

代码可读性主要体现在结构和思想上面,诚然很多老手不喜欢写注释是有装B之嫌,但是这不影响其代码本身的优美

TOP

很多开源的代码写得是很差很业余的,这是开源的一个很大的弊病,不要以为写得人真有多牛B,我看根本就是业余爱好者写的,甚至是一路调试凑出来的代码毫无逻辑可言。说道老手装B,确实还有一种,那就是用很生僻的语法,比如##之类

TOP

引用:
原帖由 limboking 于 2008-4-19 21:54 发表
Ruby最高~~~~:D
ruby最高。
tempDat=Iconv.new("UTF8", "GBK".iconv(IO.read('filename.txt'))

TOP

java 程序的性能进化很大程度上是通过 jvm 的进化来实现的

开源界的程度可读性差,在我看来是因为压力不够和能力差距过大的原因
举个例子,在微软这样的公司,如果有人离职,剩下的工作必然是要交接的,如果程序可读性不好,严重影响工作进度,所以一开始进入公司就强调开发规范。同时,能进微软在一定程度上也说明了你的能力;
而开源界呢,首先,能力差就不能为开源程序贡献一点东西吗?其次,假如大家能力都很强,每个人都有自己的习惯,凭什么规范要向你看齐?开源产品又不发工资的,帮忙做出来就已经很给面子了,拼得也是 bug 的多少。

其实现在软件行业已经分化了,追求性能的人一般有两种,第一种是本身做的东西就是很强调速度的,比如硬件;第二种是做的东西是核心一块的,参与人员并不多,比如 Google 的核心算法。一旦人员多了,沟通耽误的时间将远远大于开发时间。

VISTA 之所以慢,并不是微软无能,而是项目实在太大了,所以对可读性的要求远远高于对性能的追求,如果只是优化原有的 Win95 ,相信运行速度只会比原来快

TOP

发新话题
     
官方公众号及微博