程序员应该“精通”一门语言程序语言是我们吃饭的重要工具之一,所谓思想、技能基本少不了这个载体。不要被别人
程序员应该“精通”一门语言
程序语言是我们吃饭的重要工具之一,所谓思想、技能基本少不了这个载体。
不要被别人忽悠“语言只是工具”,除非你干了一二十年,真的看穿本质了。你精通java,学个erlang用不了一周,几个小时知其大概,这个我感觉并不现实,当然,大牛的例子总能找到,就像总有人那一个比尔盖茨来说明上大学没用一样。
每个语言都有一些自己的习惯用法,这个跟语言的文化有关,所以不能把一个语言里的惯用法拿到其他语言里去,因为这个未必成立。c/c++程序员基本都熟悉NULL != pObject之类的用法,也知道这个用法背后的典故(不知道可以参考《c专家编程》),不过由于编译器的改进,这种用法越来越没有必要,你写错了编译器会警告,翻一下sun hotspot jvm的c++代码,其实用的是pObject != NULL 这种用法。c/c++里尚且没有统一规定的惯用法,为啥要拿到java里说事?不熟悉语言,无视语言的精妙之处,很容易写出恶心的代码。典型的:
1.
if(null != object){ }
这个会比if(object != null)直观?你会写错,写错了编译器能通过?
2.if(flag == true){}
if(flag){}怎么了? 有人说为了别人方便看懂? 看到if(flag)还不知道这是个boolean值,这是java程序员?
3.
boolean compare(int a ,int b)
{
if(a < b){
return true;
}
else{
return false;
}
}
想打人,有木有!有木有!
return a < b; 不行啊!
可见,要用java的话,真正学一下还是与好处的。
有时间的话,建议读一下java类库的代码,其实类库就提供了一种非常好的编码规范、惯用法等等。
很多人争论for(int i = 0;i < array.length; i++) 和for(int i = array.length; i > 0; i--)谁快的时候,殊不知类库里的
for(int i = 0,length = array.length; i < length; i++)已经很好了。
当你那两个循环的例子来说明谁快的时候是否考虑了vm在不同情况下的优化,仅仅两个循环计算下时间能说明什么问题啊。
[解决办法]
哈哈 我的沙发
恩 支持楼主的观点
[解决办法]
受教了
[解决办法]
支持楼主观点、
[解决办法]
支持下.........
[解决办法]
顶一下!
[解决办法]
哈哈、、好好 楼主辛苦!
[解决办法]
没错,这就是 隔了一层jvm,一切都有可能
[解决办法]
此贴必火,火速留名
[解决办法]
受教了,谢谢楼主,辛苦了!
[解决办法]
看看...
[解决办法]
进来学习;。
[解决办法]
那是一定的;
[解决办法]
速来学习了
[解决办法]
果断留名
[解决办法]
哈哈,确实,每门语言还是有很多不同的~~
[解决办法]
for(int i = 0,length = array.length; i < length; i++)已经很好了。
数组的话这样写没有必要,如果是集合的话最好这样写,呵呵。
[解决办法]
XT发飙了,
[解决办法]
LZ说得很有道理,的确每种语言都有自己的特色,用一周时间来学精通一门语言是很困难的。
学习还得一步步的走,步子跨大了容易扯着淡。
[解决办法]
[解决办法]null != object object != null
[解决办法]学无止境~
[解决办法]
[解决办法]支持下.........
[解决办法]楼主在散分
[解决办法]return a < b; 不行啊!
[解决办法]return a<b; 有木有;有木有
[解决办法]JAVA类库代码是一定要看的,而且要常看。但是我认为Java语言只是工具,学JAVA的不仅要会写JAVA代码,还要懂得基本原理吧。这时候学习C语言就被提上日程了,当然C语言只是作为辅助,能理解就好。LZ说的那几个用法也没有涉及到JAVA核心的部分,比如像网络编程和NIO等其他高级特性。像LZ这样讲个人感觉有些空泛。
[解决办法][解决办法]很好啊。。。。。
[解决办法]顶楼主!
[解决办法]有道理
[解决办法]楼主很给力
[解决办法]强烈支持
[解决办法]任何行业,谈精通其实也不是很容易的,需要一定的时间和精力去积累学习,
精通固然好,成为一个精通的行家也不容易,程序员也不例外的,
[解决办法]过来帮顶。。楼主说的确实在理。
[解决办法]牛X的人是怎么练成的呢?那就得耐得住寂寞。
[解决办法]顶一下
[解决办法]学习了
[解决办法]学习了
[解决办法]牛X的人是这样炼成嘀!
[解决办法]路过。。。。。。。。。。。。。。。
[解决办法]学习了……
[解决办法]支持下
[解决办法]支持下
[解决办法]来看一看
[解决办法]顶,初学者应该广,然后就应该精通一门。个人看法
[解决办法][解决办法][解决办法]我是来单纯极接分的。
[解决办法] 不错, 顶一个 !
[解决办法]支持LZ观点。
[解决办法]赞成
[解决办法]精通是正道。
[解决办法]------解决方案--------------------
不错~~~
up~~~~~~~~~~~~~~~~~
[解决办法]同感!
[解决办法]路过帮忙顶起~
[解决办法]此贴必火,火速留名
[解决办法][解决办法]有道理!!!
[解决办法]每天回帖即可获得10分可用分!
[解决办法]学海无涯啊。。。
[解决办法]“精通”
[解决办法].NET PHPER 路过留名
[解决办法]学习。
[解决办法]难道这就是传说中的核心竞争力,呵呵
[解决办法]楼主说的很对,总能看到一些人拿null!=object说事,想想都无聊了
[解决办法] 学习。
[解决办法]看来还得好好学习。。。
[解决办法]有道理!
[解决办法]代码出了让计算机读,更重要的是让人读,下面的代码一看就知道那种方法更好了。
A[I] = A[I] + A[T];
A[T] = A[I] - A[T];
A[I] = A[I] - A[T];
temp = A[T];
A[T] = A[I];
A[I] = temp;
还有:程序要能直截了当地说明程序员的用意。
比较下面两段代码,哪一段更好?
for ( i = 1; i <= n; i++ )
for ( j = 1; j <= n; j++ )
V[i][j] = ( i / j ) * ( j / i );
**********************************
for ( i=1; i <= n; i++ )
for ( j=1; j <= n; j++ )
if ( i == j )
V[i][j] = 1;
else
V[i][j] = 0;
[解决办法]支持下,楼主还是有见解的。
[解决办法]虽然不知道楼主在说些什么,但还是觉得楼主很厉害
[解决办法]楼主说的 很对 大牛是少数
[解决办法]编程新人,学习中。
[解决办法]果然犀利啊
[解决办法]确实应该精通,但是从来不敢说精通
[解决办法][解决办法]其实我一点都不懂,有时也看看源代码。都是在需要的时候。
[解决办法][解决办法][解决办法]留下足迹!!!
[解决办法]感觉精通一门语言不是这么精通的
[解决办法]何为"精通"一门语言呢?是熟练掌握那门语言的语法呢?还是熟练掌握那门语言所提供的函数库或类库?楼主的观点我看不如叫如何编写精练易懂的代码更贴切.
个人认为,编程其实使用什么语言并不重要,重要的是编程的思想.
[解决办法]
好贴,有空了拜读下,现在也是在找工作啊。
[解决办法]
[解决办法]楼主也是发表自己的看法,我也发表下我的看法
1.if(null != object),if(object != null) 我不见得比if(null != object)直观,因人而异
2.大公司的代码也并不是最好的,每个人风格不一定都相同。
3.if(flag == true){}
if(flag){}JDK5.x之后,假设flag,为Boolean类类型,那麽定义Boolean flag = null;
当if(flag) {(这里为空语句) },if(flag) {(这里有一句实现) };
当if(flag = null) {(这里为空语句) },if(flag = null) {(这里有一句实现) }
想想会产生什么后果。
很多东西都并不是谁的最好,别人当时那样写,蕴含了当时的想法。
谁都不是一上来就把任何东西考虑周到,写得牛X。
[解决办法]楼主right,学习了!
[解决办法]来过了
[解决办法]顶楼主!!!
不过个人感觉题目是否太大了??
[解决办法]盖楼接分,学习很累
[解决办法]顶一个