|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2006-10-22
我这里用实际例子说话,希望程序代码不会吓退各位观众。
功能要求:读取当前目录下所有txt文件的内容并显示 php: foreach(glob("*.txt") as $f) {print file_get_contents($f);}
ruby: Dir["*.txt"].each {|f| puts File.open(f).read}
两者都简洁漂亮,干净利索。并且可以看出,ruby使用OO的语法,依然保持了简洁的风格(和java冗长的风格形成鲜明对比,而最新的php5不幸的感染了java的坏毛病,其类名关键字等等复杂臃肿)。 当初没选择java,就是因为java向我"问好"的时候,把我吓住了: java: public class Hello{
public static void main(String []argc){
System.out.println("Hello Word!");
}
}
很难设想"public static void main String"这样的东西是给人读的(分明是给机器读的嘛) “长的丑不是你的错,出来吓人就是你的不对了。”这句话可以用来描述我心目中Java的模样。 我对java不熟悉,不敢继续批判。哪个javaFans要是愿意,给大家一个类似实现看看,也让我学习学习,如何用java来处理上面的类似功能:) 你也可以把java代码写成一行,然后我们来比比谁的代码短. 所以我现在感觉ruby真是棒极了。不过,实际中依然在用PHP。所以虽然ruby很美妙,但。。。耐心等待吧 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2006-10-22
帮我写一个二分法排序算法吧。
|
|
| 返回顶楼 | |
|
时间:2006-10-22
楼主。 你那个“Hello world!”打错了吧。。打成“hello word!”可不好。。。
本来java就是要解决代码不规范问题。。 你写成一行看着是短,简洁。自己看着乐了。。 等你写一个大项目。。然后丢给后一个接手的时候。。。 天知道看到那一团东西会作何感想。。。 熟练的java程序员在看那一大坨东西的时候。。 他也不会逐字逐句的去研究每一个“public static void mian string” 他只不过就是扫过p s v m等熟悉的不能再熟悉的字头。。。 扫过System.out.println(" 把注意力集中到Hello World 上去。。 选择ruby的原因绝不是因为java需要打太多的字。。。 个人意见php是挺可怕的。虽然有些时候方便。 ruby的话。。它对于java程序员实际上是非常友好的。。 如果有脚本编程的经验。那么还是比较容易学习的。。 学习语言的目的在于提高生产效率。。。 比比谁的代码短这种孩子气的想法挺无聊的。 其实我觉得。java的多样化有时候让人觉得有点过了。 重复造轮子的问题。寻找好轮子的问题。如何把好轮子装上车 的问题烦都要烦死了。。 快速开发成熟应用。不妨也来RoR一把。。 |
|
| 返回顶楼 | |
|
时间:2006-10-22
汗,真的错了。是world不是word
但有意思的是,java那段演示代码是我在网上搜索然后copy过来的,因为我记不住它们(绝对不是因为我记性差 来源:http://bbs.it.com.cn/ShowPost.aspx?ForumID=75&TopicID=55185 |
|
| 返回顶楼 | |
|
时间:2006-10-22
另外,实际情况是,我没选择Java就是因为java需要打太多的字。
|
|
| 返回顶楼 | |
|
时间:2006-10-22
中文早上问好:早.
英文早上问好:morning. 日语早上问好:おはよう 读起来中文最短.所以我最喜欢中文 :) 俺也是PHP粉丝.只是现在时间所限,暂时没功夫学ruby啊~~~~ |
|
| 返回顶楼 | |
|
时间:2006-10-22
Godlikeme 写道 帮我写一个二分法排序算法吧。 怎么没人回应?
|
|
| 返回顶楼 | |
|
时间:2006-10-22
Godlikeme 写道 Godlikeme 写道 帮我写一个二分法排序算法吧。 怎么没人回应?
class Binary_Search {
public int binary_search(int[] a, int n, int v)
{
int low, high, mid;
low = 0;
high = n - 1;
while (low <= high) {
mid = (low + high) / 2;
if (v < a[mid]) {
high = mid - 1;
} else if (v > a[mid]) {
low = mid + 1;
} else {
return mid;
}
}
return -1;
}
}
int binary_search(int a[], int n, int v)
{
int low, high, mid;
low = 0;
high = n - 1;
while (low <= high) {
mid = (low + high) / 2;
if (v < a[mid]) {
high = mid - 1;
} else if (v > a[mid]) {
low = mid + 1;
} else {
return mid;
}
}
return -1;
}
function binary_search(array $a, $v)
{
$n = count($a);
$v = intval($v);
$low = 0;
$high = $n - 1;
while ($low <= $high) {
$mid = intval(($low + $high) / 2);
if ($v < $a[$mid]) {
$high = $mid - 1;
} else if ($v > $a[$mid]) {
$low = $mid + 1;
} else {
return $mid;
}
}
return -1;
}
|
|
| 返回顶楼 | |
|
时间:2006-10-22
这个。。。是二分法查找。。。
我说的是二分法排序:S 不过也可以说明点问题。 |
|
| 返回顶楼 | |
|
时间:2006-10-22
在来个binary_tree_traverse怎么样,
|
|
| 返回顶楼 | |








